# HG changeset patch # User duke # Date 1499265914 -7200 # Node ID 41bd0a702bc8ec6feebd725a63e7c3227f82ab11 # Parent b144aadaeb0ddc66fd10a3c62bb570928da63e93# Parent 7157899b7d327e930cab8daa0e3dd896d761671e Merge diff -r 7157899b7d32 -r 41bd0a702bc8 .hgtags-top-repo --- a/.hgtags-top-repo Wed Jul 05 16:44:40 2017 +0200 +++ b/.hgtags-top-repo Wed Jul 05 16:45:14 2017 +0200 @@ -16,3 +16,4 @@ ab523b49de1fc73fefe6855ce1e0349bdbd7af29 jdk7-b39 44be42de6693063fb191989bf0e188de2fa51e7c jdk7-b40 541bdc5ad32fc33255944d0a044ad992f3d915e8 jdk7-b41 +94052b87287303527125026fe4b2698cf867ea83 jdk7-b42 diff -r 7157899b7d32 -r 41bd0a702bc8 corba/.hgtags --- a/corba/.hgtags Wed Jul 05 16:44:40 2017 +0200 +++ b/corba/.hgtags Wed Jul 05 16:45:14 2017 +0200 @@ -16,3 +16,4 @@ 55078b6661e286e90387d1d9950bd865f5cc436e jdk7-b39 184e21992f47a8d730df1adc5b21a108f3125489 jdk7-b40 c90eeda9594ed2983403e2049aed8d503126c62e jdk7-b41 +ccd6a16502e0650d91d85c4b86be05cbcd461a87 jdk7-b42 diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/.hgtags --- a/hotspot/.hgtags Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/.hgtags Wed Jul 05 16:45:14 2017 +0200 @@ -16,3 +16,4 @@ 49ca90d77f34571b0757ebfcb8a7848ef2696b88 jdk7-b39 81a0cbe3b28460ce836109934ece03db7afaf9cc jdk7-b40 f9d938ede1960d18cb7cf23c645b026519c1a678 jdk7-b41 +ad8c8ca4ab0f4c86e74c061958f44a8f4a930f2c jdk7-b42 diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/make/hotspot_version --- a/hotspot/make/hotspot_version Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/make/hotspot_version Wed Jul 05 16:45:14 2017 +0200 @@ -35,7 +35,7 @@ HS_MAJOR_VER=14 HS_MINOR_VER=0 -HS_BUILD_NUMBER=09 +HS_BUILD_NUMBER=10 JDK_MAJOR_VER=1 JDK_MINOR_VER=7 diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/make/linux/adlc_updater --- a/hotspot/make/linux/adlc_updater Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/make/linux/adlc_updater Wed Jul 05 16:45:14 2017 +0200 @@ -7,5 +7,13 @@ # # adlc-updater # -[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \ -( [ -f $3/$1 ]; echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) +fix_lines() { + # repair bare #line directives in $1 to refer to $2 + awk < $1 > $1+ ' + /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next} + {print} + ' F2=$2 + mv $1+ $1 +} +[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \ +( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/make/linux/makefiles/adlc.make --- a/hotspot/make/linux/makefiles/adlc.make Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/make/linux/makefiles/adlc.make Wed Jul 05 16:45:14 2017 +0200 @@ -54,9 +54,11 @@ Src_Dirs_I = ${Src_Dirs} $(GENERATED) INCLUDES += $(Src_Dirs_I:%=-I%) +# set flags for adlc compilation +CPPFLAGS = $(SYSDEFS) $(INCLUDES) + # Force assertions on. -SYSDEFS += -DASSERT -CPPFLAGS = $(SYSDEFS) $(INCLUDES) +CPPFLAGS += -DASSERT # CFLAGS_WARN holds compiler options to suppress/enable warnings. # Suppress warnings (for now) @@ -125,7 +127,15 @@ # Note that product files are updated via "mv", which is atomic. TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$) -ADLCFLAGS = -q -T +# Pass -D flags into ADLC. +ADLCFLAGS += $(SYSDEFS) + +# Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO. +ADLCFLAGS += -q -T + +# Normally, debugging is done directly on the ad_*.cpp files. +# But -g will put #line directives in those files pointing back to .ad. +#ADLCFLAGS += -g ifdef LP64 ADLCFLAGS += -D_LP64 @@ -140,6 +150,8 @@ # ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS) ADLC_UPDATER = adlc_updater +$(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER) + $(QUIETLY) cp $< $@; chmod +x $@ # This action refreshes all generated adlc files simultaneously. # The way it works is this: @@ -149,9 +161,8 @@ # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files. # 5) If we actually updated any files, echo a notice. # -refresh_adfiles: $(EXEC) $(SOURCE.AD) +refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER) @rm -rf $(TEMPDIR); mkdir $(TEMPDIR) - $(QUIETLY) [ -f $(ADLC_UPDATER) ] || ( cp $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER) . ; chmod +x $(ADLC_UPDATER) ) $(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \ -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \ || { rm -rf $(TEMPDIR); exit 1; } @@ -174,7 +185,15 @@ # ######################################################################### $(SOURCE.AD): $(SOURCES.AD) - $(QUIETLY) cat $(SOURCES.AD) > $(SOURCE.AD) + $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD) + +#PROCESS_AD_FILES = cat +# Pass through #line directives, in case user enables -g option above: +PROCESS_AD_FILES = awk '{ \ + if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \ + if (need_lineno && $$0 !~ /\/\//) \ + { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \ + print }' $(OUTDIR)/%.o: %.cpp @echo Compiling $< diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/make/solaris/adlc_updater --- a/hotspot/make/solaris/adlc_updater Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/make/solaris/adlc_updater Wed Jul 05 16:45:14 2017 +0200 @@ -7,5 +7,13 @@ # # adlc-updater # -[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \ -( [ -f $3/$1 ]; echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) +fix_lines() { + # repair bare #line directives in $1 to refer to $2 + awk < $1 > $1+ ' + /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next} + {print} + ' F2=$2 + mv $1+ $1 +} +[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \ +( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/make/solaris/makefiles/adlc.make --- a/hotspot/make/solaris/makefiles/adlc.make Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/make/solaris/makefiles/adlc.make Wed Jul 05 16:45:14 2017 +0200 @@ -54,9 +54,11 @@ Src_Dirs_I = ${Src_Dirs} $(GENERATED) INCLUDES += $(Src_Dirs_I:%=-I%) +# set flags for adlc compilation +CPPFLAGS = $(SYSDEFS) $(INCLUDES) + # Force assertions on. -SYSDEFS += -DASSERT -CPPFLAGS = $(SYSDEFS) $(INCLUDES) +CPPFLAGS += -DASSERT ifndef USE_GCC # We need libCstd.so for adlc @@ -141,7 +143,15 @@ # Note that product files are updated via "mv", which is atomic. TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$) -ADLCFLAGS = -q -T +# Pass -D flags into ADLC. +ADLCFLAGS += $(SYSDEFS) + +# Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO. +ADLCFLAGS += -q -T + +# Normally, debugging is done directly on the ad_*.cpp files. +# But -g will put #line directives in those files pointing back to .ad. +#ADLCFLAGS += -g ifdef LP64 ADLCFLAGS += -D_LP64 @@ -156,6 +166,8 @@ # ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS) ADLC_UPDATER = adlc_updater +$(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER) + $(QUIETLY) cp $< $@; chmod +x $@ # This action refreshes all generated adlc files simultaneously. # The way it works is this: @@ -165,9 +177,8 @@ # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files. # 5) If we actually updated any files, echo a notice. # -refresh_adfiles: $(EXEC) $(SOURCE.AD) +refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER) @rm -rf $(TEMPDIR); mkdir $(TEMPDIR) - $(QUIETLY) [ -f $(ADLC_UPDATER) ] || ( cp $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER) . ; chmod +x $(ADLC_UPDATER) ) $(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \ -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \ || { rm -rf $(TEMPDIR); exit 1; } @@ -190,7 +201,15 @@ # ######################################################################### $(SOURCE.AD): $(SOURCES.AD) - $(QUIETLY) cat $(SOURCES.AD) > $(SOURCE.AD) + $(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD) + +#PROCESS_AD_FILES = cat +# Pass through #line directives, in case user enables -g option above: +PROCESS_AD_FILES = awk '{ \ + if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \ + if (need_lineno && $$0 !~ /\/\//) \ + { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \ + print }' $(OUTDIR)/%.o: %.cpp @echo Compiling $< diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/os/linux/vm/os_linux.cpp --- a/hotspot/src/os/linux/vm/os_linux.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/os/linux/vm/os_linux.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -2500,7 +2500,7 @@ } bool os::unguard_memory(char* addr, size_t size) { - return linux_mprotect(addr, size, PROT_READ|PROT_WRITE|PROT_EXEC); + return linux_mprotect(addr, size, PROT_READ|PROT_WRITE); } // Large page support diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/os/solaris/vm/os_solaris.cpp --- a/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -1638,16 +1638,24 @@ // getTimeNanos is guaranteed to not move backward on Solaris inline hrtime_t getTimeNanos() { if (VM_Version::supports_cx8()) { - bool retry = false; - hrtime_t newtime = gethrtime(); - hrtime_t oldmaxtime = max_hrtime; - hrtime_t retmaxtime = oldmaxtime; - while ((newtime > retmaxtime) && (retry == false || retmaxtime != oldmaxtime)) { - oldmaxtime = retmaxtime; - retmaxtime = Atomic::cmpxchg(newtime, (volatile jlong *)&max_hrtime, oldmaxtime); - retry = true; - } - return (newtime > retmaxtime) ? newtime : retmaxtime; + const hrtime_t now = gethrtime(); + const hrtime_t prev = max_hrtime; + if (now <= prev) return prev; // same or retrograde time; + const hrtime_t obsv = Atomic::cmpxchg(now, (volatile jlong*)&max_hrtime, prev); + assert(obsv >= prev, "invariant"); // Monotonicity + // If the CAS succeeded then we're done and return "now". + // If the CAS failed and the observed value "obs" is >= now then + // we should return "obs". If the CAS failed and now > obs > prv then + // some other thread raced this thread and installed a new value, in which case + // we could either (a) retry the entire operation, (b) retry trying to install now + // or (c) just return obs. We use (c). No loop is required although in some cases + // we might discard a higher "now" value in deference to a slightly lower but freshly + // installed obs value. That's entirely benign -- it admits no new orderings compared + // to (a) or (b) -- and greatly reduces coherence traffic. + // We might also condition (c) on the magnitude of the delta between obs and now. + // Avoiding excessive CAS operations to hot RW locations is critical. + // See http://blogs.sun.com/dave/entry/cas_and_cache_trivia_invalidate + return (prev == obsv) ? now : obsv ; } else { return oldgetTimeNanos(); } @@ -3026,6 +3034,8 @@ // Protect memory (Used to pass readonly pages through // JNI GetArrayElements with empty arrays.) +// Also, used for serialization page and for compressed oops null pointer +// checking. bool os::protect_memory(char* addr, size_t bytes, ProtType prot, bool is_committed) { unsigned int p = 0; @@ -3049,7 +3059,7 @@ } bool os::unguard_memory(char* addr, size_t bytes) { - return solaris_mprotect(addr, bytes, PROT_READ|PROT_WRITE|PROT_EXEC); + return solaris_mprotect(addr, bytes, PROT_READ|PROT_WRITE); } // Large page support diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/os/windows/vm/os_windows.cpp --- a/hotspot/src/os/windows/vm/os_windows.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/os/windows/vm/os_windows.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -2020,10 +2020,11 @@ if (UnguardOnExecutionViolation > 0 && addr != last_addr && (UnguardOnExecutionViolation > 1 || os::address_is_in_vm(addr))) { - // Unguard and retry + // Set memory to RWX and retry address page_start = (address) align_size_down((intptr_t) addr, (intptr_t) page_size); - bool res = os::unguard_memory((char*) page_start, page_size); + bool res = os::protect_memory((char*) page_start, page_size, + os::MEM_PROT_RWX); if (PrintMiscellaneous && Verbose) { char buf[256]; @@ -2755,12 +2756,12 @@ bool os::guard_memory(char* addr, size_t bytes) { DWORD old_status; - return VirtualProtect(addr, bytes, PAGE_EXECUTE_READWRITE | PAGE_GUARD, &old_status) != 0; + return VirtualProtect(addr, bytes, PAGE_READWRITE | PAGE_GUARD, &old_status) != 0; } bool os::unguard_memory(char* addr, size_t bytes) { DWORD old_status; - return VirtualProtect(addr, bytes, PAGE_EXECUTE_READWRITE, &old_status) != 0; + return VirtualProtect(addr, bytes, PAGE_READWRITE, &old_status) != 0; } void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) { } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp --- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -422,10 +422,11 @@ if (addr != last_addr && (UnguardOnExecutionViolation > 1 || os::address_is_in_vm(addr))) { - // Unguard and retry + // Set memory to RWX and retry address page_start = (address) align_size_down((intptr_t) addr, (intptr_t) page_size); - bool res = os::unguard_memory((char*) page_start, page_size); + bool res = os::protect_memory((char*) page_start, page_size, + os::MEM_PROT_RWX); if (PrintMiscellaneous && Verbose) { char buf[256]; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp --- a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -203,10 +203,10 @@ return frame(fr->sender_sp(), fr->link(), fr->sender_pc()); } -extern "C" intptr_t *_get_previous_fp(); // in .il file. +extern "C" intptr_t *_get_current_fp(); // in .il file frame os::current_frame() { - intptr_t* fp = _get_previous_fp(); + intptr_t* fp = _get_current_fp(); // it's inlined so want current fp frame myframe((intptr_t*)os::current_stack_pointer(), (intptr_t*)fp, CAST_FROM_FN_PTR(address, os::current_frame)); @@ -576,10 +576,11 @@ if (addr != last_addr && (UnguardOnExecutionViolation > 1 || os::address_is_in_vm(addr))) { - // Unguard and retry + // Make memory rwx and retry address page_start = (address) align_size_down((intptr_t) addr, (intptr_t) page_size); - bool res = os::unguard_memory((char*) page_start, page_size); + bool res = os::protect_memory((char*) page_start, page_size, + os::MEM_PROT_RWX); if (PrintMiscellaneous && Verbose) { char buf[256]; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il --- a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il Wed Jul 05 16:45:14 2017 +0200 @@ -37,10 +37,10 @@ movl %gs:0, %eax .end - // Get callers fp - .inline _get_previous_fp,0 + // Get current fp + .inline _get_current_fp,0 + .volatile movl %ebp, %eax - movl %eax, %eax .end // Support for jint Atomic::add(jint inc, volatile jint* dest) diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il --- a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il Wed Jul 05 16:45:14 2017 +0200 @@ -30,10 +30,10 @@ movq %fs:0, %rax .end - // Get the frame pointer from previous frame. - .inline _get_previous_fp,0 + // Get the frame pointer from current frame. + .inline _get_current_fp,0 + .volatile movq %rbp, %rax - movq %rax, %rax .end // Support for jint Atomic::add(jint add_value, volatile jint* dest) diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/adlc/adlparse.cpp --- a/hotspot/src/share/vm/adlc/adlparse.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/adlc/adlparse.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -108,6 +108,7 @@ else if (!strcmp(ident, "pipeline")) pipe_parse(); else if (!strcmp(ident, "definitions")) definitions_parse(); else if (!strcmp(ident, "peephole")) peep_parse(); + else if (!strcmp(ident, "#line")) preproc_line(); else if (!strcmp(ident, "#define")) preproc_define(); else if (!strcmp(ident, "#undef")) preproc_undef(); else { @@ -786,9 +787,11 @@ parse_err(SYNERR, "missing identifier inside register block.\n"); return; } - if (strcmp(token,"reg_def")==0) { reg_def_parse(); } - if (strcmp(token,"reg_class")==0) { reg_class_parse(); } - if (strcmp(token,"alloc_class")==0) { alloc_class_parse(); } + if (strcmp(token,"reg_def")==0) { reg_def_parse(); } + else if (strcmp(token,"reg_class")==0) { reg_class_parse(); } + else if (strcmp(token,"alloc_class")==0) { alloc_class_parse(); } + else if (strcmp(token,"#define")==0) { preproc_define(); } + else { parse_err(SYNERR, "bad token %s inside register block.\n", token); break; } skipws(); } } @@ -903,11 +906,7 @@ skipws_no_preproc(); // Skip leading whitespace // Prepend location descriptor, for debugging; cf. ADLParser::find_cpp_block if (_AD._adlocation_debug) { - const char* file = _AD._ADL_file._name; - int line = linenum(); - char* location = (char *)malloc(strlen(file) + 100); - sprintf(location, "#line %d \"%s\"\n", line, file); - encoding->add_code(location); + encoding->add_code(get_line_string()); } // Collect the parts of the encode description @@ -948,6 +947,10 @@ skipws(); + if (_AD._adlocation_debug) { + encoding->add_code(end_line_marker()); + } + // Debug Stuff if (_AD._adl_debug > 1) fprintf(stderr,"EncodingClass Form: %s\n", ec_name); } @@ -2349,7 +2352,11 @@ return; } RegDef *regDef = _AD._register->getRegDef(rname); - reg_class->addReg(regDef); // add regDef to regClass + if (!regDef) { + parse_err(SEMERR, "unknown identifier %s inside reg_class list.\n", rname); + } else { + reg_class->addReg(regDef); // add regDef to regClass + } // Check for ',' and position to next token. skipws(); @@ -2746,7 +2753,8 @@ char *rule = NULL; // String representation of predicate skipws(); // Skip leading whitespace - if ( (rule = get_paren_expr("pred expression")) == NULL ) { + int line = linenum(); + if ( (rule = get_paren_expr("pred expression", true)) == NULL ) { parse_err(SYNERR, "incorrect or missing expression for 'predicate'\n"); return NULL; } @@ -3407,7 +3415,12 @@ // Check if there is a string to pass through to output char *start = _ptr; // Record start of the next string while ((_curchar != '$') && (_curchar != '"') && (_curchar != '%') && (_curchar != '\n')) { - if (_curchar == '\\') next_char(); // superquote + if (_curchar == '\\') { + next_char(); // superquote + if ((_curchar == '$') || (_curchar == '%')) + // hack to avoid % escapes and warnings about undefined \ escapes + *(_ptr-1) = _curchar; + } if (_curchar == '\n') parse_err(SYNERR, "newline in string"); // unimplemented! next_char(); } @@ -3942,8 +3955,7 @@ next_char(); // Skip block delimiter skipws_no_preproc(); // Skip leading whitespace cppBlock = _ptr; // Point to start of expression - const char* file = _AD._ADL_file._name; - int line = linenum(); + int line = linenum(); next = _ptr + 1; while(((_curchar != '%') || (*next != '}')) && (_curchar != '\0')) { next_char_or_line(); @@ -3958,15 +3970,16 @@ _curchar = *_ptr; // Maintain invariant // Prepend location descriptor, for debugging. - char* location = (char *)malloc(strlen(file) + 100); - *location = '\0'; - if (_AD._adlocation_debug) - sprintf(location, "#line %d \"%s\"\n", line, file); - char* result = (char *)malloc(strlen(location) + strlen(cppBlock) + 1); - strcpy(result, location); - strcat(result, cppBlock); - cppBlock = result; - free(location); + if (_AD._adlocation_debug) { + char* location = get_line_string(line); + char* end_loc = end_line_marker(); + char* result = (char *)malloc(strlen(location) + strlen(cppBlock) + strlen(end_loc) + 1); + strcpy(result, location); + strcat(result, cppBlock); + strcat(result, end_loc); + cppBlock = result; + free(location); + } } return cppBlock; @@ -4036,13 +4049,26 @@ // Helper function around get_expr // Sets _curchar to '(' so that get_paren_expr will search for a matching ')' -char *ADLParser::get_paren_expr(const char *description) { +char *ADLParser::get_paren_expr(const char *description, bool include_location) { + int line = linenum(); if (_curchar != '(') // Escape if not valid starting position return NULL; next_char(); // Skip the required initial paren. char *token2 = get_expr(description, ")"); if (_curchar == ')') next_char(); // Skip required final paren. + int junk = 0; + if (include_location && _AD._adlocation_debug && !is_int_token(token2, junk)) { + // Prepend location descriptor, for debugging. + char* location = get_line_string(line); + char* end_loc = end_line_marker(); + char* result = (char *)malloc(strlen(location) + strlen(token2) + strlen(end_loc) + 1); + strcpy(result, location); + strcat(result, token2); + strcat(result, end_loc); + token2 = result; + free(location); + } return token2; } @@ -4082,10 +4108,16 @@ if (do_preproc && start != NULL) { const char* def = _AD.get_preproc_def(start); if (def != NULL && strcmp(def, start)) { - const char* def2 = _AD.get_preproc_def(def); - if (def2 != NULL && strcmp(def2, def)) { - parse_err(SYNERR, "unimplemented: using %s defined as %s => %s", - start, def, def2); + const char* def1 = def; + const char* def2 = _AD.get_preproc_def(def1); + // implement up to 2 levels of #define + if (def2 != NULL && strcmp(def2, def1)) { + def = def2; + const char* def3 = _AD.get_preproc_def(def2); + if (def3 != NULL && strcmp(def3, def2) && strcmp(def3, def1)) { + parse_err(SYNERR, "unimplemented: using %s defined as %s => %s => %s", + start, def1, def2, def3); + } } start = strdup(def); } @@ -4431,6 +4463,35 @@ } +//-------------------------------preproc_line---------------------------------- +// A "#line" keyword has been seen, so parse the rest of the line. +void ADLParser::preproc_line(void) { + int line = get_int(); + skipws_no_preproc(); + const char* file = NULL; + if (_curchar == '"') { + next_char(); // Move past the initial '"' + file = _ptr; + while (true) { + if (_curchar == '\n') { + parse_err(SYNERR, "missing '\"' at end of #line directive"); + return; + } + if (_curchar == '"') { + *_ptr = '\0'; // Terminate the string + next_char(); + skipws_no_preproc(); + break; + } + next_char(); + } + } + ensure_end_of_line(); + if (file != NULL) + _AD._ADL_file._name = file; + _buf.set_linenum(line); +} + //------------------------------preproc_define--------------------------------- // A "#define" keyword has been seen, so parse the rest of the line. void ADLParser::preproc_define(void) { @@ -4494,6 +4555,7 @@ // A preprocessor directive has been encountered. Be sure it has fallen at // the begining of a line, or else report an error. void ADLParser::ensure_start_of_line(void) { + if (_curchar == '\n') { next_line(); return; } assert( _ptr >= _curline && _ptr < _curline+strlen(_curline), "Must be able to find which line we are in" ); @@ -4662,6 +4724,7 @@ //---------------------------next_char----------------------------------------- void ADLParser::next_char() { + if (_curchar == '\n') parse_err(WARN, "must call next_line!"); _curchar = *++_ptr; // if ( _curchar == '\n' ) { // next_line(); @@ -4682,6 +4745,18 @@ //---------------------------next_line----------------------------------------- void ADLParser::next_line() { _curline = _buf.get_line(); + _curchar = ' '; +} + +//------------------------get_line_string-------------------------------------- +// Prepended location descriptor, for debugging. +// Must return a malloced string (that can be freed if desired). +char* ADLParser::get_line_string(int linenum) { + const char* file = _AD._ADL_file._name; + int line = linenum ? linenum : this->linenum(); + char* location = (char *)malloc(strlen(file) + 100); + sprintf(location, "\n#line %d \"%s\"\n", line, file); + return location; } //-------------------------is_literal_constant--------------------------------- @@ -4722,6 +4797,66 @@ return true; } +static const char* skip_expr_ws(const char* str) { + const char * cp = str; + while (cp[0]) { + if (cp[0] <= ' ') { + ++cp; + } else if (cp[0] == '#') { + ++cp; + while (cp[0] == ' ') ++cp; + assert(0 == strncmp(cp, "line", 4), "must be a #line directive"); + const char* eol = strchr(cp, '\n'); + assert(eol != NULL, "must find end of line"); + if (eol == NULL) eol = cp + strlen(cp); + cp = eol; + } else { + break; + } + } + return cp; +} + +//-----------------------equivalent_expressions-------------------------------- +bool ADLParser::equivalent_expressions(const char* str1, const char* str2) { + if (str1 == str2) + return true; + else if (str1 == NULL || str2 == NULL) + return false; + const char* cp1 = str1; + const char* cp2 = str2; + char in_quote = '\0'; + while (cp1[0] && cp2[0]) { + if (!in_quote) { + // skip spaces and/or cpp directives + const char* cp1a = skip_expr_ws(cp1); + const char* cp2a = skip_expr_ws(cp2); + if (cp1a > cp1 && cp2a > cp2) { + cp1 = cp1a; cp2 = cp2a; + continue; + } + if (cp1a > cp1 || cp2a > cp2) break; // fail + } + // match one non-space char + if (cp1[0] != cp2[0]) break; // fail + char ch = cp1[0]; + cp1++; cp2++; + // watch for quotes + if (in_quote && ch == '\\') { + if (cp1[0] != cp2[0]) break; // fail + if (!cp1[0]) break; + cp1++; cp2++; + } + if (in_quote && ch == in_quote) { + in_quote = '\0'; + } else if (!in_quote && (ch == '"' || ch == '\'')) { + in_quote = ch; + } + } + return (!cp1[0] && !cp2[0]); +} + + //-------------------------------trim------------------------------------------ void ADLParser::trim(char* &token) { while (*token <= ' ') token++; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/adlc/adlparse.hpp --- a/hotspot/src/share/vm/adlc/adlparse.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/adlc/adlparse.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -93,6 +93,7 @@ void pipe_parse(void); // Parse pipeline section void definitions_parse(void); // Parse definitions section void peep_parse(void); // Parse peephole rule definitions + void preproc_line(void); // Parse a #line statement void preproc_define(void); // Parse a #define statement void preproc_undef(void); // Parse an #undef statement @@ -226,7 +227,7 @@ void get_effectlist(FormDict &effects, FormDict &operands); // Parse effect-operand pairs // Return the contents of a parenthesized expression. // Requires initial '(' and consumes final ')', which is replaced by '\0'. - char *get_paren_expr(const char *description); + char *get_paren_expr(const char *description, bool include_location = false); // Return expression up to next stop-char, which terminator replaces. // Does not require initial '('. Does not consume final stop-char. // Final stop-char is left in _curchar, but is also is replaced by '\0'. @@ -234,6 +235,11 @@ char *find_cpp_block(const char *description); // Parse a C++ code block // Issue parser error message & go to EOL void parse_err(int flag, const char *fmt, ...); + // Create a location marker for this file and line. + char *get_line_string(int linenum = 0); + // Return a location marker which tells the C preprocessor to + // forget the previous location marker. (Requires awk postprocessing.) + char *end_line_marker() { return (char*)"\n#line 999999\n"; } // Return pointer to current character inline char cur_char(void); @@ -268,5 +274,6 @@ static bool is_literal_constant(const char *hex_string); static bool is_hex_digit(char digit); static bool is_int_token(const char* token, int& intval); + static bool equivalent_expressions(const char* str1, const char* str2); static void trim(char* &token); // trim leading & trailing spaces }; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/adlc/archDesc.cpp --- a/hotspot/src/share/vm/adlc/archDesc.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/adlc/archDesc.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -140,7 +140,7 @@ if ((rch == _rchild) || (rch && _rchild && !strcmp(rch, _rchild))) { char * predStr = get_pred(); char * prStr = pr?pr->_pred:NULL; - if ((prStr == predStr) || (prStr && predStr && !strcmp(prStr, predStr))) { + if (ADLParser::equivalent_expressions(prStr, predStr)) { return true; } } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/adlc/dfa.cpp --- a/hotspot/src/share/vm/adlc/dfa.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/adlc/dfa.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -458,7 +458,7 @@ class dfa_shared_preds { - enum { count = 2 }; + enum { count = 4 }; static bool _found[count]; static const char* _type [count]; @@ -479,12 +479,15 @@ char c = *prev; switch( c ) { case ' ': + case '\n': return dfa_shared_preds::valid_loc(pred, prev); case '!': case '(': case '<': case '=': return true; + case '"': // such as: #line 10 "myfile.ad"\n mypredicate + return true; case '|': if( prev != pred && *(prev-1) == '|' ) return true; case '&': @@ -564,10 +567,14 @@ } }; // shared predicates, _var and _pred entry should be the same length -bool dfa_shared_preds::_found[dfa_shared_preds::count] = { false, false }; -const char* dfa_shared_preds::_type[dfa_shared_preds::count] = { "int", "bool" }; -const char* dfa_shared_preds::_var [dfa_shared_preds::count] = { "_n_get_int__", "Compile__current____select_24_bit_instr__" }; -const char* dfa_shared_preds::_pred[dfa_shared_preds::count] = { "n->get_int()", "Compile::current()->select_24_bit_instr()" }; +bool dfa_shared_preds::_found[dfa_shared_preds::count] + = { false, false, false, false }; +const char* dfa_shared_preds::_type[dfa_shared_preds::count] + = { "int", "jlong", "intptr_t", "bool" }; +const char* dfa_shared_preds::_var [dfa_shared_preds::count] + = { "_n_get_int__", "_n_get_long__", "_n_get_intptr_t__", "Compile__current____select_24_bit_instr__" }; +const char* dfa_shared_preds::_pred[dfa_shared_preds::count] + = { "n->get_int()", "n->get_long()", "n->get_intptr_t()", "Compile::current()->select_24_bit_instr()" }; void ArchDesc::gen_dfa_state_body(FILE* fp, Dict &minimize, ProductionState &status, Dict &operands_chained_from, int i) { diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/adlc/filebuff.hpp --- a/hotspot/src/share/vm/adlc/filebuff.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/adlc/filebuff.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -68,6 +68,7 @@ // and increments bufeol and filepos to point at the end of that line. char *get_line(void); int linenum() const { return _linenum; } + void set_linenum(int line) { _linenum = line; } // This converts a pointer into the buffer to a file offset. It only works // when the pointer is valid (i.e. just obtained from getline()). diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/adlc/formssel.cpp --- a/hotspot/src/share/vm/adlc/formssel.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/adlc/formssel.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -1102,10 +1102,7 @@ } if( pred1 != NULL && pred2 != NULL ) { // compare the predicates - const char *str1 = pred1->_pred; - const char *str2 = pred2->_pred; - if( (str1 == NULL && str2 == NULL) - || (str1 != NULL && str2 != NULL && strcmp(str1,str2) == 0) ) { + if (ADLParser::equivalent_expressions(pred1->_pred, pred2->_pred)) { return true; } } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/c1/c1_LIRGenerator.cpp --- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -1210,8 +1210,8 @@ break; case T_LONG: case T_DOUBLE: - if (c->as_jint_hi_bits() != other->as_jint_lo_bits()) continue; - if (c->as_jint_lo_bits() != other->as_jint_hi_bits()) continue; + if (c->as_jint_hi_bits() != other->as_jint_hi_bits()) continue; + if (c->as_jint_lo_bits() != other->as_jint_lo_bits()) continue; break; case T_OBJECT: if (c->as_jobject() != other->as_jobject()) continue; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/c1/c1_Optimizer.cpp --- a/hotspot/src/share/vm/c1/c1_Optimizer.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/c1/c1_Optimizer.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -327,8 +327,6 @@ BlockBegin* fsux = if_->fsux(); if (swapped) { cond = Instruction::mirror(cond); - tsux = if_->fsux(); - fsux = if_->tsux(); } BlockBegin* tblock = tval->compare(cond, con, tsux, fsux); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/c1/c1_Runtime1.cpp --- a/hotspot/src/share/vm/c1/c1_Runtime1.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/c1/c1_Runtime1.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -842,6 +842,13 @@ if (TracePatching) { tty->print_cr("Deoptimizing for patching volatile field reference"); } + // It's possible the nmethod was invalidated in the last + // safepoint, but if it's still alive then make it not_entrant. + nmethod* nm = CodeCache::find_nmethod(caller_frame.pc()); + if (nm != NULL) { + nm->make_not_entrant(); + } + VM_DeoptimizeFrame deopt(thread, caller_frame.id()); VMThread::execute(&deopt); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/classfile/classFileParser.cpp --- a/hotspot/src/share/vm/classfile/classFileParser.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/classfile/classFileParser.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -581,7 +581,8 @@ interf = KlassHandle(THREAD, k); vmtimer->resume(); - cp->klass_at_put(interface_index, interf()); // eagerly resolve + if (LinkWellKnownClasses) // my super type is well known to me + cp->klass_at_put(interface_index, interf()); // eagerly resolve } if (!Klass::cast(interf())->is_interface()) { @@ -2699,7 +2700,8 @@ CHECK_(nullHandle)); KlassHandle kh (THREAD, k); super_klass = instanceKlassHandle(THREAD, kh()); - cp->klass_at_put(super_class_index, super_klass()); // eagerly resolve + if (LinkWellKnownClasses) // my super class is well known to me + cp->klass_at_put(super_class_index, super_klass()); // eagerly resolve } if (super_klass.not_null()) { if (super_klass->is_interface()) { @@ -3128,7 +3130,8 @@ this_klass->set_method_ordering(method_ordering()); this_klass->set_initial_method_idnum(methods->length()); this_klass->set_name(cp->klass_name_at(this_class_index)); - cp->klass_at_put(this_class_index, this_klass()); // eagerly resolve + if (LinkWellKnownClasses) // I am well known to myself + cp->klass_at_put(this_class_index, this_klass()); // eagerly resolve this_klass->set_protection_domain(protection_domain()); this_klass->set_fields_annotations(fields_annotations()); this_klass->set_methods_annotations(methods_annotations()); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -2954,7 +2954,7 @@ // The object has been either evacuated or is dead. Fill it with a // dummy object. MemRegion mr((HeapWord*)obj, obj->size()); - SharedHeap::fill_region_with_object(mr); + CollectedHeap::fill_with_object(mr); _cm->clearRangeBothMaps(mr); } } @@ -3225,7 +3225,7 @@ // Otherwise, try to claim it. block = r->par_allocate(free_words); } while (block == NULL); - SharedHeap::fill_region_with_object(MemRegion(block, free_words)); + fill_with_object(block, free_words); } #define use_local_bitmaps 1 @@ -3619,9 +3619,8 @@ guarantee(alloc_buffer(purpose)->contains(obj + word_sz - 1), "should contain whole object"); alloc_buffer(purpose)->undo_allocation(obj, word_sz); - } - else { - SharedHeap::fill_region_with_object(MemRegion(obj, word_sz)); + } else { + CollectedHeap::fill_with_object(obj, word_sz); add_to_undo_waste(word_sz); } } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -181,7 +181,7 @@ void scrub(CardTableModRefBS* ctbs, BitMap* card_bm) { HeapWord* hr_bot = hr()->bottom(); - int hr_first_card_index = ctbs->index_for(hr_bot); + size_t hr_first_card_index = ctbs->index_for(hr_bot); bm()->set_intersection_at_offset(*card_bm, hr_first_card_index); #if PRT_COUNT_OCCUPIED recount_occupied(); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -102,7 +102,7 @@ HeapWord* tmp = hr->allocate(sz); assert(tmp != NULL, "Humongous allocation failure"); MemRegion mr = MemRegion(tmp, sz); - SharedHeap::fill_region_with_object(mr); + CollectedHeap::fill_with_object(mr); hr->declare_filled_region_to_BOT(mr); if (i == first) { first_hr->set_startsHumongous(); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp --- a/hotspot/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -51,14 +51,14 @@ if (_retained) { // If the buffer had been retained shorten the previous filler object. assert(_retained_filler.end() <= _top, "INVARIANT"); - SharedHeap::fill_region_with_object(_retained_filler); + CollectedHeap::fill_with_object(_retained_filler); // Wasted space book-keeping, otherwise (normally) done in invalidate() _wasted += _retained_filler.word_size(); _retained = false; } assert(!end_of_gc || !_retained, "At this point, end_of_gc ==> !_retained."); if (_top < _hard_end) { - SharedHeap::fill_region_with_object(MemRegion(_top, _hard_end)); + CollectedHeap::fill_with_object(_top, _hard_end); if (!retain) { invalidate(); } else { @@ -155,7 +155,7 @@ // modifying the _next_threshold state in the BOT. void ParGCAllocBufferWithBOT::fill_region_with_block(MemRegion mr, bool contig) { - SharedHeap::fill_region_with_object(mr); + CollectedHeap::fill_with_object(mr); if (contig) { _bt.alloc_block(mr.start(), mr.end()); } else { @@ -171,7 +171,7 @@ "or else _true_end should be equal to _hard_end"); assert(_retained, "or else _true_end should be equal to _hard_end"); assert(_retained_filler.end() <= _top, "INVARIANT"); - SharedHeap::fill_region_with_object(_retained_filler); + CollectedHeap::fill_with_object(_retained_filler); if (_top < _hard_end) { fill_region_with_block(MemRegion(_top, _hard_end), true); } @@ -316,11 +316,9 @@ while (_top <= chunk_boundary) { assert(pointer_delta(_hard_end, chunk_boundary) >= AlignmentReserve, "Consequence of last card handling above."); - MemRegion chunk_portion(chunk_boundary, _hard_end); - _bt.BlockOffsetArray::alloc_block(chunk_portion.start(), - chunk_portion.end()); - SharedHeap::fill_region_with_object(chunk_portion); - _hard_end = chunk_portion.start(); + _bt.BlockOffsetArray::alloc_block(chunk_boundary, _hard_end); + CollectedHeap::fill_with_object(chunk_boundary, _hard_end); + _hard_end = chunk_boundary; chunk_boundary -= ChunkSizeInWords; } _end = _hard_end - AlignmentReserve; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp --- a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -201,7 +201,7 @@ "Should contain whole object."); to_space_alloc_buffer()->undo_allocation(obj, word_sz); } else { - SharedHeap::fill_region_with_object(MemRegion(obj, word_sz)); + CollectedHeap::fill_with_object(obj, word_sz); } } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -389,7 +389,7 @@ // full GC. const size_t alignment = old_gen->virtual_space()->alignment(); const size_t eden_used = eden_space->used_in_bytes(); - const size_t promoted = (size_t)(size_policy->avg_promoted()->padded_average()); + const size_t promoted = (size_t)size_policy->avg_promoted()->padded_average(); const size_t absorb_size = align_size_up(eden_used + promoted, alignment); const size_t eden_capacity = eden_space->capacity_in_bytes(); @@ -416,16 +416,14 @@ // Fill the unused part of the old gen. MutableSpace* const old_space = old_gen->object_space(); - MemRegion old_gen_unused(old_space->top(), old_space->end()); + HeapWord* const unused_start = old_space->top(); + size_t const unused_words = pointer_delta(old_space->end(), unused_start); - // If the unused part of the old gen cannot be filled, skip - // absorbing eden. - if (old_gen_unused.word_size() < SharedHeap::min_fill_size()) { - return false; - } - - if (!old_gen_unused.is_empty()) { - SharedHeap::fill_region_with_object(old_gen_unused); + if (unused_words > 0) { + if (unused_words < CollectedHeap::min_fill_size()) { + return false; // If the old gen cannot be filled, must give up. + } + CollectedHeap::fill_with_objects(unused_start, unused_words); } // Take the live data from eden and set both top and end in the old gen to @@ -441,9 +439,8 @@ // Update the object start array for the filler object and the data from eden. ObjectStartArray* const start_array = old_gen->start_array(); - HeapWord* const start = old_gen_unused.start(); - for (HeapWord* addr = start; addr < new_top; addr += oop(addr)->size()) { - start_array->allocate_block(addr); + for (HeapWord* p = unused_start; p < new_top; p += oop(p)->size()) { + start_array->allocate_block(p); } // Could update the promoted average here, but it is not typically updated at diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -275,22 +275,9 @@ HeapWord* q, size_t deadlength) { if (allowed_deadspace_words >= deadlength) { allowed_deadspace_words -= deadlength; - oop(q)->set_mark(markOopDesc::prototype()->set_marked()); - const size_t aligned_min_int_array_size = - align_object_size(typeArrayOopDesc::header_size(T_INT)); - if (deadlength >= aligned_min_int_array_size) { - oop(q)->set_klass(Universe::intArrayKlassObj()); - assert(((deadlength - aligned_min_int_array_size) * (HeapWordSize/sizeof(jint))) < (size_t)max_jint, - "deadspace too big for Arrayoop"); - typeArrayOop(q)->set_length((int)((deadlength - aligned_min_int_array_size) - * (HeapWordSize/sizeof(jint)))); - } else { - assert((int) deadlength == instanceOopDesc::header_size(), - "size for smallest fake dead object doesn't match"); - oop(q)->set_klass(SystemDictionary::object_klass()); - } - assert((int) deadlength == oop(q)->size(), - "make sure size for fake dead object match"); + CollectedHeap::fill_with_object(q, deadlength); + oop(q)->set_mark(oop(q)->mark()->set_marked()); + assert((int) deadlength == oop(q)->size(), "bad filler object size"); // Recall that we required "q == compaction_top". return true; } else { diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -88,6 +88,72 @@ GrowableArray * PSParallelCompact::_last_gc_live_oops_size = NULL; #endif +void SplitInfo::record(size_t src_region_idx, size_t partial_obj_size, + HeapWord* destination) +{ + assert(src_region_idx != 0, "invalid src_region_idx"); + assert(partial_obj_size != 0, "invalid partial_obj_size argument"); + assert(destination != NULL, "invalid destination argument"); + + _src_region_idx = src_region_idx; + _partial_obj_size = partial_obj_size; + _destination = destination; + + // These fields may not be updated below, so make sure they're clear. + assert(_dest_region_addr == NULL, "should have been cleared"); + assert(_first_src_addr == NULL, "should have been cleared"); + + // Determine the number of destination regions for the partial object. + HeapWord* const last_word = destination + partial_obj_size - 1; + const ParallelCompactData& sd = PSParallelCompact::summary_data(); + HeapWord* const beg_region_addr = sd.region_align_down(destination); + HeapWord* const end_region_addr = sd.region_align_down(last_word); + + if (beg_region_addr == end_region_addr) { + // One destination region. + _destination_count = 1; + if (end_region_addr == destination) { + // The destination falls on a region boundary, thus the first word of the + // partial object will be the first word copied to the destination region. + _dest_region_addr = end_region_addr; + _first_src_addr = sd.region_to_addr(src_region_idx); + } + } else { + // Two destination regions. When copied, the partial object will cross a + // destination region boundary, so a word somewhere within the partial + // object will be the first word copied to the second destination region. + _destination_count = 2; + _dest_region_addr = end_region_addr; + const size_t ofs = pointer_delta(end_region_addr, destination); + assert(ofs < _partial_obj_size, "sanity"); + _first_src_addr = sd.region_to_addr(src_region_idx) + ofs; + } +} + +void SplitInfo::clear() +{ + _src_region_idx = 0; + _partial_obj_size = 0; + _destination = NULL; + _destination_count = 0; + _dest_region_addr = NULL; + _first_src_addr = NULL; + assert(!is_valid(), "sanity"); +} + +#ifdef ASSERT +void SplitInfo::verify_clear() +{ + assert(_src_region_idx == 0, "not clear"); + assert(_partial_obj_size == 0, "not clear"); + assert(_destination == NULL, "not clear"); + assert(_destination_count == 0, "not clear"); + assert(_dest_region_addr == NULL, "not clear"); + assert(_first_src_addr == NULL, "not clear"); +} +#endif // #ifdef ASSERT + + #ifndef PRODUCT const char* PSParallelCompact::space_names[] = { "perm", "old ", "eden", "from", "to " @@ -416,21 +482,134 @@ } } -bool ParallelCompactData::summarize(HeapWord* target_beg, HeapWord* target_end, - HeapWord* source_beg, HeapWord* source_end, - HeapWord** target_next, - HeapWord** source_next) { - // This is too strict. - // assert(region_offset(source_beg) == 0, "not RegionSize aligned"); +// Find the point at which a space can be split and, if necessary, record the +// split point. +// +// If the current src region (which overflowed the destination space) doesn't +// have a partial object, the split point is at the beginning of the current src +// region (an "easy" split, no extra bookkeeping required). +// +// If the current src region has a partial object, the split point is in the +// region where that partial object starts (call it the split_region). If +// split_region has a partial object, then the split point is just after that +// partial object (a "hard" split where we have to record the split data and +// zero the partial_obj_size field). With a "hard" split, we know that the +// partial_obj ends within split_region because the partial object that caused +// the overflow starts in split_region. If split_region doesn't have a partial +// obj, then the split is at the beginning of split_region (another "easy" +// split). +HeapWord* +ParallelCompactData::summarize_split_space(size_t src_region, + SplitInfo& split_info, + HeapWord* destination, + HeapWord* target_end, + HeapWord** target_next) +{ + assert(destination <= target_end, "sanity"); + assert(destination + _region_data[src_region].data_size() > target_end, + "region should not fit into target space"); + + size_t split_region = src_region; + HeapWord* split_destination = destination; + size_t partial_obj_size = _region_data[src_region].partial_obj_size(); + + if (destination + partial_obj_size > target_end) { + // The split point is just after the partial object (if any) in the + // src_region that contains the start of the object that overflowed the + // destination space. + // + // Find the start of the "overflow" object and set split_region to the + // region containing it. + HeapWord* const overflow_obj = _region_data[src_region].partial_obj_addr(); + split_region = addr_to_region_idx(overflow_obj); + + // Clear the source_region field of all destination regions whose first word + // came from data after the split point (a non-null source_region field + // implies a region must be filled). + // + // An alternative to the simple loop below: clear during post_compact(), + // which uses memcpy instead of individual stores, and is easy to + // parallelize. (The downside is that it clears the entire RegionData + // object as opposed to just one field.) + // + // post_compact() would have to clear the summary data up to the highest + // address that was written during the summary phase, which would be + // + // max(top, max(new_top, clear_top)) + // + // where clear_top is a new field in SpaceInfo. Would have to set clear_top + // to destination + partial_obj_size, where both have the values passed to + // this routine. + const RegionData* const sr = region(split_region); + const size_t beg_idx = + addr_to_region_idx(region_align_up(sr->destination() + + sr->partial_obj_size())); + const size_t end_idx = + addr_to_region_idx(region_align_up(destination + partial_obj_size)); + + if (TraceParallelOldGCSummaryPhase) { + gclog_or_tty->print_cr("split: clearing source_region field in [" + SIZE_FORMAT ", " SIZE_FORMAT ")", + beg_idx, end_idx); + } + for (size_t idx = beg_idx; idx < end_idx; ++idx) { + _region_data[idx].set_source_region(0); + } + + // Set split_destination and partial_obj_size to reflect the split region. + split_destination = sr->destination(); + partial_obj_size = sr->partial_obj_size(); + } + + // The split is recorded only if a partial object extends onto the region. + if (partial_obj_size != 0) { + _region_data[split_region].set_partial_obj_size(0); + split_info.record(split_region, partial_obj_size, split_destination); + } + + // Setup the continuation addresses. + *target_next = split_destination + partial_obj_size; + HeapWord* const source_next = region_to_addr(split_region) + partial_obj_size; if (TraceParallelOldGCSummaryPhase) { - tty->print_cr("tb=" PTR_FORMAT " te=" PTR_FORMAT " " - "sb=" PTR_FORMAT " se=" PTR_FORMAT " " - "tn=" PTR_FORMAT " sn=" PTR_FORMAT, - target_beg, target_end, - source_beg, source_end, - target_next != 0 ? *target_next : (HeapWord*) 0, - source_next != 0 ? *source_next : (HeapWord*) 0); + const char * split_type = partial_obj_size == 0 ? "easy" : "hard"; + gclog_or_tty->print_cr("%s split: src=" PTR_FORMAT " src_c=" SIZE_FORMAT + " pos=" SIZE_FORMAT, + split_type, source_next, split_region, + partial_obj_size); + gclog_or_tty->print_cr("%s split: dst=" PTR_FORMAT " dst_c=" SIZE_FORMAT + " tn=" PTR_FORMAT, + split_type, split_destination, + addr_to_region_idx(split_destination), + *target_next); + + if (partial_obj_size != 0) { + HeapWord* const po_beg = split_info.destination(); + HeapWord* const po_end = po_beg + split_info.partial_obj_size(); + gclog_or_tty->print_cr("%s split: " + "po_beg=" PTR_FORMAT " " SIZE_FORMAT " " + "po_end=" PTR_FORMAT " " SIZE_FORMAT, + split_type, + po_beg, addr_to_region_idx(po_beg), + po_end, addr_to_region_idx(po_end)); + } + } + + return source_next; +} + +bool ParallelCompactData::summarize(SplitInfo& split_info, + HeapWord* source_beg, HeapWord* source_end, + HeapWord** source_next, + HeapWord* target_beg, HeapWord* target_end, + HeapWord** target_next) +{ + if (TraceParallelOldGCSummaryPhase) { + HeapWord* const source_next_val = source_next == NULL ? NULL : *source_next; + tty->print_cr("sb=" PTR_FORMAT " se=" PTR_FORMAT " sn=" PTR_FORMAT + "tb=" PTR_FORMAT " te=" PTR_FORMAT " tn=" PTR_FORMAT, + source_beg, source_end, source_next_val, + target_beg, target_end, *target_next); } size_t cur_region = addr_to_region_idx(source_beg); @@ -438,45 +617,53 @@ HeapWord *dest_addr = target_beg; while (cur_region < end_region) { + // The destination must be set even if the region has no data. + _region_data[cur_region].set_destination(dest_addr); + size_t words = _region_data[cur_region].data_size(); - -#if 1 - assert(pointer_delta(target_end, dest_addr) >= words, - "source region does not fit into target region"); -#else - // XXX - need some work on the corner cases here. If the region does not - // fit, then must either make sure any partial_obj from the region fits, or - // "undo" the initial part of the partial_obj that is in the previous - // region. - if (dest_addr + words >= target_end) { - // Let the caller know where to continue. - *target_next = dest_addr; - *source_next = region_to_addr(cur_region); - return false; - } -#endif // #if 1 - - _region_data[cur_region].set_destination(dest_addr); - - // Set the destination_count for cur_region, and if necessary, update - // source_region for a destination region. The source_region field is - // updated if cur_region is the first (left-most) region to be copied to a - // destination region. - // - // The destination_count calculation is a bit subtle. A region that has - // data that compacts into itself does not count itself as a destination. - // This maintains the invariant that a zero count means the region is - // available and can be claimed and then filled. if (words > 0) { + // If cur_region does not fit entirely into the target space, find a point + // at which the source space can be 'split' so that part is copied to the + // target space and the rest is copied elsewhere. + if (dest_addr + words > target_end) { + assert(source_next != NULL, "source_next is NULL when splitting"); + *source_next = summarize_split_space(cur_region, split_info, dest_addr, + target_end, target_next); + return false; + } + + // Compute the destination_count for cur_region, and if necessary, update + // source_region for a destination region. The source_region field is + // updated if cur_region is the first (left-most) region to be copied to a + // destination region. + // + // The destination_count calculation is a bit subtle. A region that has + // data that compacts into itself does not count itself as a destination. + // This maintains the invariant that a zero count means the region is + // available and can be claimed and then filled. + uint destination_count = 0; + if (split_info.is_split(cur_region)) { + // The current region has been split: the partial object will be copied + // to one destination space and the remaining data will be copied to + // another destination space. Adjust the initial destination_count and, + // if necessary, set the source_region field if the partial object will + // cross a destination region boundary. + destination_count = split_info.destination_count(); + if (destination_count == 2) { + size_t dest_idx = addr_to_region_idx(split_info.dest_region_addr()); + _region_data[dest_idx].set_source_region(cur_region); + } + } + HeapWord* const last_addr = dest_addr + words - 1; const size_t dest_region_1 = addr_to_region_idx(dest_addr); const size_t dest_region_2 = addr_to_region_idx(last_addr); -#if 0 + // Initially assume that the destination regions will be the same and // adjust the value below if necessary. Under this assumption, if // cur_region == dest_region_2, then cur_region will be compacted // completely into itself. - uint destination_count = cur_region == dest_region_2 ? 0 : 1; + destination_count += cur_region == dest_region_2 ? 0 : 1; if (dest_region_1 != dest_region_2) { // Destination regions differ; adjust destination_count. destination_count += 1; @@ -487,25 +674,6 @@ // region. _region_data[dest_region_1].set_source_region(cur_region); } -#else - // Initially assume that the destination regions will be different and - // adjust the value below if necessary. Under this assumption, if - // cur_region == dest_region2, then cur_region will be compacted partially - // into dest_region_1 and partially into itself. - uint destination_count = cur_region == dest_region_2 ? 1 : 2; - if (dest_region_1 != dest_region_2) { - // Data from cur_region will be copied to the start of dest_region_2. - _region_data[dest_region_2].set_source_region(cur_region); - } else { - // Destination regions are the same; adjust destination_count. - destination_count -= 1; - if (region_offset(dest_addr) == 0) { - // Data from cur_region will be copied to the start of the destination - // region. - _region_data[dest_region_1].set_source_region(cur_region); - } - } -#endif // #if 0 _region_data[cur_region].set_destination_count(destination_count); _region_data[cur_region].set_data_location(region_to_addr(cur_region)); @@ -558,7 +726,7 @@ size_t live_to_left = bitmap->live_words_in_range(search_start, oop(addr)); result += partial_obj_size + live_to_left; - assert(result <= addr, "object cannot move to the right"); + DEBUG_ONLY(PSParallelCompact::check_new_location(addr, result);) return result; } @@ -749,6 +917,13 @@ const size_t end_region = _summary_data.addr_to_region_idx(_summary_data.region_align_up(max_top)); _summary_data.clear_range(beg_region, end_region); + + // Clear the data used to 'split' regions. + SplitInfo& split_info = _space_info[id].split_info(); + if (split_info.is_valid()) { + split_info.clear(); + } + DEBUG_ONLY(split_info.verify_clear();) } void PSParallelCompact::pre_compact(PreGCValues* pre_gc_values) @@ -807,10 +982,11 @@ { TraceTime tm("post compact", print_phases(), true, gclog_or_tty); - // Clear the marking bitmap and summary data and update top() in each space. for (unsigned int id = perm_space_id; id < last_space_id; ++id) { + // Clear the marking bitmap, summary data and split info. clear_data_covering_space(SpaceId(id)); - _space_info[id].space()->set_top(_space_info[id].new_top()); + // Update top(). Must be done after clearing the bitmap and summary data. + _space_info[id].publish_new_top(); } MutableSpace* const eden_space = _space_info[eden_space_id].space(); @@ -1151,6 +1327,13 @@ PSParallelCompact::compute_dense_prefix(const SpaceId id, bool maximum_compaction) { + if (ParallelOldGCSplitALot) { + if (_space_info[id].dense_prefix() != _space_info[id].space()->bottom()) { + // The value was chosen to provoke splitting a young gen space; use it. + return _space_info[id].dense_prefix(); + } + } + const size_t region_size = ParallelCompactData::RegionSize; const ParallelCompactData& sd = summary_data(); @@ -1239,16 +1422,221 @@ return sd.region_to_addr(best_cp); } +#ifndef PRODUCT +void +PSParallelCompact::fill_with_live_objects(SpaceId id, HeapWord* const start, + size_t words) +{ + if (TraceParallelOldGCSummaryPhase) { + tty->print_cr("fill_with_live_objects [" PTR_FORMAT " " PTR_FORMAT ") " + SIZE_FORMAT, start, start + words, words); + } + + ObjectStartArray* const start_array = _space_info[id].start_array(); + CollectedHeap::fill_with_objects(start, words); + for (HeapWord* p = start; p < start + words; p += oop(p)->size()) { + _mark_bitmap.mark_obj(p, words); + _summary_data.add_obj(p, words); + start_array->allocate_block(p); + } +} + +void +PSParallelCompact::summarize_new_objects(SpaceId id, HeapWord* start) +{ + ParallelCompactData& sd = summary_data(); + MutableSpace* space = _space_info[id].space(); + + // Find the source and destination start addresses. + HeapWord* const src_addr = sd.region_align_down(start); + HeapWord* dst_addr; + if (src_addr < start) { + dst_addr = sd.addr_to_region_ptr(src_addr)->destination(); + } else if (src_addr > space->bottom()) { + // The start (the original top() value) is aligned to a region boundary so + // the associated region does not have a destination. Compute the + // destination from the previous region. + RegionData* const cp = sd.addr_to_region_ptr(src_addr) - 1; + dst_addr = cp->destination() + cp->data_size(); + } else { + // Filling the entire space. + dst_addr = space->bottom(); + } + assert(dst_addr != NULL, "sanity"); + + // Update the summary data. + bool result = _summary_data.summarize(_space_info[id].split_info(), + src_addr, space->top(), NULL, + dst_addr, space->end(), + _space_info[id].new_top_addr()); + assert(result, "should not fail: bad filler object size"); +} + +void +PSParallelCompact::provoke_split_fill_survivor(SpaceId id) +{ + if (total_invocations() % (ParallelOldGCSplitInterval * 3) != 0) { + return; + } + + MutableSpace* const space = _space_info[id].space(); + if (space->is_empty()) { + HeapWord* b = space->bottom(); + HeapWord* t = b + space->capacity_in_words() / 2; + space->set_top(t); + if (ZapUnusedHeapArea) { + space->set_top_for_allocations(); + } + + size_t obj_len = 8; + while (b + obj_len <= t) { + CollectedHeap::fill_with_object(b, obj_len); + mark_bitmap()->mark_obj(b, obj_len); + summary_data().add_obj(b, obj_len); + b += obj_len; + obj_len = (obj_len & 0x18) + 8; // 8 16 24 32 8 16 24 32 ... + } + if (b < t) { + // The loop didn't completely fill to t (top); adjust top downward. + space->set_top(b); + if (ZapUnusedHeapArea) { + space->set_top_for_allocations(); + } + } + + HeapWord** nta = _space_info[id].new_top_addr(); + bool result = summary_data().summarize(_space_info[id].split_info(), + space->bottom(), space->top(), NULL, + space->bottom(), space->end(), nta); + assert(result, "space must fit into itself"); + } +} + +void +PSParallelCompact::provoke_split(bool & max_compaction) +{ + if (total_invocations() % ParallelOldGCSplitInterval != 0) { + return; + } + + const size_t region_size = ParallelCompactData::RegionSize; + ParallelCompactData& sd = summary_data(); + + MutableSpace* const eden_space = _space_info[eden_space_id].space(); + MutableSpace* const from_space = _space_info[from_space_id].space(); + const size_t eden_live = pointer_delta(eden_space->top(), + _space_info[eden_space_id].new_top()); + const size_t from_live = pointer_delta(from_space->top(), + _space_info[from_space_id].new_top()); + + const size_t min_fill_size = CollectedHeap::min_fill_size(); + const size_t eden_free = pointer_delta(eden_space->end(), eden_space->top()); + const size_t eden_fillable = eden_free >= min_fill_size ? eden_free : 0; + const size_t from_free = pointer_delta(from_space->end(), from_space->top()); + const size_t from_fillable = from_free >= min_fill_size ? from_free : 0; + + // Choose the space to split; need at least 2 regions live (or fillable). + SpaceId id; + MutableSpace* space; + size_t live_words; + size_t fill_words; + if (eden_live + eden_fillable >= region_size * 2) { + id = eden_space_id; + space = eden_space; + live_words = eden_live; + fill_words = eden_fillable; + } else if (from_live + from_fillable >= region_size * 2) { + id = from_space_id; + space = from_space; + live_words = from_live; + fill_words = from_fillable; + } else { + return; // Give up. + } + assert(fill_words == 0 || fill_words >= min_fill_size, "sanity"); + + if (live_words < region_size * 2) { + // Fill from top() to end() w/live objects of mixed sizes. + HeapWord* const fill_start = space->top(); + live_words += fill_words; + + space->set_top(fill_start + fill_words); + if (ZapUnusedHeapArea) { + space->set_top_for_allocations(); + } + + HeapWord* cur_addr = fill_start; + while (fill_words > 0) { + const size_t r = (size_t)os::random() % (region_size / 2) + min_fill_size; + size_t cur_size = MIN2(align_object_size_(r), fill_words); + if (fill_words - cur_size < min_fill_size) { + cur_size = fill_words; // Avoid leaving a fragment too small to fill. + } + + CollectedHeap::fill_with_object(cur_addr, cur_size); + mark_bitmap()->mark_obj(cur_addr, cur_size); + sd.add_obj(cur_addr, cur_size); + + cur_addr += cur_size; + fill_words -= cur_size; + } + + summarize_new_objects(id, fill_start); + } + + max_compaction = false; + + // Manipulate the old gen so that it has room for about half of the live data + // in the target young gen space (live_words / 2). + id = old_space_id; + space = _space_info[id].space(); + const size_t free_at_end = space->free_in_words(); + const size_t free_target = align_object_size(live_words / 2); + const size_t dead = pointer_delta(space->top(), _space_info[id].new_top()); + + if (free_at_end >= free_target + min_fill_size) { + // Fill space above top() and set the dense prefix so everything survives. + HeapWord* const fill_start = space->top(); + const size_t fill_size = free_at_end - free_target; + space->set_top(space->top() + fill_size); + if (ZapUnusedHeapArea) { + space->set_top_for_allocations(); + } + fill_with_live_objects(id, fill_start, fill_size); + summarize_new_objects(id, fill_start); + _space_info[id].set_dense_prefix(sd.region_align_down(space->top())); + } else if (dead + free_at_end > free_target) { + // Find a dense prefix that makes the right amount of space available. + HeapWord* cur = sd.region_align_down(space->top()); + HeapWord* cur_destination = sd.addr_to_region_ptr(cur)->destination(); + size_t dead_to_right = pointer_delta(space->end(), cur_destination); + while (dead_to_right < free_target) { + cur -= region_size; + cur_destination = sd.addr_to_region_ptr(cur)->destination(); + dead_to_right = pointer_delta(space->end(), cur_destination); + } + _space_info[id].set_dense_prefix(cur); + } +} +#endif // #ifndef PRODUCT + void PSParallelCompact::summarize_spaces_quick() { for (unsigned int i = 0; i < last_space_id; ++i) { const MutableSpace* space = _space_info[i].space(); - bool result = _summary_data.summarize(space->bottom(), space->end(), - space->bottom(), space->top(), - _space_info[i].new_top_addr()); - assert(result, "should never fail"); + HeapWord** nta = _space_info[i].new_top_addr(); + bool result = _summary_data.summarize(_space_info[i].split_info(), + space->bottom(), space->top(), NULL, + space->bottom(), space->end(), nta); + assert(result, "space must fit into itself"); _space_info[i].set_dense_prefix(space->bottom()); } + +#ifndef PRODUCT + if (ParallelOldGCSplitALot) { + provoke_split_fill_survivor(to_space_id); + } +#endif // #ifndef PRODUCT } void PSParallelCompact::fill_dense_prefix_end(SpaceId id) @@ -1308,8 +1696,7 @@ } #endif // #ifdef _LP64 - MemRegion region(obj_beg, obj_len); - SharedHeap::fill_region_with_object(region); + CollectedHeap::fill_with_object(obj_beg, obj_len); _mark_bitmap.mark_obj(obj_beg, obj_len); _summary_data.add_obj(obj_beg, obj_len); assert(start_array(id) != NULL, "sanity"); @@ -1318,11 +1705,23 @@ } void +PSParallelCompact::clear_source_region(HeapWord* beg_addr, HeapWord* end_addr) +{ + RegionData* const beg_ptr = _summary_data.addr_to_region_ptr(beg_addr); + HeapWord* const end_aligned_up = _summary_data.region_align_up(end_addr); + RegionData* const end_ptr = _summary_data.addr_to_region_ptr(end_aligned_up); + for (RegionData* cur = beg_ptr; cur < end_ptr; ++cur) { + cur->set_source_region(0); + } +} + +void PSParallelCompact::summarize_space(SpaceId id, bool maximum_compaction) { assert(id < last_space_id, "id out of range"); - assert(_space_info[id].dense_prefix() == _space_info[id].space()->bottom(), - "should have been set in summarize_spaces_quick()"); + assert(_space_info[id].dense_prefix() == _space_info[id].space()->bottom() || + ParallelOldGCSplitALot && id == old_space_id, + "should have been reset in summarize_spaces_quick()"); const MutableSpace* space = _space_info[id].space(); if (_space_info[id].new_top() != space->bottom()) { @@ -1338,20 +1737,24 @@ } #endif // #ifndef PRODUCT - // If dead space crosses the dense prefix boundary, it is (at least - // partially) filled with a dummy object, marked live and added to the - // summary data. This simplifies the copy/update phase and must be done - // before the final locations of objects are determined, to prevent leaving - // a fragment of dead space that is too small to fill with an object. + // Recompute the summary data, taking into account the dense prefix. If + // every last byte will be reclaimed, then the existing summary data which + // compacts everything can be left in place. if (!maximum_compaction && dense_prefix_end != space->bottom()) { + // If dead space crosses the dense prefix boundary, it is (at least + // partially) filled with a dummy object, marked live and added to the + // summary data. This simplifies the copy/update phase and must be done + // before the final locations of objects are determined, to prevent + // leaving a fragment of dead space that is too small to fill. fill_dense_prefix_end(id); + + // Compute the destination of each Region, and thus each object. + _summary_data.summarize_dense_prefix(space->bottom(), dense_prefix_end); + _summary_data.summarize(_space_info[id].split_info(), + dense_prefix_end, space->top(), NULL, + dense_prefix_end, space->end(), + _space_info[id].new_top_addr()); } - - // Compute the destination of each Region, and thus each object. - _summary_data.summarize_dense_prefix(space->bottom(), dense_prefix_end); - _summary_data.summarize(dense_prefix_end, space->end(), - dense_prefix_end, space->top(), - _space_info[id].new_top_addr()); } if (TraceParallelOldGCSummaryPhase) { @@ -1371,6 +1774,30 @@ } } +#ifndef PRODUCT +void PSParallelCompact::summary_phase_msg(SpaceId dst_space_id, + HeapWord* dst_beg, HeapWord* dst_end, + SpaceId src_space_id, + HeapWord* src_beg, HeapWord* src_end) +{ + if (TraceParallelOldGCSummaryPhase) { + tty->print_cr("summarizing %d [%s] into %d [%s]: " + "src=" PTR_FORMAT "-" PTR_FORMAT " " + SIZE_FORMAT "-" SIZE_FORMAT " " + "dst=" PTR_FORMAT "-" PTR_FORMAT " " + SIZE_FORMAT "-" SIZE_FORMAT, + src_space_id, space_names[src_space_id], + dst_space_id, space_names[dst_space_id], + src_beg, src_end, + _summary_data.addr_to_region_idx(src_beg), + _summary_data.addr_to_region_idx(src_end), + dst_beg, dst_end, + _summary_data.addr_to_region_idx(dst_beg), + _summary_data.addr_to_region_idx(dst_end)); + } +} +#endif // #ifndef PRODUCT + void PSParallelCompact::summary_phase(ParCompactionManager* cm, bool maximum_compaction) { @@ -1403,57 +1830,80 @@ // The amount of live data that will end up in old space (assuming it fits). size_t old_space_total_live = 0; - unsigned int id; - for (id = old_space_id; id < last_space_id; ++id) { + assert(perm_space_id < old_space_id, "should not count perm data here"); + for (unsigned int id = old_space_id; id < last_space_id; ++id) { old_space_total_live += pointer_delta(_space_info[id].new_top(), _space_info[id].space()->bottom()); } - const MutableSpace* old_space = _space_info[old_space_id].space(); - if (old_space_total_live > old_space->capacity_in_words()) { + MutableSpace* const old_space = _space_info[old_space_id].space(); + const size_t old_capacity = old_space->capacity_in_words(); + if (old_space_total_live > old_capacity) { // XXX - should also try to expand maximum_compaction = true; - } else if (!UseParallelOldGCDensePrefix) { - maximum_compaction = true; } +#ifndef PRODUCT + if (ParallelOldGCSplitALot && old_space_total_live < old_capacity) { + provoke_split(maximum_compaction); + } +#endif // #ifndef PRODUCT // Permanent and Old generations. summarize_space(perm_space_id, maximum_compaction); summarize_space(old_space_id, maximum_compaction); - // Summarize the remaining spaces (those in the young gen) into old space. If - // the live data from a space doesn't fit, the existing summarization is left - // intact, so the data is compacted down within the space itself. - HeapWord** new_top_addr = _space_info[old_space_id].new_top_addr(); - HeapWord* const target_space_end = old_space->end(); - for (id = eden_space_id; id < last_space_id; ++id) { + // Summarize the remaining spaces in the young gen. The initial target space + // is the old gen. If a space does not fit entirely into the target, then the + // remainder is compacted into the space itself and that space becomes the new + // target. + SpaceId dst_space_id = old_space_id; + HeapWord* dst_space_end = old_space->end(); + HeapWord** new_top_addr = _space_info[dst_space_id].new_top_addr(); + for (unsigned int id = eden_space_id; id < last_space_id; ++id) { const MutableSpace* space = _space_info[id].space(); const size_t live = pointer_delta(_space_info[id].new_top(), space->bottom()); - const size_t available = pointer_delta(target_space_end, *new_top_addr); + const size_t available = pointer_delta(dst_space_end, *new_top_addr); + + NOT_PRODUCT(summary_phase_msg(dst_space_id, *new_top_addr, dst_space_end, + SpaceId(id), space->bottom(), space->top());) if (live > 0 && live <= available) { // All the live data will fit. - if (TraceParallelOldGCSummaryPhase) { - tty->print_cr("summarizing %d into old_space @ " PTR_FORMAT, - id, *new_top_addr); - } - _summary_data.summarize(*new_top_addr, target_space_end, - space->bottom(), space->top(), - new_top_addr); - - // Clear the source_region field for each region in the space. - HeapWord* const new_top = _space_info[id].new_top(); - HeapWord* const clear_end = _summary_data.region_align_up(new_top); - RegionData* beg_region = - _summary_data.addr_to_region_ptr(space->bottom()); - RegionData* end_region = _summary_data.addr_to_region_ptr(clear_end); - while (beg_region < end_region) { - beg_region->set_source_region(0); - ++beg_region; - } + bool done = _summary_data.summarize(_space_info[id].split_info(), + space->bottom(), space->top(), + NULL, + *new_top_addr, dst_space_end, + new_top_addr); + assert(done, "space must fit into old gen"); // Reset the new_top value for the space. _space_info[id].set_new_top(space->bottom()); + } else if (live > 0) { + // Attempt to fit part of the source space into the target space. + HeapWord* next_src_addr = NULL; + bool done = _summary_data.summarize(_space_info[id].split_info(), + space->bottom(), space->top(), + &next_src_addr, + *new_top_addr, dst_space_end, + new_top_addr); + assert(!done, "space should not fit into old gen"); + assert(next_src_addr != NULL, "sanity"); + + // The source space becomes the new target, so the remainder is compacted + // within the space itself. + dst_space_id = SpaceId(id); + dst_space_end = space->end(); + new_top_addr = _space_info[id].new_top_addr(); + NOT_PRODUCT(summary_phase_msg(dst_space_id, + space->bottom(), dst_space_end, + SpaceId(id), next_src_addr, space->top());) + done = _summary_data.summarize(_space_info[id].split_info(), + next_src_addr, space->top(), + NULL, + space->bottom(), dst_space_end, + new_top_addr); + assert(done, "space must fit when compacted into itself"); + assert(*new_top_addr <= space->top(), "usage should not grow"); } } @@ -1807,9 +2257,14 @@ // Fill the unused part of the old gen. MutableSpace* const old_space = old_gen->object_space(); - MemRegion old_gen_unused(old_space->top(), old_space->end()); - if (!old_gen_unused.is_empty()) { - SharedHeap::fill_region_with_object(old_gen_unused); + HeapWord* const unused_start = old_space->top(); + size_t const unused_words = pointer_delta(old_space->end(), unused_start); + + if (unused_words > 0) { + if (unused_words < CollectedHeap::min_fill_size()) { + return false; // If the old gen cannot be filled, must give up. + } + CollectedHeap::fill_with_objects(unused_start, unused_words); } // Take the live data from eden and set both top and end in the old gen to @@ -1825,9 +2280,8 @@ // Update the object start array for the filler object and the data from eden. ObjectStartArray* const start_array = old_gen->start_array(); - HeapWord* const start = old_gen_unused.start(); - for (HeapWord* addr = start; addr < new_top; addr += oop(addr)->size()) { - start_array->allocate_block(addr); + for (HeapWord* p = unused_start; p < new_top; p += oop(p)->size()) { + start_array->allocate_block(p); } // Could update the promoted average here, but it is not typically updated at @@ -2048,14 +2502,13 @@ // regions in the dense prefix. Assume that 1 gc thread // will work on opening the gaps and the remaining gc threads // will work on the dense prefix. - SpaceId space_id = old_space_id; - while (space_id != last_space_id) { + unsigned int space_id; + for (space_id = old_space_id; space_id < last_space_id; ++ space_id) { HeapWord* const dense_prefix_end = _space_info[space_id].dense_prefix(); const MutableSpace* const space = _space_info[space_id].space(); if (dense_prefix_end == space->bottom()) { // There is no dense prefix for this space. - space_id = next_compaction_space_id(space_id); continue; } @@ -2105,23 +2558,20 @@ // region_index_end is not processed size_t region_index_end = MIN2(region_index_start + regions_per_thread, region_index_end_dense_prefix); - q->enqueue(new UpdateDensePrefixTask( - space_id, - region_index_start, - region_index_end)); + q->enqueue(new UpdateDensePrefixTask(SpaceId(space_id), + region_index_start, + region_index_end)); region_index_start = region_index_end; } } // This gets any part of the dense prefix that did not // fit evenly. if (region_index_start < region_index_end_dense_prefix) { - q->enqueue(new UpdateDensePrefixTask( - space_id, - region_index_start, - region_index_end_dense_prefix)); + q->enqueue(new UpdateDensePrefixTask(SpaceId(space_id), + region_index_start, + region_index_end_dense_prefix)); } - space_id = next_compaction_space_id(space_id); - } // End tasks for dense prefix + } } void PSParallelCompact::enqueue_region_stealing_tasks( @@ -2567,16 +3017,24 @@ return m->bit_to_addr(cur_beg); } -HeapWord* -PSParallelCompact::first_src_addr(HeapWord* const dest_addr, - size_t src_region_idx) +HeapWord* PSParallelCompact::first_src_addr(HeapWord* const dest_addr, + SpaceId src_space_id, + size_t src_region_idx) { + assert(summary_data().is_region_aligned(dest_addr), "not aligned"); + + const SplitInfo& split_info = _space_info[src_space_id].split_info(); + if (split_info.dest_region_addr() == dest_addr) { + // The partial object ending at the split point contains the first word to + // be copied to dest_addr. + return split_info.first_src_addr(); + } + + const ParallelCompactData& sd = summary_data(); ParMarkBitMap* const bitmap = mark_bitmap(); - const ParallelCompactData& sd = summary_data(); const size_t RegionSize = ParallelCompactData::RegionSize; assert(sd.is_region_aligned(dest_addr), "not aligned"); - const RegionData* const src_region_ptr = sd.region(src_region_idx); const size_t partial_obj_size = src_region_ptr->partial_obj_size(); HeapWord* const src_region_destination = src_region_ptr->destination(); @@ -2625,19 +3083,34 @@ } void PSParallelCompact::decrement_destination_counts(ParCompactionManager* cm, + SpaceId src_space_id, size_t beg_region, HeapWord* end_addr) { ParallelCompactData& sd = summary_data(); + +#ifdef ASSERT + MutableSpace* const src_space = _space_info[src_space_id].space(); + HeapWord* const beg_addr = sd.region_to_addr(beg_region); + assert(src_space->contains(beg_addr) || beg_addr == src_space->end(), + "src_space_id does not match beg_addr"); + assert(src_space->contains(end_addr) || end_addr == src_space->end(), + "src_space_id does not match end_addr"); +#endif // #ifdef ASSERT + RegionData* const beg = sd.region(beg_region); - HeapWord* const end_addr_aligned_up = sd.region_align_up(end_addr); - RegionData* const end = sd.addr_to_region_ptr(end_addr_aligned_up); - size_t cur_idx = beg_region; - for (RegionData* cur = beg; cur < end; ++cur, ++cur_idx) { + RegionData* const end = sd.addr_to_region_ptr(sd.region_align_up(end_addr)); + + // Regions up to new_top() are enqueued if they become available. + HeapWord* const new_top = _space_info[src_space_id].new_top(); + RegionData* const enqueue_end = + sd.addr_to_region_ptr(sd.region_align_up(new_top)); + + for (RegionData* cur = beg; cur < end; ++cur) { assert(cur->data_size() > 0, "region must have live data"); cur->decrement_destination_count(); - if (cur_idx <= cur->source_region() && cur->available() && cur->claim()) { - cm->save_for_processing(cur_idx); + if (cur < enqueue_end && cur->available() && cur->claim()) { + cm->save_for_processing(sd.region(cur)); } } } @@ -2737,7 +3210,7 @@ HeapWord* src_space_top = _space_info[src_space_id].space()->top(); MoveAndUpdateClosure closure(bitmap, cm, start_array, dest_addr, words); - closure.set_source(first_src_addr(dest_addr, src_region_idx)); + closure.set_source(first_src_addr(dest_addr, src_space_id, src_region_idx)); // Adjust src_region_idx to prepare for decrementing destination counts (the // destination count is not decremented when a region is copied to itself). @@ -2752,7 +3225,8 @@ HeapWord* const old_src_addr = closure.source(); closure.copy_partial_obj(); if (closure.is_full()) { - decrement_destination_counts(cm, src_region_idx, closure.source()); + decrement_destination_counts(cm, src_space_id, src_region_idx, + closure.source()); region_ptr->set_deferred_obj_addr(NULL); region_ptr->set_completed(); return; @@ -2761,7 +3235,7 @@ HeapWord* const end_addr = sd.region_align_down(closure.source()); if (sd.region_align_down(old_src_addr) != end_addr) { // The partial object was copied from more than one source region. - decrement_destination_counts(cm, src_region_idx, end_addr); + decrement_destination_counts(cm, src_space_id, src_region_idx, end_addr); // Move to the next source region, possibly switching spaces as well. All // args except end_addr may be modified. @@ -2801,19 +3275,21 @@ region_ptr->set_deferred_obj_addr(closure.destination()); status = closure.copy_until_full(); // copies from closure.source() - decrement_destination_counts(cm, src_region_idx, closure.source()); + decrement_destination_counts(cm, src_space_id, src_region_idx, + closure.source()); region_ptr->set_completed(); return; } if (status == ParMarkBitMap::full) { - decrement_destination_counts(cm, src_region_idx, closure.source()); + decrement_destination_counts(cm, src_space_id, src_region_idx, + closure.source()); region_ptr->set_deferred_obj_addr(NULL); region_ptr->set_completed(); return; } - decrement_destination_counts(cm, src_region_idx, end_addr); + decrement_destination_counts(cm, src_space_id, src_region_idx, end_addr); // Move to the next source region, possibly switching spaces as well. All // args except end_addr may be modified. @@ -2892,7 +3368,7 @@ ParMarkBitMap::IterationStatus MoveAndUpdateClosure::copy_until_full() { if (source() != destination()) { - assert(source() > destination(), "must copy to the left"); + DEBUG_ONLY(PSParallelCompact::check_new_location(source(), destination());) Copy::aligned_conjoint_words(source(), destination(), words_remaining()); } update_state(words_remaining()); @@ -2913,7 +3389,7 @@ // This test is necessary; if omitted, the pointer updates to a partial object // that crosses the dense prefix boundary could be overwritten. if (source() != destination()) { - assert(source() > destination(), "must copy to the left"); + DEBUG_ONLY(PSParallelCompact::check_new_location(source(), destination());) Copy::aligned_conjoint_words(source(), destination(), words); } update_state(words); @@ -2938,7 +3414,7 @@ } if (destination() != source()) { - assert(destination() < source(), "must copy to the left"); + DEBUG_ONLY(PSParallelCompact::check_new_location(source(), destination());) Copy::aligned_conjoint_words(source(), destination(), words); } @@ -3008,34 +3484,3 @@ summary_data().calc_new_pointer(Universe::intArrayKlassObj()); } -// The initial implementation of this method created a field -// _next_compaction_space_id in SpaceInfo and initialized -// that field in SpaceInfo::initialize_space_info(). That -// required that _next_compaction_space_id be declared a -// SpaceId in SpaceInfo and that would have required that -// either SpaceId be declared in a separate class or that -// it be declared in SpaceInfo. It didn't seem consistent -// to declare it in SpaceInfo (didn't really fit logically). -// Alternatively, defining a separate class to define SpaceId -// seem excessive. This implementation is simple and localizes -// the knowledge. - -PSParallelCompact::SpaceId -PSParallelCompact::next_compaction_space_id(SpaceId id) { - assert(id < last_space_id, "id out of range"); - switch (id) { - case perm_space_id : - return last_space_id; - case old_space_id : - return eden_space_id; - case eden_space_id : - return from_space_id; - case from_space_id : - return to_space_id; - case to_space_id : - return last_space_id; - default: - assert(false, "Bad space id"); - return last_space_id; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -36,6 +36,123 @@ class MoveAndUpdateClosure; class RefProcTaskExecutor; +// The SplitInfo class holds the information needed to 'split' a source region +// so that the live data can be copied to two destination *spaces*. Normally, +// all the live data in a region is copied to a single destination space (e.g., +// everything live in a region in eden is copied entirely into the old gen). +// However, when the heap is nearly full, all the live data in eden may not fit +// into the old gen. Copying only some of the regions from eden to old gen +// requires finding a region that does not contain a partial object (i.e., no +// live object crosses the region boundary) somewhere near the last object that +// does fit into the old gen. Since it's not always possible to find such a +// region, splitting is necessary for predictable behavior. +// +// A region is always split at the end of the partial object. This avoids +// additional tests when calculating the new location of a pointer, which is a +// very hot code path. The partial object and everything to its left will be +// copied to another space (call it dest_space_1). The live data to the right +// of the partial object will be copied either within the space itself, or to a +// different destination space (distinct from dest_space_1). +// +// Split points are identified during the summary phase, when region +// destinations are computed: data about the split, including the +// partial_object_size, is recorded in a SplitInfo record and the +// partial_object_size field in the summary data is set to zero. The zeroing is +// possible (and necessary) since the partial object will move to a different +// destination space than anything to its right, thus the partial object should +// not affect the locations of any objects to its right. +// +// The recorded data is used during the compaction phase, but only rarely: when +// the partial object on the split region will be copied across a destination +// region boundary. This test is made once each time a region is filled, and is +// a simple address comparison, so the overhead is negligible (see +// PSParallelCompact::first_src_addr()). +// +// Notes: +// +// Only regions with partial objects are split; a region without a partial +// object does not need any extra bookkeeping. +// +// At most one region is split per space, so the amount of data required is +// constant. +// +// A region is split only when the destination space would overflow. Once that +// happens, the destination space is abandoned and no other data (even from +// other source spaces) is targeted to that destination space. Abandoning the +// destination space may leave a somewhat large unused area at the end, if a +// large object caused the overflow. +// +// Future work: +// +// More bookkeeping would be required to continue to use the destination space. +// The most general solution would allow data from regions in two different +// source spaces to be "joined" in a single destination region. At the very +// least, additional code would be required in next_src_region() to detect the +// join and skip to an out-of-order source region. If the join region was also +// the last destination region to which a split region was copied (the most +// likely case), then additional work would be needed to get fill_region() to +// stop iteration and switch to a new source region at the right point. Basic +// idea would be to use a fake value for the top of the source space. It is +// doable, if a bit tricky. +// +// A simpler (but less general) solution would fill the remainder of the +// destination region with a dummy object and continue filling the next +// destination region. + +class SplitInfo +{ +public: + // Return true if this split info is valid (i.e., if a split has been + // recorded). The very first region cannot have a partial object and thus is + // never split, so 0 is the 'invalid' value. + bool is_valid() const { return _src_region_idx > 0; } + + // Return true if this split holds data for the specified source region. + inline bool is_split(size_t source_region) const; + + // The index of the split region, the size of the partial object on that + // region and the destination of the partial object. + size_t src_region_idx() const { return _src_region_idx; } + size_t partial_obj_size() const { return _partial_obj_size; } + HeapWord* destination() const { return _destination; } + + // The destination count of the partial object referenced by this split + // (either 1 or 2). This must be added to the destination count of the + // remainder of the source region. + unsigned int destination_count() const { return _destination_count; } + + // If a word within the partial object will be written to the first word of a + // destination region, this is the address of the destination region; + // otherwise this is NULL. + HeapWord* dest_region_addr() const { return _dest_region_addr; } + + // If a word within the partial object will be written to the first word of a + // destination region, this is the address of that word within the partial + // object; otherwise this is NULL. + HeapWord* first_src_addr() const { return _first_src_addr; } + + // Record the data necessary to split the region src_region_idx. + void record(size_t src_region_idx, size_t partial_obj_size, + HeapWord* destination); + + void clear(); + + DEBUG_ONLY(void verify_clear();) + +private: + size_t _src_region_idx; + size_t _partial_obj_size; + HeapWord* _destination; + unsigned int _destination_count; + HeapWord* _dest_region_addr; + HeapWord* _first_src_addr; +}; + +inline bool SplitInfo::is_split(size_t region_idx) const +{ + return _src_region_idx == region_idx && is_valid(); +} + class SpaceInfo { public: @@ -58,18 +175,23 @@ // is no start array. ObjectStartArray* start_array() const { return _start_array; } + SplitInfo& split_info() { return _split_info; } + void set_space(MutableSpace* s) { _space = s; } void set_new_top(HeapWord* addr) { _new_top = addr; } void set_min_dense_prefix(HeapWord* addr) { _min_dense_prefix = addr; } void set_dense_prefix(HeapWord* addr) { _dense_prefix = addr; } void set_start_array(ObjectStartArray* s) { _start_array = s; } + void publish_new_top() const { _space->set_top(_new_top); } + private: MutableSpace* _space; HeapWord* _new_top; HeapWord* _min_dense_prefix; HeapWord* _dense_prefix; ObjectStartArray* _start_array; + SplitInfo _split_info; }; class ParallelCompactData @@ -230,9 +352,14 @@ // must be region-aligned; end need not be. void summarize_dense_prefix(HeapWord* beg, HeapWord* end); - bool summarize(HeapWord* target_beg, HeapWord* target_end, + HeapWord* summarize_split_space(size_t src_region, SplitInfo& split_info, + HeapWord* destination, HeapWord* target_end, + HeapWord** target_next); + bool summarize(SplitInfo& split_info, HeapWord* source_beg, HeapWord* source_end, - HeapWord** target_next, HeapWord** source_next = 0); + HeapWord** source_next, + HeapWord* target_beg, HeapWord* target_end, + HeapWord** target_next); void clear(); void clear_range(size_t beg_region, size_t end_region); @@ -838,13 +965,31 @@ // non-empty. static void fill_dense_prefix_end(SpaceId id); + // Clear the summary data source_region field for the specified addresses. + static void clear_source_region(HeapWord* beg_addr, HeapWord* end_addr); + +#ifndef PRODUCT + // Routines to provoke splitting a young gen space (ParallelOldGCSplitALot). + + // Fill the region [start, start + words) with live object(s). Only usable + // for the old and permanent generations. + static void fill_with_live_objects(SpaceId id, HeapWord* const start, + size_t words); + // Include the new objects in the summary data. + static void summarize_new_objects(SpaceId id, HeapWord* start); + + // Add live objects to a survivor space since it's rare that both survivors + // are non-empty. + static void provoke_split_fill_survivor(SpaceId id); + + // Add live objects and/or choose the dense prefix to provoke splitting. + static void provoke_split(bool & maximum_compaction); +#endif + static void summarize_spaces_quick(); static void summarize_space(SpaceId id, bool maximum_compaction); static void summary_phase(ParCompactionManager* cm, bool maximum_compaction); - // The space that is compacted after space_id. - static SpaceId next_compaction_space_id(SpaceId space_id); - // Adjust addresses in roots. Does not adjust addresses in heap. static void adjust_roots(); @@ -999,6 +1144,7 @@ // Return the address of the word to be copied to dest_addr, which must be // aligned to a region boundary. static HeapWord* first_src_addr(HeapWord* const dest_addr, + SpaceId src_space_id, size_t src_region_idx); // Determine the next source region, set closure.source() to the start of the @@ -1012,8 +1158,10 @@ HeapWord* end_addr); // Decrement the destination count for each non-empty source region in the - // range [beg_region, region(region_align_up(end_addr))). + // range [beg_region, region(region_align_up(end_addr))). If the destination + // count for a region goes to 0 and it needs to be filled, enqueue it. static void decrement_destination_counts(ParCompactionManager* cm, + SpaceId src_space_id, size_t beg_region, HeapWord* end_addr); @@ -1081,9 +1229,15 @@ const SpaceId id, const bool maximum_compaction, HeapWord* const addr); + static void summary_phase_msg(SpaceId dst_space_id, + HeapWord* dst_beg, HeapWord* dst_end, + SpaceId src_space_id, + HeapWord* src_beg, HeapWord* src_end); #endif // #ifndef PRODUCT #ifdef ASSERT + // Sanity check the new location of a word in the heap. + static inline void check_new_location(HeapWord* old_addr, HeapWord* new_addr); // Verify that all the regions have been emptied. static void verify_complete(SpaceId space_id); #endif // #ifdef ASSERT @@ -1251,6 +1405,15 @@ } } +#ifdef ASSERT +inline void +PSParallelCompact::check_new_location(HeapWord* old_addr, HeapWord* new_addr) +{ + assert(old_addr >= new_addr || space_id(old_addr) != space_id(new_addr), + "must move left or to a different space"); +} +#endif // ASSERT + class MoveAndUpdateClosure: public ParMarkBitMapClosure { public: inline MoveAndUpdateClosure(ParMarkBitMap* bitmap, ParCompactionManager* cm, @@ -1324,31 +1487,28 @@ oop(addr)->update_contents(compaction_manager()); } -class FillClosure: public ParMarkBitMapClosure { - public: +class FillClosure: public ParMarkBitMapClosure +{ +public: FillClosure(ParCompactionManager* cm, PSParallelCompact::SpaceId space_id) : ParMarkBitMapClosure(PSParallelCompact::mark_bitmap(), cm), - _space_id(space_id), - _start_array(PSParallelCompact::start_array(space_id)) { - assert(_space_id == PSParallelCompact::perm_space_id || - _space_id == PSParallelCompact::old_space_id, + _start_array(PSParallelCompact::start_array(space_id)) + { + assert(space_id == PSParallelCompact::perm_space_id || + space_id == PSParallelCompact::old_space_id, "cannot use FillClosure in the young gen"); - assert(bitmap() != NULL, "need a bitmap"); - assert(_start_array != NULL, "need a start array"); - } - - void fill_region(HeapWord* addr, size_t size) { - MemRegion region(addr, size); - SharedHeap::fill_region_with_object(region); - _start_array->allocate_block(addr); } virtual IterationStatus do_addr(HeapWord* addr, size_t size) { - fill_region(addr, size); + CollectedHeap::fill_with_objects(addr, size); + HeapWord* const end = addr + size; + do { + _start_array->allocate_block(addr); + addr += oop(addr)->size(); + } while (addr < end); return ParMarkBitMap::incomplete; } private: - const PSParallelCompact::SpaceId _space_id; - ObjectStartArray* const _start_array; + ObjectStartArray* const _start_array; }; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -499,26 +499,15 @@ // We lost, someone else "owns" this object guarantee(o->is_forwarded(), "Object must be forwarded if the cas failed."); - // Unallocate the space used. NOTE! We may have directly allocated - // the object. If so, we cannot deallocate it, so we have to test! + // Try to deallocate the space. If it was directly allocated we cannot + // deallocate it, so we have to test. If the deallocation fails, + // overwrite with a filler object. if (new_obj_is_tenured) { if (!_old_lab.unallocate_object(new_obj)) { - // The promotion lab failed to unallocate the object. - // We need to overwrite the object with a filler that - // contains no interior pointers. - MemRegion mr((HeapWord*)new_obj, new_obj_size); - // Clean this up and move to oopFactory (see bug 4718422) - SharedHeap::fill_region_with_object(mr); + CollectedHeap::fill_with_object((HeapWord*) new_obj, new_obj_size); } - } else { - if (!_young_lab.unallocate_object(new_obj)) { - // The promotion lab failed to unallocate the object. - // We need to overwrite the object with a filler that - // contains no interior pointers. - MemRegion mr((HeapWord*)new_obj, new_obj_size); - // Clean this up and move to oopFactory (see bug 4718422) - SharedHeap::fill_region_with_object(mr); - } + } else if (!_young_lab.unallocate_object(new_obj)) { + CollectedHeap::fill_with_object((HeapWord*) new_obj, new_obj_size); } // don't update this before the unallocation! diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp --- a/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -76,8 +76,8 @@ MutableSpace *s = ls->space(); if (s->top() < top()) { // For all spaces preceeding the one containing top() if (s->free_in_words() > 0) { - SharedHeap::fill_region_with_object(MemRegion(s->top(), s->end())); size_t area_touched_words = pointer_delta(s->end(), s->top()); + CollectedHeap::fill_with_object(s->top(), area_touched_words); #ifndef ASSERT if (!ZapUnusedHeapArea) { area_touched_words = MIN2((size_t)align_object_size(typeArrayOopDesc::header_size(T_INT)), @@ -686,11 +686,11 @@ // a minimal object; assuming that's not the last chunk in which case we don't care. if (i < lgrp_spaces()->length() - 1) { size_t remainder = pointer_delta(s->end(), value); - const size_t minimal_object_size = oopDesc::header_size(); - if (remainder < minimal_object_size && remainder > 0) { - // Add a filler object of a minimal size, it will cross the chunk boundary. - SharedHeap::fill_region_with_object(MemRegion(value, minimal_object_size)); - value += minimal_object_size; + const size_t min_fill_size = CollectedHeap::min_fill_size(); + if (remainder < min_fill_size && remainder > 0) { + // Add a minimum size filler object; it will cross the chunk boundary. + CollectedHeap::fill_with_object(value, min_fill_size); + value += min_fill_size; assert(!s->contains(value), "Should be in the next chunk"); // Restart the loop from the same chunk, since the value has moved // to the next one. diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_interface/collectedHeap.cpp --- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -30,12 +30,21 @@ int CollectedHeap::_fire_out_of_memory_count = 0; #endif +size_t CollectedHeap::_filler_array_max_size = 0; + // Memory state functions. -CollectedHeap::CollectedHeap() : - _reserved(), _barrier_set(NULL), _is_gc_active(false), - _total_collections(0), _total_full_collections(0), - _gc_cause(GCCause::_no_gc), _gc_lastcause(GCCause::_no_gc) { +CollectedHeap::CollectedHeap() +{ + const size_t max_len = size_t(arrayOopDesc::max_array_length(T_INT)); + const size_t elements_per_word = HeapWordSize / sizeof(jint); + _filler_array_max_size = align_object_size(filler_array_hdr_size() + + max_len * elements_per_word); + + _barrier_set = NULL; + _is_gc_active = false; + _total_collections = _total_full_collections = 0; + _gc_cause = _gc_lastcause = GCCause::_no_gc; NOT_PRODUCT(_promotion_failure_alot_count = 0;) NOT_PRODUCT(_promotion_failure_alot_gc_number = 0;) @@ -128,6 +137,94 @@ return obj; } +size_t CollectedHeap::filler_array_hdr_size() { + return size_t(arrayOopDesc::header_size(T_INT)); +} + +size_t CollectedHeap::filler_array_min_size() { + return align_object_size(filler_array_hdr_size()); +} + +size_t CollectedHeap::filler_array_max_size() { + return _filler_array_max_size; +} + +#ifdef ASSERT +void CollectedHeap::fill_args_check(HeapWord* start, size_t words) +{ + assert(words >= min_fill_size(), "too small to fill"); + assert(words % MinObjAlignment == 0, "unaligned size"); + assert(Universe::heap()->is_in_reserved(start), "not in heap"); + assert(Universe::heap()->is_in_reserved(start + words - 1), "not in heap"); +} + +void CollectedHeap::zap_filler_array(HeapWord* start, size_t words) +{ + if (ZapFillerObjects) { + Copy::fill_to_words(start + filler_array_hdr_size(), + words - filler_array_hdr_size(), 0XDEAFBABE); + } +} +#endif // ASSERT + +void +CollectedHeap::fill_with_array(HeapWord* start, size_t words) +{ + assert(words >= filler_array_min_size(), "too small for an array"); + assert(words <= filler_array_max_size(), "too big for a single object"); + + const size_t payload_size = words - filler_array_hdr_size(); + const size_t len = payload_size * HeapWordSize / sizeof(jint); + + // Set the length first for concurrent GC. + ((arrayOop)start)->set_length((int)len); + post_allocation_setup_common(Universe::intArrayKlassObj(), start, words); + DEBUG_ONLY(zap_filler_array(start, words);) +} + +void +CollectedHeap::fill_with_object_impl(HeapWord* start, size_t words) +{ + assert(words <= filler_array_max_size(), "too big for a single object"); + + if (words >= filler_array_min_size()) { + fill_with_array(start, words); + } else if (words > 0) { + assert(words == min_fill_size(), "unaligned size"); + post_allocation_setup_common(SystemDictionary::object_klass(), start, + words); + } +} + +void CollectedHeap::fill_with_object(HeapWord* start, size_t words) +{ + DEBUG_ONLY(fill_args_check(start, words);) + HandleMark hm; // Free handles before leaving. + fill_with_object_impl(start, words); +} + +void CollectedHeap::fill_with_objects(HeapWord* start, size_t words) +{ + DEBUG_ONLY(fill_args_check(start, words);) + HandleMark hm; // Free handles before leaving. + +#ifdef LP64 + // A single array can fill ~8G, so multiple objects are needed only in 64-bit. + // First fill with arrays, ensuring that any remaining space is big enough to + // fill. The remainder is filled with a single object. + const size_t min = min_fill_size(); + const size_t max = filler_array_max_size(); + while (words > max) { + const size_t cur = words - max >= min ? max : max - min; + fill_with_array(start, cur); + start += cur; + words -= cur; + } +#endif + + fill_with_object_impl(start, words); +} + oop CollectedHeap::new_store_barrier(oop new_obj) { // %%% This needs refactoring. (It was imported from the server compiler.) guarantee(can_elide_tlab_store_barriers(), "store barrier elision not supported"); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_interface/collectedHeap.hpp --- a/hotspot/src/share/vm/gc_interface/collectedHeap.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_interface/collectedHeap.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -47,6 +47,9 @@ static int _fire_out_of_memory_count; #endif + // Used for filler objects (static, but initialized in ctor). + static size_t _filler_array_max_size; + protected: MemRegion _reserved; BarrierSet* _barrier_set; @@ -119,6 +122,21 @@ // Clears an allocated object. inline static void init_obj(HeapWord* obj, size_t size); + // Filler object utilities. + static inline size_t filler_array_hdr_size(); + static inline size_t filler_array_min_size(); + static inline size_t filler_array_max_size(); + + DEBUG_ONLY(static void fill_args_check(HeapWord* start, size_t words);) + DEBUG_ONLY(static void zap_filler_array(HeapWord* start, size_t words);) + + // Fill with a single array; caller must ensure filler_array_min_size() <= + // words <= filler_array_max_size(). + static inline void fill_with_array(HeapWord* start, size_t words); + + // Fill with a single object (either an int array or a java.lang.Object). + static inline void fill_with_object_impl(HeapWord* start, size_t words); + // Verification functions virtual void check_for_bad_heap_word_value(HeapWord* addr, size_t size) PRODUCT_RETURN; @@ -294,6 +312,27 @@ // The boundary between a "large" and "small" array of primitives, in words. virtual size_t large_typearray_limit() = 0; + // Utilities for turning raw memory into filler objects. + // + // min_fill_size() is the smallest region that can be filled. + // fill_with_objects() can fill arbitrary-sized regions of the heap using + // multiple objects. fill_with_object() is for regions known to be smaller + // than the largest array of integers; it uses a single object to fill the + // region and has slightly less overhead. + static size_t min_fill_size() { + return size_t(align_object_size(oopDesc::header_size())); + } + + static void fill_with_objects(HeapWord* start, size_t words); + + static void fill_with_object(HeapWord* start, size_t words); + static void fill_with_object(MemRegion region) { + fill_with_object(region.start(), region.word_size()); + } + static void fill_with_object(HeapWord* start, HeapWord* end) { + fill_with_object(start, pointer_delta(end, start)); + } + // Some heaps may offer a contiguous region for shared non-blocking // allocation, via inlined code (by exporting the address of the top and // end fields defining the extent of the contiguous allocation region.) diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp --- a/hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -34,7 +34,6 @@ void CollectedHeap::post_allocation_setup_no_klass_install(KlassHandle klass, HeapWord* objPtr, size_t size) { - oop obj = (oop)objPtr; assert(obj != NULL, "NULL object pointer"); @@ -44,9 +43,6 @@ // May be bootstrapping obj->set_mark(markOopDesc::prototype()); } - - // support low memory notifications (no-op if not enabled) - LowMemoryDetector::detect_low_memory_for_collected_pools(); } void CollectedHeap::post_allocation_install_obj_klass(KlassHandle klass, @@ -65,6 +61,9 @@ // Support for jvmti and dtrace inline void post_allocation_notify(KlassHandle klass, oop obj) { + // support low memory notifications (no-op if not enabled) + LowMemoryDetector::detect_low_memory_for_collected_pools(); + // support for JVMTI VMObjectAlloc event (no-op if not enabled) JvmtiExport::vm_object_alloc_event_collector(obj); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/includeDB_gc --- a/hotspot/src/share/vm/includeDB_gc Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/includeDB_gc Wed Jul 05 16:45:14 2017 +0200 @@ -28,21 +28,22 @@ collectedHeap.cpp collectedHeap.inline.hpp collectedHeap.cpp init.hpp collectedHeap.cpp oop.inline.hpp +collectedHeap.cpp systemDictionary.hpp collectedHeap.cpp thread_.inline.hpp collectedHeap.hpp allocation.hpp collectedHeap.hpp barrierSet.hpp collectedHeap.hpp gcCause.hpp collectedHeap.hpp handles.hpp -collectedHeap.hpp perfData.hpp +collectedHeap.hpp perfData.hpp collectedHeap.hpp safepoint.hpp collectedHeap.inline.hpp arrayOop.hpp collectedHeap.inline.hpp collectedHeap.hpp collectedHeap.inline.hpp copy.hpp collectedHeap.inline.hpp jvmtiExport.hpp -collectedHeap.inline.hpp lowMemoryDetector.hpp -collectedHeap.inline.hpp sharedRuntime.hpp +collectedHeap.inline.hpp lowMemoryDetector.hpp +collectedHeap.inline.hpp sharedRuntime.hpp collectedHeap.inline.hpp thread.hpp collectedHeap.inline.hpp threadLocalAllocBuffer.inline.hpp collectedHeap.inline.hpp universe.hpp diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/cardTableModRefBS.cpp --- a/hotspot/src/share/vm/memory/cardTableModRefBS.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/cardTableModRefBS.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -283,7 +283,7 @@ } else { entry = byte_after(old_region.last()); } - assert(index_for(new_region.last()) < (int) _guard_index, + assert(index_for(new_region.last()) < _guard_index, "The guard card will be overwritten"); // This line commented out cleans the newly expanded region and // not the aligned up expanded region. diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/cardTableModRefBS.hpp --- a/hotspot/src/share/vm/memory/cardTableModRefBS.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/cardTableModRefBS.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -428,7 +428,7 @@ } // Mapping from address to card marking array index. - int index_for(void* p) { + size_t index_for(void* p) { assert(_whole_heap.contains(p), "out of bounds access to card marking array"); return byte_for(p) - _byte_map; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/permGen.cpp --- a/hotspot/src/share/vm/memory/permGen.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/permGen.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -26,20 +26,24 @@ #include "incls/_permGen.cpp.incl" HeapWord* PermGen::mem_allocate_in_gen(size_t size, Generation* gen) { - MutexLocker ml(Heap_lock); GCCause::Cause next_cause = GCCause::_permanent_generation_full; GCCause::Cause prev_cause = GCCause::_no_gc; + unsigned int gc_count_before, full_gc_count_before; + HeapWord* obj; for (;;) { - HeapWord* obj = gen->allocate(size, false); - if (obj != NULL) { - return obj; - } - if (gen->capacity() < _capacity_expansion_limit || - prev_cause != GCCause::_no_gc) { - obj = gen->expand_and_allocate(size, false); - } - if (obj == NULL && prev_cause != GCCause::_last_ditch_collection) { + { + MutexLocker ml(Heap_lock); + if ((obj = gen->allocate(size, false)) != NULL) { + return obj; + } + if (gen->capacity() < _capacity_expansion_limit || + prev_cause != GCCause::_no_gc) { + obj = gen->expand_and_allocate(size, false); + } + if (obj != NULL || prev_cause == GCCause::_last_ditch_collection) { + return obj; + } if (GC_locker::is_active_and_needs_gc()) { // If this thread is not in a jni critical section, we stall // the requestor until the critical section has cleared and @@ -61,31 +65,27 @@ return NULL; } } + // Read the GC count while holding the Heap_lock + gc_count_before = SharedHeap::heap()->total_collections(); + full_gc_count_before = SharedHeap::heap()->total_full_collections(); + } - // Read the GC count while holding the Heap_lock - unsigned int gc_count_before = SharedHeap::heap()->total_collections(); - unsigned int full_gc_count_before = SharedHeap::heap()->total_full_collections(); - { - MutexUnlocker mu(Heap_lock); // give up heap lock, execute gets it back - VM_GenCollectForPermanentAllocation op(size, gc_count_before, full_gc_count_before, - next_cause); - VMThread::execute(&op); - if (!op.prologue_succeeded() || op.gc_locked()) { - assert(op.result() == NULL, "must be NULL if gc_locked() is true"); - continue; // retry and/or stall as necessary - } - obj = op.result(); - assert(obj == NULL || SharedHeap::heap()->is_in_reserved(obj), - "result not in heap"); - if (obj != NULL) { - return obj; - } - } - prev_cause = next_cause; - next_cause = GCCause::_last_ditch_collection; - } else { + // Give up heap lock above, VMThread::execute below gets it back + VM_GenCollectForPermanentAllocation op(size, gc_count_before, full_gc_count_before, + next_cause); + VMThread::execute(&op); + if (!op.prologue_succeeded() || op.gc_locked()) { + assert(op.result() == NULL, "must be NULL if gc_locked() is true"); + continue; // retry and/or stall as necessary + } + obj = op.result(); + assert(obj == NULL || SharedHeap::heap()->is_in_reserved(obj), + "result not in heap"); + if (obj != NULL) { return obj; } + prev_cause = next_cause; + next_cause = GCCause::_last_ditch_collection; } } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/sharedHeap.cpp --- a/hotspot/src/share/vm/memory/sharedHeap.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/sharedHeap.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -248,46 +248,6 @@ perm_gen()->ref_processor_init(); } -void SharedHeap::fill_region_with_object(MemRegion mr) { - // Disable the posting of JVMTI VMObjectAlloc events as we - // don't want the filling of tlabs with filler arrays to be - // reported to the profiler. - NoJvmtiVMObjectAllocMark njm; - - // Disable low memory detector because there is no real allocation. - LowMemoryDetectorDisabler lmd_dis; - - // It turns out that post_allocation_setup_array takes a handle, so the - // call below contains an implicit conversion. Best to free that handle - // as soon as possible. - HandleMark hm; - - size_t word_size = mr.word_size(); - size_t aligned_array_header_size = - align_object_size(typeArrayOopDesc::header_size(T_INT)); - - if (word_size >= aligned_array_header_size) { - const size_t array_length = - pointer_delta(mr.end(), mr.start()) - - typeArrayOopDesc::header_size(T_INT); - const size_t array_length_words = - array_length * (HeapWordSize/sizeof(jint)); - post_allocation_setup_array(Universe::intArrayKlassObj(), - mr.start(), - mr.word_size(), - (int)array_length_words); -#ifdef ASSERT - HeapWord* elt_words = (mr.start() + typeArrayOopDesc::header_size(T_INT)); - Copy::fill_to_words(elt_words, array_length, 0xDEAFBABE); -#endif - } else { - assert(word_size == (size_t)oopDesc::header_size(), "Unaligned?"); - post_allocation_setup_obj(SystemDictionary::object_klass(), - mr.start(), - mr.word_size()); - } -} - // Some utilities. void SharedHeap::print_size_transition(outputStream* out, size_t bytes_before, diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/sharedHeap.hpp --- a/hotspot/src/share/vm/memory/sharedHeap.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/sharedHeap.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -108,14 +108,6 @@ void set_perm(PermGen* perm_gen) { _perm_gen = perm_gen; } - // A helper function that fills a region of the heap with - // with a single object. - static void fill_region_with_object(MemRegion mr); - - // Minimum garbage fill object size - static size_t min_fill_size() { return (size_t)align_object_size(oopDesc::header_size()); } - static size_t min_fill_size_in_bytes() { return min_fill_size() * HeapWordSize; } - // This function returns the "GenRemSet" object that allows us to scan // generations; at least the perm gen, possibly more in a fully // generational heap. diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/space.cpp --- a/hotspot/src/share/vm/memory/space.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/space.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -409,19 +409,9 @@ HeapWord* q, size_t deadlength) { if (allowed_deadspace_words >= deadlength) { allowed_deadspace_words -= deadlength; - oop(q)->set_mark(markOopDesc::prototype()->set_marked()); - const size_t min_int_array_size = typeArrayOopDesc::header_size(T_INT); - if (deadlength >= min_int_array_size) { - oop(q)->set_klass(Universe::intArrayKlassObj()); - typeArrayOop(q)->set_length((int)((deadlength - min_int_array_size) - * (HeapWordSize/sizeof(jint)))); - } else { - assert((int) deadlength == instanceOopDesc::header_size(), - "size for smallest fake dead object doesn't match"); - oop(q)->set_klass(SystemDictionary::object_klass()); - } - assert((int) deadlength == oop(q)->size(), - "make sure size for fake dead object match"); + CollectedHeap::fill_with_object(q, deadlength); + oop(q)->set_mark(oop(q)->mark()->set_marked()); + assert((int) deadlength == oop(q)->size(), "bad filler object size"); // Recall that we required "q == compaction_top". return true; } else { diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/tenuredGeneration.cpp --- a/hotspot/src/share/vm/memory/tenuredGeneration.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/tenuredGeneration.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -387,7 +387,7 @@ "should contain whole object"); buf->undo_allocation(obj, word_sz); } else { - SharedHeap::fill_region_with_object(MemRegion(obj, word_sz)); + CollectedHeap::fill_with_object(obj, word_sz); } } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp --- a/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -100,8 +100,7 @@ void ThreadLocalAllocBuffer::make_parsable(bool retire) { if (end() != NULL) { invariants(); - MemRegion mr(top(), hard_end()); - SharedHeap::fill_region_with_object(mr); + CollectedHeap::fill_with_object(top(), hard_end()); if (retire || ZeroTLAB) { // "Reset" the TLAB set_start(NULL); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/universe.cpp --- a/hotspot/src/share/vm/memory/universe.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/universe.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -49,16 +49,16 @@ klassOop Universe::_constantPoolCacheKlassObj = NULL; klassOop Universe::_compiledICHolderKlassObj = NULL; klassOop Universe::_systemObjArrayKlassObj = NULL; -oop Universe::_int_mirror = NULL; -oop Universe::_float_mirror = NULL; -oop Universe::_double_mirror = NULL; -oop Universe::_byte_mirror = NULL; -oop Universe::_bool_mirror = NULL; -oop Universe::_char_mirror = NULL; -oop Universe::_long_mirror = NULL; -oop Universe::_short_mirror = NULL; -oop Universe::_void_mirror = NULL; -oop Universe::_mirrors[T_VOID+1] = { NULL /*, NULL...*/ }; +oop Universe::_int_mirror = NULL; +oop Universe::_float_mirror = NULL; +oop Universe::_double_mirror = NULL; +oop Universe::_byte_mirror = NULL; +oop Universe::_bool_mirror = NULL; +oop Universe::_char_mirror = NULL; +oop Universe::_long_mirror = NULL; +oop Universe::_short_mirror = NULL; +oop Universe::_void_mirror = NULL; +oop Universe::_mirrors[T_VOID+1] = { NULL /*, NULL...*/ }; oop Universe::_main_thread_group = NULL; oop Universe::_system_thread_group = NULL; typeArrayOop Universe::_the_empty_byte_array = NULL; @@ -257,16 +257,16 @@ _typeArrayKlassObjs[T_INT] = _intArrayKlassObj; _typeArrayKlassObjs[T_LONG] = _longArrayKlassObj; - _methodKlassObj = methodKlass::create_klass(CHECK); - _constMethodKlassObj = constMethodKlass::create_klass(CHECK); - _methodDataKlassObj = methodDataKlass::create_klass(CHECK); + _methodKlassObj = methodKlass::create_klass(CHECK); + _constMethodKlassObj = constMethodKlass::create_klass(CHECK); + _methodDataKlassObj = methodDataKlass::create_klass(CHECK); _constantPoolKlassObj = constantPoolKlass::create_klass(CHECK); _constantPoolCacheKlassObj = constantPoolCacheKlass::create_klass(CHECK); _compiledICHolderKlassObj = compiledICHolderKlass::create_klass(CHECK); _systemObjArrayKlassObj = objArrayKlassKlass::cast(objArrayKlassKlassObj())->allocate_system_objArray_klass(CHECK); - _the_empty_byte_array = oopFactory::new_permanent_byteArray(0, CHECK); + _the_empty_byte_array = oopFactory::new_permanent_byteArray(0, CHECK); _the_empty_short_array = oopFactory::new_permanent_shortArray(0, CHECK); _the_empty_int_array = oopFactory::new_permanent_intArray(0, CHECK); _the_empty_system_obj_array = oopFactory::new_system_objArray(0, CHECK); @@ -274,7 +274,6 @@ _the_array_interfaces_array = oopFactory::new_system_objArray(2, CHECK); _vm_exception = oopFactory::new_symbol("vm exception holder", CHECK); } else { - FileMapInfo *mapinfo = FileMapInfo::current_info(); char* buffer = mapinfo->region_base(CompactingPermGenGen::md); void** vtbl_list = (void**)buffer; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/memory/universe.hpp --- a/hotspot/src/share/vm/memory/universe.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/memory/universe.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -92,6 +92,7 @@ class Universe: AllStatic { + // Ugh. Universe is much too friendly. friend class MarkSweep; friend class oopDesc; friend class ClassLoader; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/oops/arrayOop.hpp --- a/hotspot/src/share/vm/oops/arrayOop.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/oops/arrayOop.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -96,19 +96,20 @@ : typesize_in_bytes/HeapWordSize); } - // This method returns the maximum length that can passed into - // typeArrayOop::object_size(scale, length, header_size) without causing an - // overflow. We substract an extra 2*wordSize to guard against double word - // alignments. It gets the scale from the type2aelembytes array. + // Return the maximum length of an array of BasicType. The length can passed + // to typeArrayOop::object_size(scale, length, header_size) without causing an + // overflow. static int32_t max_array_length(BasicType type) { assert(type >= 0 && type < T_CONFLICT, "wrong type"); assert(type2aelembytes(type) != 0, "wrong type"); - // We use max_jint, since object_size is internally represented by an 'int' - // This gives us an upper bound of max_jint words for the size of the oop. - int32_t max_words = (max_jint - header_size(type) - 2); - int elembytes = type2aelembytes(type); - jlong len = ((jlong)max_words * HeapWordSize) / elembytes; - return (len > max_jint) ? max_jint : (int32_t)len; + const int bytes_per_element = type2aelembytes(type); + if (bytes_per_element < HeapWordSize) { + return max_jint; + } + + const int32_t max_words = align_size_down(max_jint, MinObjAlignment); + const int32_t max_element_words = max_words - header_size(type); + const int32_t words_per_element = bytes_per_element >> LogHeapWordSize; + return max_element_words / words_per_element; } - }; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/oops/typeArrayKlass.cpp --- a/hotspot/src/share/vm/oops/typeArrayKlass.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/oops/typeArrayKlass.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -36,13 +36,14 @@ return element_type() == tak->element_type(); } -klassOop typeArrayKlass::create_klass(BasicType type, int scale, TRAPS) { +klassOop typeArrayKlass::create_klass(BasicType type, int scale, + const char* name_str, TRAPS) { typeArrayKlass o; symbolHandle sym(symbolOop(NULL)); // bootstrapping: don't create sym if symbolKlass not created yet - if (Universe::symbolKlassObj() != NULL) { - sym = oopFactory::new_symbol_handle(external_name(type), CHECK_NULL); + if (Universe::symbolKlassObj() != NULL && name_str != NULL) { + sym = oopFactory::new_symbol_handle(name_str, CHECK_NULL); } KlassHandle klassklass (THREAD, Universe::typeArrayKlassKlassObj()); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/oops/typeArrayKlass.hpp --- a/hotspot/src/share/vm/oops/typeArrayKlass.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/oops/typeArrayKlass.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -39,7 +39,11 @@ // klass allocation DEFINE_ALLOCATE_PERMANENT(typeArrayKlass); - static klassOop create_klass(BasicType type, int scale, TRAPS); + static klassOop create_klass(BasicType type, int scale, const char* name_str, + TRAPS); + static inline klassOop create_klass(BasicType type, int scale, TRAPS) { + return create_klass(type, scale, external_name(type), CHECK_NULL); + } int oop_size(oop obj) const; int klass_oop_size() const { return object_size(); } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/opto/compile.cpp --- a/hotspot/src/share/vm/opto/compile.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/opto/compile.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -2192,6 +2192,9 @@ case Op_DecodeN: assert(!n->in(1)->is_EncodeP(), "should be optimized out"); + // DecodeN could be pinned on Sparc where it can't be fold into + // an address expression, see the code for Op_CastPP above. + assert(n->in(0) == NULL || !Matcher::clone_shift_expressions, "no control except on sparc"); break; case Op_EncodeP: { diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/opto/macro.cpp --- a/hotspot/src/share/vm/opto/macro.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/opto/macro.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -1724,6 +1724,13 @@ if (klass_node == NULL) { Node* k_adr = basic_plus_adr(obj, oopDesc::klass_offset_in_bytes()); klass_node = transform_later( LoadKlassNode::make(_igvn, mem, k_adr, _igvn.type(k_adr)->is_ptr()) ); +#ifdef _LP64 + if (UseCompressedOops && klass_node->is_DecodeN()) { + assert(klass_node->in(1)->Opcode() == Op_LoadNKlass, "sanity"); + klass_node->in(1)->init_req(0, ctrl); + } else +#endif + klass_node->init_req(0, ctrl); } Node *proto_node = make_load(ctrl, mem, klass_node, Klass::prototype_header_offset_in_bytes() + sizeof(oopDesc), TypeX_X, TypeX_X->basic_type()); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/prims/jni.cpp --- a/hotspot/src/share/vm/prims/jni.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/prims/jni.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -2173,7 +2173,8 @@ size_t size = os::vm_allocation_granularity(); bad_address = os::reserve_memory(size); if (bad_address != NULL) { - os::protect_memory(bad_address, size, os::MEM_PROT_READ); + os::protect_memory(bad_address, size, os::MEM_PROT_READ, + /*is_committed*/false); } } return bad_address; diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/runtime/arguments.cpp --- a/hotspot/src/share/vm/runtime/arguments.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/runtime/arguments.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -444,9 +444,9 @@ } // Parses a memory size specification string. -static bool atomll(const char *s, jlong* result) { - jlong n = 0; - int args_read = sscanf(s, os::jlong_format_specifier(), &n); +static bool atomull(const char *s, julong* result) { + julong n = 0; + int args_read = sscanf(s, os::julong_format_specifier(), &n); if (args_read != 1) { return false; } @@ -460,15 +460,20 @@ switch (*s) { case 'T': case 't': *result = n * G * K; + // Check for overflow. + if (*result/((julong)G * K) != n) return false; return true; case 'G': case 'g': *result = n * G; + if (*result/G != n) return false; return true; case 'M': case 'm': *result = n * M; + if (*result/M != n) return false; return true; case 'K': case 'k': *result = n * K; + if (*result/K != n) return false; return true; case '\0': *result = n; @@ -478,10 +483,10 @@ } } -Arguments::ArgsRange Arguments::check_memory_size(jlong size, jlong min_size) { +Arguments::ArgsRange Arguments::check_memory_size(julong size, julong min_size) { if (size < min_size) return arg_too_small; // Check that size will fit in a size_t (only relevant on 32-bit) - if ((julong) size > max_uintx) return arg_too_big; + if (size > max_uintx) return arg_too_big; return arg_in_range; } @@ -522,10 +527,10 @@ static bool set_numeric_flag(char* name, char* value, FlagValueOrigin origin) { - jlong v; + julong v; intx intx_v; bool is_neg = false; - // Check the sign first since atomll() parses only unsigned values. + // Check the sign first since atomull() parses only unsigned values. if (*value == '-') { if (!CommandLineFlags::intxAt(name, &intx_v)) { return false; @@ -533,7 +538,7 @@ value++; is_neg = true; } - if (!atomll(value, &v)) { + if (!atomull(value, &v)) { return false; } intx_v = (intx) v; @@ -1517,6 +1522,16 @@ MarkSweepAlwaysCompactCount = 1; // Move objects every gc. } + if (UseParallelOldGC && ParallelOldGCSplitALot) { + // Settings to encourage splitting. + if (!FLAG_IS_CMDLINE(NewRatio)) { + FLAG_SET_CMDLINE(intx, NewRatio, 2); + } + if (!FLAG_IS_CMDLINE(ScavengeBeforeFullGC)) { + FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false); + } + } + status = status && verify_percentage(GCHeapFreeLimit, "GCHeapFreeLimit"); status = status && verify_percentage(GCTimeLimit, "GCTimeLimit"); if (GCTimeLimit == 100) { @@ -1667,9 +1682,9 @@ } Arguments::ArgsRange Arguments::parse_memory_size(const char* s, - jlong* long_arg, - jlong min_size) { - if (!atomll(s, long_arg)) return arg_unreadable; + julong* long_arg, + julong min_size) { + if (!atomull(s, long_arg)) return arg_unreadable; return check_memory_size(*long_arg, min_size); } @@ -1847,7 +1862,7 @@ FLAG_SET_CMDLINE(bool, BackgroundCompilation, false); // -Xmn for compatibility with other JVM vendors } else if (match_option(option, "-Xmn", &tail)) { - jlong long_initial_eden_size = 0; + julong long_initial_eden_size = 0; ArgsRange errcode = parse_memory_size(tail, &long_initial_eden_size, 1); if (errcode != arg_in_range) { jio_fprintf(defaultStream::error_stream(), @@ -1859,7 +1874,7 @@ FLAG_SET_CMDLINE(uintx, NewSize, (size_t) long_initial_eden_size); // -Xms } else if (match_option(option, "-Xms", &tail)) { - jlong long_initial_heap_size = 0; + julong long_initial_heap_size = 0; ArgsRange errcode = parse_memory_size(tail, &long_initial_heap_size, 1); if (errcode != arg_in_range) { jio_fprintf(defaultStream::error_stream(), @@ -1872,7 +1887,7 @@ set_min_heap_size(initial_heap_size()); // -Xmx } else if (match_option(option, "-Xmx", &tail)) { - jlong long_max_heap_size = 0; + julong long_max_heap_size = 0; ArgsRange errcode = parse_memory_size(tail, &long_max_heap_size, 1); if (errcode != arg_in_range) { jio_fprintf(defaultStream::error_stream(), @@ -1905,7 +1920,7 @@ } // -Xss } else if (match_option(option, "-Xss", &tail)) { - jlong long_ThreadStackSize = 0; + julong long_ThreadStackSize = 0; ArgsRange errcode = parse_memory_size(tail, &long_ThreadStackSize, 1000); if (errcode != arg_in_range) { jio_fprintf(defaultStream::error_stream(), @@ -1921,9 +1936,9 @@ // HotSpot does not have separate native and Java stacks, ignore silently for compatibility // -Xmaxjitcodesize } else if (match_option(option, "-Xmaxjitcodesize", &tail)) { - jlong long_ReservedCodeCacheSize = 0; + julong long_ReservedCodeCacheSize = 0; ArgsRange errcode = parse_memory_size(tail, &long_ReservedCodeCacheSize, - InitialCodeCacheSize); + (size_t)InitialCodeCacheSize); if (errcode != arg_in_range) { jio_fprintf(defaultStream::error_stream(), "Invalid maximum code cache size: %s\n", @@ -2228,7 +2243,7 @@ } else if (match_option(option, "-XX:TLEFragmentationRatio=", &tail)) { // No longer used. } else if (match_option(option, "-XX:TLESize=", &tail)) { - jlong long_tlab_size = 0; + julong long_tlab_size = 0; ArgsRange errcode = parse_memory_size(tail, &long_tlab_size, 1); if (errcode != arg_in_range) { jio_fprintf(defaultStream::error_stream(), @@ -2283,7 +2298,7 @@ "-XX:ParCMSPromoteBlocksToClaim in the future\n"); } else if (match_option(option, "-XX:ParallelGCOldGenAllocBufferSize=", &tail)) { - jlong old_plab_size = 0; + julong old_plab_size = 0; ArgsRange errcode = parse_memory_size(tail, &old_plab_size, 1); if (errcode != arg_in_range) { jio_fprintf(defaultStream::error_stream(), @@ -2291,13 +2306,13 @@ describe_range_error(errcode); return JNI_EINVAL; } - FLAG_SET_CMDLINE(uintx, OldPLABSize, (julong)old_plab_size); + FLAG_SET_CMDLINE(uintx, OldPLABSize, old_plab_size); jio_fprintf(defaultStream::error_stream(), "Please use -XX:OldPLABSize in place of " "-XX:ParallelGCOldGenAllocBufferSize in the future\n"); } else if (match_option(option, "-XX:ParallelGCToSpaceAllocBufferSize=", &tail)) { - jlong young_plab_size = 0; + julong young_plab_size = 0; ArgsRange errcode = parse_memory_size(tail, &young_plab_size, 1); if (errcode != arg_in_range) { jio_fprintf(defaultStream::error_stream(), @@ -2305,7 +2320,7 @@ describe_range_error(errcode); return JNI_EINVAL; } - FLAG_SET_CMDLINE(uintx, YoungPLABSize, (julong)young_plab_size); + FLAG_SET_CMDLINE(uintx, YoungPLABSize, young_plab_size); jio_fprintf(defaultStream::error_stream(), "Please use -XX:YoungPLABSize in place of " "-XX:ParallelGCToSpaceAllocBufferSize in the future\n"); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/runtime/arguments.hpp --- a/hotspot/src/share/vm/runtime/arguments.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/runtime/arguments.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -339,9 +339,9 @@ } static bool verify_percentage(uintx value, const char* name); static void describe_range_error(ArgsRange errcode); - static ArgsRange check_memory_size(jlong size, jlong min_size); - static ArgsRange parse_memory_size(const char* s, jlong* long_arg, - jlong min_size); + static ArgsRange check_memory_size(julong size, julong min_size); + static ArgsRange parse_memory_size(const char* s, julong* long_arg, + julong min_size); // methods to build strings from individual args static void build_jvm_args(const char* arg); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/runtime/globals.hpp --- a/hotspot/src/share/vm/runtime/globals.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/runtime/globals.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -625,6 +625,9 @@ develop(bool, CheckZapUnusedHeapArea, false, \ "Check zapping of unused heap space") \ \ + develop(bool, ZapFillerObjects, trueInDebug, \ + "Zap filler objects with 0xDEAFBABE") \ + \ develop(bool, PrintVMMessages, true, \ "Print vm messages on console") \ \ @@ -818,7 +821,7 @@ product(bool, ClassUnloading, true, \ "Do unloading of classes") \ \ - diagnostic(bool, LinkWellKnownClasses, true, \ + diagnostic(bool, LinkWellKnownClasses, false, \ "Resolve a well known class as soon as its name is seen") \ \ develop(bool, DisableStartThread, false, \ @@ -1200,11 +1203,12 @@ product(uintx, ParallelCMSThreads, 0, \ "Max number of threads CMS will use for concurrent work") \ \ - develop(bool, ParallelOldMTUnsafeMarkBitMap, false, \ - "Use the Parallel Old MT unsafe in marking the bitmap") \ - \ - develop(bool, ParallelOldMTUnsafeUpdateLiveData, false, \ - "Use the Parallel Old MT unsafe in update of live size") \ + develop(bool, ParallelOldGCSplitALot, false, \ + "Provoke splitting (copying data from a young gen space to" \ + "multiple destination spaces)") \ + \ + develop(uintx, ParallelOldGCSplitInterval, 3, \ + "How often to provoke splitting a young gen space") \ \ develop(bool, TraceRegionTasksQueuing, false, \ "Trace the queuing of the region tasks") \ diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/runtime/javaCalls.cpp --- a/hotspot/src/share/vm/runtime/javaCalls.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/runtime/javaCalls.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -504,7 +504,7 @@ intptr_t v = _value[p]; if (v != 0 ) { size_t t = (size_t)v; - bad = (t < (size_t)os::vm_page_size() ) || !(*(oop*)v)->is_oop_or_null(true); + bad = (t < (size_t)os::vm_page_size() ) || !Handle::raw_resolve((oop *)v)->is_oop_or_null(true); if (CheckJNICalls && bad) { ReportJNIFatalError((JavaThread*)_thread, "Bad JNI oop argument"); } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/runtime/os.cpp --- a/hotspot/src/share/vm/runtime/os.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/runtime/os.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -932,8 +932,9 @@ // the mutator thread if such case is encountered. See bug 6546278 for details. Thread::muxAcquire(&SerializePageLock, "serialize_thread_states"); os::protect_memory((char *)os::get_memory_serialize_page(), - os::vm_page_size(), MEM_PROT_READ, /*is_committed*/true ); - os::unguard_memory((char *)os::get_memory_serialize_page(), os::vm_page_size()); + os::vm_page_size(), MEM_PROT_READ); + os::protect_memory((char *)os::get_memory_serialize_page(), + os::vm_page_size(), MEM_PROT_RW); Thread::muxRelease(&SerializePageLock); } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/runtime/os.hpp --- a/hotspot/src/share/vm/runtime/os.hpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/runtime/os.hpp Wed Jul 05 16:45:14 2017 +0200 @@ -208,7 +208,7 @@ enum ProtType { MEM_PROT_NONE, MEM_PROT_READ, MEM_PROT_RW, MEM_PROT_RWX }; static bool protect_memory(char* addr, size_t bytes, ProtType prot, - bool is_committed = false); + bool is_committed = true); static bool guard_memory(char* addr, size_t bytes); static bool unguard_memory(char* addr, size_t bytes); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/runtime/synchronizer.cpp --- a/hotspot/src/share/vm/runtime/synchronizer.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/runtime/synchronizer.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -3363,13 +3363,13 @@ // If the wakee is cold then transiently setting it's affinity // to the current CPU is a good idea. // See http://j2se.east/~dice/PERSIST/050624-PullAffinity.txt + DTRACE_MONITOR_PROBE(contended__exit, this, object(), Self); Trigger->unpark() ; // Maintain stats and report events to JVMTI if (ObjectSynchronizer::_sync_Parks != NULL) { ObjectSynchronizer::_sync_Parks->inc() ; } - DTRACE_MONITOR_PROBE(contended__exit, this, object(), Self); } diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/services/management.cpp --- a/hotspot/src/share/vm/services/management.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/services/management.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -694,10 +694,10 @@ -1); } - if (threshold > max_intx) { - THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), - "Invalid threshold value > max value of size_t", - -1); + if ((size_t)threshold > max_uintx) { + stringStream st; + st.print("Invalid valid threshold value. Threshold value (" UINT64_FORMAT ") > max value of size_t (" SIZE_FORMAT ")", (size_t)threshold, max_uintx); + THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), st.as_string(), -1); } MemoryPool* pool = get_memory_pool_from_jobject(obj, CHECK_(0L)); diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/src/share/vm/utilities/vmError.cpp --- a/hotspot/src/share/vm/utilities/vmError.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/hotspot/src/share/vm/utilities/vmError.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -332,6 +332,8 @@ // VM version st->print_cr("#"); + JDK_Version::current().to_string(buf, sizeof(buf)); + st->print_cr("# JRE version: %s", buf); st->print_cr("# Java VM: %s (%s %s %s %s)", Abstract_VM_Version::vm_name(), Abstract_VM_Version::vm_release(), diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/test/compiler/6757316/Test6757316.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/test/compiler/6757316/Test6757316.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,43 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * @test + * @bug 6757316 + * @summary load_constant() produces a wrong long constant, with high a low words swapped + * @run main/othervm -Xcomp Test6757316 + */ + +public class Test6757316 { + public static void main(String[] args) { + long[] arr = { + 0x11111111aaaaaaaaL, + 0xaaaaaaaa11111111L, + 0x11111111aaaaaaaaL, + 0xaaaaaaaa11111111L + }; + if (arr[0] == arr[1]) { + throw new InternalError(); + } + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 hotspot/test/compiler/6758234/Test6758234.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/test/compiler/6758234/Test6758234.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,40 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * @test + * @bug 6758234 + * @summary if (k cond (a ? : b: c)) returns reversed answer if k is constant and b and c are longs + * @run main/othervm -Xcomp -XX:CompileOnly=Test6758234.main Test6758234 + */ + +public class Test6758234 { + static int x = 0; + static int y = 1; + + public static void main(String[] args) { + if (1 != ((x < y) ? 1L : 0)) { + throw new InternalError(); + } + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jaxp/.hgtags --- a/jaxp/.hgtags Wed Jul 05 16:44:40 2017 +0200 +++ b/jaxp/.hgtags Wed Jul 05 16:45:14 2017 +0200 @@ -16,3 +16,4 @@ 831b80be6cea8e7d7da197ccdac5fd4c701a5033 jdk7-b39 54946f466e2c047c44c903f1bec400b685c2508e jdk7-b40 0758bd3e2852e4f931ba211cc4d48f589450eeb4 jdk7-b41 +036e0dca841a5a17f784d15c86a9da88d2a6f1e6 jdk7-b42 diff -r 7157899b7d32 -r 41bd0a702bc8 jaxws/.hgtags --- a/jaxws/.hgtags Wed Jul 05 16:44:40 2017 +0200 +++ b/jaxws/.hgtags Wed Jul 05 16:45:14 2017 +0200 @@ -16,3 +16,4 @@ 077bc9b1b035a409a76bd5366f73ed9dd9846934 jdk7-b39 70a6ac6dd737fe45c2fadb57646195b2b4fe269d jdk7-b40 a8379d24aa03386610169cb0f4e4b8ed266a2e8d jdk7-b41 +621c02d83abc850c170fb6726d57b19f1eaf5033 jdk7-b42 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/.hgtags --- a/jdk/.hgtags Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/.hgtags Wed Jul 05 16:45:14 2017 +0200 @@ -16,3 +16,4 @@ 4e51997582effa006dde5c6d8b8820b2045b9c7f jdk7-b39 2201dad60231a3c3e0346e3a0250d69ca3b71fd4 jdk7-b40 44941f893cea95ecdd5987b12e548069bd803849 jdk7-b41 +3ef0bdfa7609f79d4f2ea621f30cf593a2e432ce jdk7-b42 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/java/nio/FILES_java.gmk --- a/jdk/make/java/nio/FILES_java.gmk Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/make/java/nio/FILES_java.gmk Wed Jul 05 16:45:14 2017 +0200 @@ -113,8 +113,7 @@ sun/nio/cs/FastCharsetProvider.java \ sun/nio/cs/HistoricallyNamedCharset.java \ sun/nio/cs/ISO_8859_1.java \ - sun/nio/cs/ISO_8859_15.java \ - sun/nio/cs/MS1252.java \ + sun/nio/cs/SingleByte.java \ sun/nio/cs/SingleByteDecoder.java \ sun/nio/cs/SingleByteEncoder.java \ sun/nio/cs/StreamEncoder.java \ @@ -268,6 +267,34 @@ java/nio/charset/IllegalCharsetNameException.java \ java/nio/charset/UnsupportedCharsetException.java +FILES_gen_sbcs = \ + sun/nio/cs/ISO_8859_2.java \ + sun/nio/cs/ISO_8859_4.java \ + sun/nio/cs/ISO_8859_5.java \ + sun/nio/cs/ISO_8859_7.java \ + sun/nio/cs/ISO_8859_9.java \ + sun/nio/cs/ISO_8859_13.java \ + sun/nio/cs/ISO_8859_15.java \ + sun/nio/cs/IBM437.java \ + sun/nio/cs/IBM737.java \ + sun/nio/cs/IBM775.java \ + sun/nio/cs/IBM850.java \ + sun/nio/cs/IBM852.java \ + sun/nio/cs/IBM855.java \ + sun/nio/cs/IBM857.java \ + sun/nio/cs/IBM858.java \ + sun/nio/cs/IBM862.java \ + sun/nio/cs/IBM866.java \ + sun/nio/cs/IBM874.java \ + sun/nio/cs/KOI8_R.java \ + sun/nio/cs/KOI8_U.java \ + sun/nio/cs/MS1250.java \ + sun/nio/cs/MS1251.java \ + sun/nio/cs/MS1252.java \ + sun/nio/cs/MS1253.java \ + sun/nio/cs/MS1254.java \ + sun/nio/cs/MS1257.java + FILES_gen_csp = sun/nio/cs/StandardCharsets.java FILES_gen_sor = sun/nio/ch/SocketOptionRegistry.java @@ -275,4 +302,4 @@ FILES_gen = $(FILES_gen_coder) $(FILES_gen_buffer) $(FILES_gen_ex) \ $(FILES_gen_csp) $(FILES_gen_sor) -FILES_java = $(FILES_src) $(FILES_gen) +FILES_java = $(FILES_src) $(FILES_gen) $(FILES_gen_sbcs) diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/java/nio/Makefile --- a/jdk/make/java/nio/Makefile Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/make/java/nio/Makefile Wed Jul 05 16:45:14 2017 +0200 @@ -182,7 +182,9 @@ SCH_GEN=$(SNIO_GEN)/ch SCS_GEN=$(SNIO_GEN)/cs -sources: $(SPP_JARFILE) $(FILES_genout) +FILES_gensbcs_out = $(FILES_gen_sbcs:%.java=$(GENSRCDIR)/%.java) + +sources: $(SPP_JARFILE) $(FILES_genout) $(FILES_gensbcs_out) # # Generated buffer classes @@ -657,4 +659,15 @@ NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh $(SOR_COPYRIGHT_YEARS) > $@ $(GENSOR_EXE) >> $@ +# +# Generated sun.nio.cs SingleByte classes +# +GENCSSRC = $(BUILDDIR)/tools/CharsetMapping +CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar + +$(FILES_gensbcs_out): $(GENCSSRC)/SingleByte-X.java $(GENCSSRC)/sbcs + @$(prep-target) + $(BOOT_JAVA_CMD) -cp $(CHARSETMAPPING_JARFILE) build.tools.charsetmapping.GenerateSBCS \ + $(GENCSSRC) $(SCS_GEN) sbcs + .PHONY: sources diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/sun/awt/mapfile-mawt-vers --- a/jdk/make/sun/awt/mapfile-mawt-vers Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/make/sun/awt/mapfile-mawt-vers Wed Jul 05 16:45:14 2017 +0200 @@ -407,6 +407,7 @@ Java_sun_java2d_x11_X11SurfaceData_initSurface; Java_sun_java2d_x11_X11SurfaceData_isDrawableValid; Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable; + Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable; Java_sun_java2d_x11_X11SurfaceData_setInvalid; Java_sun_java2d_x11_X11SurfaceData_flushNativeSurface; Java_sun_java2d_x11_X11SurfaceData_XCreateGC; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/sun/nio/FILES_java.gmk --- a/jdk/make/sun/nio/FILES_java.gmk Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/make/sun/nio/FILES_java.gmk Wed Jul 05 16:45:14 2017 +0200 @@ -29,7 +29,7 @@ # Core character converters are built from make/java/java. # -FILES_java = \ +FILES_src = \ sun/io/ByteToCharDoubleByte.java \ sun/io/ByteToCharDBCS_ASCII.java \ sun/io/ByteToCharDBCS_EBCDIC.java \ @@ -303,3 +303,77 @@ sun/io/CharToByteMacTurkish.java \ sun/io/CharToByteMacUkraine.java \ sun/io/CharToByteTIS620.java + +FILES_gen_extsbcs = \ + sun/nio/cs/ext/IBM037.java \ + sun/nio/cs/ext/IBM1006.java \ + sun/nio/cs/ext/IBM1025.java \ + sun/nio/cs/ext/IBM1026.java \ + sun/nio/cs/ext/IBM1046.java \ + sun/nio/cs/ext/IBM1047.java \ + sun/nio/cs/ext/IBM1097.java \ + sun/nio/cs/ext/IBM1098.java \ + sun/nio/cs/ext/IBM1112.java \ + sun/nio/cs/ext/IBM1122.java \ + sun/nio/cs/ext/IBM1123.java \ + sun/nio/cs/ext/IBM1124.java \ + sun/nio/cs/ext/IBM1140.java \ + sun/nio/cs/ext/IBM1141.java \ + sun/nio/cs/ext/IBM1142.java \ + sun/nio/cs/ext/IBM1143.java \ + sun/nio/cs/ext/IBM1144.java \ + sun/nio/cs/ext/IBM1145.java \ + sun/nio/cs/ext/IBM1146.java \ + sun/nio/cs/ext/IBM1147.java \ + sun/nio/cs/ext/IBM1148.java \ + sun/nio/cs/ext/IBM1149.java \ + sun/nio/cs/ext/IBM273.java \ + sun/nio/cs/ext/IBM277.java \ + sun/nio/cs/ext/IBM278.java \ + sun/nio/cs/ext/IBM280.java \ + sun/nio/cs/ext/IBM284.java \ + sun/nio/cs/ext/IBM285.java \ + sun/nio/cs/ext/IBM297.java \ + sun/nio/cs/ext/IBM420.java \ + sun/nio/cs/ext/IBM424.java \ + sun/nio/cs/ext/IBM500.java \ + sun/nio/cs/ext/IBM838.java \ + sun/nio/cs/ext/IBM856.java \ + sun/nio/cs/ext/IBM860.java \ + sun/nio/cs/ext/IBM861.java \ + sun/nio/cs/ext/IBM863.java \ + sun/nio/cs/ext/IBM864.java \ + sun/nio/cs/ext/IBM865.java \ + sun/nio/cs/ext/IBM868.java \ + sun/nio/cs/ext/IBM869.java \ + sun/nio/cs/ext/IBM870.java \ + sun/nio/cs/ext/IBM871.java \ + sun/nio/cs/ext/IBM875.java \ + sun/nio/cs/ext/IBM918.java \ + sun/nio/cs/ext/IBM921.java \ + sun/nio/cs/ext/IBM922.java \ + sun/nio/cs/ext/ISO_8859_11.java \ + sun/nio/cs/ext/ISO_8859_3.java \ + sun/nio/cs/ext/ISO_8859_6.java \ + sun/nio/cs/ext/ISO_8859_8.java \ + sun/nio/cs/ext/MS1255.java \ + sun/nio/cs/ext/MS1256.java \ + sun/nio/cs/ext/MS1258.java \ + sun/nio/cs/ext/MS874.java \ + sun/nio/cs/ext/MacArabic.java \ + sun/nio/cs/ext/MacCentralEurope.java \ + sun/nio/cs/ext/MacCroatian.java \ + sun/nio/cs/ext/MacCyrillic.java \ + sun/nio/cs/ext/MacDingbat.java \ + sun/nio/cs/ext/MacGreek.java \ + sun/nio/cs/ext/MacHebrew.java \ + sun/nio/cs/ext/MacIceland.java \ + sun/nio/cs/ext/MacRoman.java \ + sun/nio/cs/ext/MacRomania.java \ + sun/nio/cs/ext/MacSymbol.java \ + sun/nio/cs/ext/MacThai.java \ + sun/nio/cs/ext/MacTurkish.java \ + sun/nio/cs/ext/MacUkraine.java \ + sun/nio/cs/ext/TIS_620.java + +FILES_java = $(FILES_src) $(FILES_gen_extsbcs) \ No newline at end of file diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/sun/nio/Makefile --- a/jdk/make/sun/nio/Makefile Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/make/sun/nio/Makefile Wed Jul 05 16:45:14 2017 +0200 @@ -60,12 +60,15 @@ # this define is for the rule: CHARSETS_JAR = $(LIBDIR)/charsets.jar +# extsbcs +FILES_genout_extsbcs = $(FILES_gen_extsbcs:%.java=$(GENSRCDIR)/%.java) + # # Rules # include $(BUILDDIR)/common/Classes.gmk -build: $(CHARSETS_JAR) +build: $(FILES_genout_extsbcs) $(CHARSETS_JAR) # # Extra rules to build character converters. @@ -74,6 +77,8 @@ SERVICE_DESCRIPTION_PATH = META-INF/services/$(SERVICE_DESCRIPTION) GENCSDATASRC = $(BUILDDIR)/tools/CharsetMapping +GENCSEXT = $(GENSRCDIR)/sun/nio/cs/ext + FILES_MAP = $(GENCSDATASRC)/sjis0213.map FILES_DAT = $(CLASSDESTDIR)/sun/nio/cs/ext/sjis0213.dat CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar @@ -83,6 +88,15 @@ $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) \ $(FILES_MAP) $(FILES_DAT) + +$(FILES_genout_extsbcs): $(GENCSDATASRC)/SingleByte-X.java $(GENCSDATASRC)/extsbcs + @$(prep-target) + $(RM) -r $(GENCSEXT) + $(MKDIR) -p $(GENCSEXT) + $(BOOT_JAVA_CMD) -cp $(CHARSETMAPPING_JARFILE) build.tools.charsetmapping.GenerateSBCS \ + $(GENCSDATASRC) $(GENCSEXT) extsbcs + + $(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH): \ $(SHARE_SRC)/classes/sun/nio/cs/ext/$(SERVICE_DESCRIPTION_PATH) $(install-file) diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/sun/xawt/mapfile-vers --- a/jdk/make/sun/xawt/mapfile-vers Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/make/sun/xawt/mapfile-vers Wed Jul 05 16:45:14 2017 +0200 @@ -337,6 +337,7 @@ Java_sun_java2d_x11_X11SurfaceData_initIDs; Java_sun_java2d_x11_X11SurfaceData_isDrawableValid; Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable; + Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable; Java_sun_java2d_x11_X11SurfaceData_initOps; Java_sun_java2d_x11_X11SurfaceData_initSurface; Java_sun_java2d_x11_X11SurfaceData_flushNativeSurface; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM037.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM037.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM037.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM037.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM037.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00a2 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+0021 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+005e +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+005b +0xbb U+005d +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM037.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM037.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1006.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1006.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1006.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+06f0 +0xa2 U+06f1 +0xa3 U+06f2 +0xa4 U+06f3 +0xa5 U+06f4 +0xa6 U+06f5 +0xa7 U+06f6 +0xa8 U+06f7 +0xa9 U+06f8 +0xaa U+06f9 +0xab U+060c +0xac U+061b +0xad U+00ad +0xae U+061f +0xaf U+fe81 +0xb0 U+fe8d +0xb1 U+fe8e +0xb2 U+f8fb +0xb3 U+fe8f +0xb4 U+fe91 +0xb5 U+fb56 +0xb6 U+fb58 +0xb7 U+fe93 +0xb8 U+fe95 +0xb9 U+fe97 +0xba U+fb66 +0xbb U+fb68 +0xbc U+fe99 +0xbd U+fe9b +0xbe U+fe9d +0xbf U+fe9f +0xc0 U+fb7a +0xc1 U+fb7c +0xc2 U+fea1 +0xc3 U+fea3 +0xc4 U+fea5 +0xc5 U+fea7 +0xc6 U+fea9 +0xc7 U+fb88 +0xc8 U+feab +0xc9 U+fead +0xca U+fb8c +0xcb U+feaf +0xcc U+fb8a +0xcd U+feb1 +0xce U+feb3 +0xcf U+feb5 +0xd0 U+feb7 +0xd1 U+feb9 +0xd2 U+febb +0xd3 U+febd +0xd4 U+febf +0xd5 U+fec3 +0xd6 U+fec7 +0xd7 U+fec9 +0xd8 U+feca +0xd9 U+fecb +0xda U+fecc +0xdb U+fecd +0xdc U+fece +0xdd U+fecf +0xde U+fed0 +0xdf U+fed1 +0xe0 U+fed3 +0xe1 U+fed5 +0xe2 U+fed7 +0xe3 U+fb8e +0xe4 U+fedb +0xe5 U+fb92 +0xe6 U+fb94 +0xe7 U+fedd +0xe8 U+fedf +0xe9 U+fee0 +0xea U+fee1 +0xeb U+fee3 +0xec U+fb9e +0xed U+fee5 +0xee U+fee7 +0xef U+fe85 +0xf0 U+feed +0xf1 U+fba6 +0xf2 U+fba8 +0xf3 U+fba9 +0xf4 U+fbaa +0xf5 U+fe80 +0xf6 U+fe89 +0xf7 U+fe8a +0xf8 U+fe8b +0xf9 U+fbfc +0xfa U+fbfd +0xfb U+fbfe +0xfc U+fbb0 +0xfd U+fbae +0xfe U+fe7c +0xff U+fe7d diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1025.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1025.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1025.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1025.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1025.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+0452 +0x43 U+0453 +0x44 U+0451 +0x45 U+0454 +0x46 U+0455 +0x47 U+0456 +0x48 U+0457 +0x49 U+0458 +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+0459 +0x52 U+045a +0x53 U+045b +0x54 U+045c +0x55 U+045e +0x56 U+045f +0x57 U+042a +0x58 U+2116 +0x59 U+0402 +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+0403 +0x63 U+0401 +0x64 U+0404 +0x65 U+0405 +0x66 U+0406 +0x67 U+0407 +0x68 U+0408 +0x69 U+0409 +0x6a U+007c +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+040a +0x71 U+040b +0x72 U+040c +0x73 U+00ad +0x74 U+040e +0x75 U+040f +0x76 U+044e +0x77 U+0430 +0x78 U+0431 +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+0446 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+0434 +0x8b U+0435 +0x8c U+0444 +0x8d U+0433 +0x8e U+0445 +0x8f U+0438 +0x90 U+0439 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+043a +0x9b U+043b +0x9c U+043c +0x9d U+043d +0x9e U+043e +0x9f U+043f +0xa0 U+044f +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+0440 +0xab U+0441 +0xac U+0442 +0xad U+0443 +0xae U+0436 +0xaf U+0432 +0xb0 U+044c +0xb1 U+044b +0xb2 U+0437 +0xb3 U+0448 +0xb4 U+044d +0xb5 U+0449 +0xb6 U+0447 +0xb7 U+044a +0xb8 U+042e +0xb9 U+0410 +0xba U+0411 +0xbb U+0426 +0xbc U+0414 +0xbd U+0415 +0xbe U+0424 +0xbf U+0413 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+0425 +0xcb U+0418 +0xcc U+0419 +0xcd U+041a +0xce U+041b +0xcf U+041c +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+041d +0xdb U+041e +0xdc U+041f +0xdd U+042f +0xde U+0420 +0xdf U+0421 +0xe0 U+005c +0xe1 U+00a7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+0422 +0xeb U+0423 +0xec U+0416 +0xed U+0412 +0xee U+042c +0xef U+042b +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+0417 +0xfb U+0428 +0xfc U+042d +0xfd U+0429 +0xfe U+0427 +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1025.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1025.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1026.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1026.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1026.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1026.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1026.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+007b +0x49 U+00f1 +0x4a U+00c7 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+011e +0x5b U+0130 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+005b +0x69 U+00d1 +0x6a U+015f +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0131 +0x7a U+003a +0x7b U+00d6 +0x7c U+015e +0x7d U+0027 +0x7e U+003d +0x7f U+00dc +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+007d +0x8d U+0060 +0x8e U+00a6 +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+00f6 +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+005d +0xad U+0024 +0xae U+0040 +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e7 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+007e +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+011f +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+005c +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+00fc +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+0023 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+0022 +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1026.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1026.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1046.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1046.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1046.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+fe88 +0x81 U+00d7 +0x82 U+00f7 +0x83 U+f8f6 +0x84 U+f8f5 +0x85 U+f8f4 +0x86 U+f8f7 +0x87 U+fe71 +0x88 U+0088 +0x89 U+25a0 +0x8a U+2502 +0x8b U+2500 +0x8c U+2510 +0x8d U+250c +0x8e U+2514 +0x8f U+2518 +0x90 U+fe79 +0x91 U+fe7b +0x92 U+fe7d +0x93 U+fe7f +0x94 U+fe77 +0x95 U+fe8a +0x96 U+fef0 +0x97 U+fef3 +0x98 U+fef2 +0x99 U+fece +0x9a U+fecf +0x9b U+fed0 +0x9c U+fef6 +0x9d U+fef8 +0x9e U+fefa +0x9f U+fefc +0xa0 U+00a0 +0xa1 U+f8fa +0xa2 U+f8f9 +0xa3 U+f8f8 +0xa4 U+00a4 +0xa5 U+f8fb +0xa6 U+fe8b +0xa7 U+fe91 +0xa8 U+fe97 +0xa9 U+fe9b +0xaa U+fe9f +0xab U+fea3 +0xac U+060c +0xad U+00ad +0xae U+fea7 +0xaf U+feb3 +0xb0 U+0660 +0xb1 U+0661 +0xb2 U+0662 +0xb3 U+0663 +0xb4 U+0664 +0xb5 U+0665 +0xb6 U+0666 +0xb7 U+0667 +0xb8 U+0668 +0xb9 U+0669 +0xba U+feb7 +0xbb U+061b +0xbc U+febb +0xbd U+febf +0xbe U+feca +0xbf U+061f +0xc0 U+fecb +0xc1 U+fe80 +0xc2 U+fe81 +0xc3 U+fe83 +0xc4 U+fe85 +0xc5 U+fe87 +0xc6 U+fe89 +0xc7 U+fe8d +0xc8 U+fe8f +0xc9 U+fe93 +0xca U+fe95 +0xcb U+fe99 +0xcc U+fe9d +0xcd U+fea1 +0xce U+fea5 +0xcf U+fea9 +0xd0 U+feab +0xd1 U+fead +0xd2 U+feaf +0xd3 U+feb1 +0xd4 U+feb5 +0xd5 U+feb9 +0xd6 U+febd +0xd7 U+fec3 +0xd8 U+fec7 +0xd9 U+fec9 +0xda U+fecd +0xdb U+fecc +0xdc U+fe82 +0xdd U+fe84 +0xde U+fe8e +0xdf U+fed3 +0xe0 U+0640 +0xe1 U+fed1 +0xe2 U+fed5 +0xe3 U+fed9 +0xe4 U+fedd +0xe5 U+fee1 +0xe6 U+fee5 +0xe7 U+feeb +0xe8 U+feed +0xe9 U+feef +0xea U+fef1 +0xeb U+fe70 +0xec U+fe72 +0xed U+fe74 +0xee U+fe76 +0xef U+fe78 +0xf0 U+fe7a +0xf1 U+fe7c +0xf2 U+fe7e +0xf3 U+fed7 +0xf4 U+fedb +0xf5 U+fedf +0xf6 U+f8fc +0xf7 U+fef5 +0xf8 U+fef7 +0xf9 U+fef9 +0xfa U+fefb +0xfb U+fee3 +0xfc U+fee7 +0xfd U+feec +0xfe U+fee9 +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1047.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1047.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1047.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+0085 +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00a2 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+0021 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+005b +0xae U+00de +0xaf U+00ae +0xb0 U+00ac +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00dd +0xbb U+00a8 +0xbc U+00af +0xbd U+005d +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1097.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1097.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1097.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+0085 +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+060c +0x43 U+064b +0x44 U+fe81 +0x45 U+fe82 +0x46 U+f8fa +0x47 U+fe8d +0x48 U+fe8e +0x49 U+f8fb +0x4a U+00a4 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+fe80 +0x52 U+fe83 +0x53 U+fe84 +0x54 U+f8f9 +0x55 U+fe85 +0x56 U+fe8b +0x57 U+fe8f +0x58 U+fe91 +0x59 U+fb56 +0x5a U+0021 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+fb58 +0x63 U+fe95 +0x64 U+fe97 +0x65 U+fe99 +0x66 U+fe9b +0x67 U+fe9d +0x68 U+fe9f +0x69 U+fb7a +0x6a U+061b +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+fb7c +0x71 U+fea1 +0x72 U+fea3 +0x73 U+fea5 +0x74 U+fea7 +0x75 U+fea9 +0x76 U+feab +0x77 U+fead +0x78 U+feaf +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+fb8a +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+feb1 +0x8d U+feb3 +0x8e U+feb5 +0x8f U+feb7 +0x90 U+feb9 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+febb +0x9b U+febd +0x9c U+febf +0x9d U+fec1 +0x9e U+fec3 +0x9f U+fec5 +0xa0 U+fec7 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+fec9 +0xab U+feca +0xac U+fecb +0xad U+fecc +0xae U+fecd +0xaf U+fece +0xb0 U+fecf +0xb1 U+fed0 +0xb2 U+fed1 +0xb3 U+fed3 +0xb4 U+fed5 +0xb5 U+fed7 +0xb6 U+fb8e +0xb7 U+fedb +0xb8 U+fb92 +0xb9 U+fb94 +0xba U+005b +0xbb U+005d +0xbc U+fedd +0xbd U+fedf +0xbe U+fee1 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+fee3 +0xcc U+fee5 +0xcd U+fee7 +0xce U+feed +0xcf U+fee9 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+feeb +0xdb U+feec +0xdc U+fba4 +0xdd U+fbfc +0xde U+fbfd +0xdf U+fbfe +0xe0 U+005c +0xe1 U+061f +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+0640 +0xeb U+06f0 +0xec U+06f1 +0xed U+06f2 +0xee U+06f3 +0xef U+06f4 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+06f5 +0xfb U+06f6 +0xfc U+06f7 +0xfd U+06f8 +0xfe U+06f9 +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1098.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1098.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1098.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+fffd +0x81 U+fffd +0x82 U+060c +0x83 U+061b +0x84 U+061f +0x85 U+064b +0x86 U+fe81 +0x87 U+fe82 +0x88 U+f8fa +0x89 U+fe8d +0x8a U+fe8e +0x8b U+f8fb +0x8c U+fe80 +0x8d U+fe83 +0x8e U+fe84 +0x8f U+f8f9 +0x90 U+fe85 +0x91 U+fe8b +0x92 U+fe8f +0x93 U+fe91 +0x94 U+fb56 +0x95 U+fb58 +0x96 U+fe95 +0x97 U+fe97 +0x98 U+fe99 +0x99 U+fe9b +0x9a U+fe9d +0x9b U+fe9f +0x9c U+fb7a +0x9d U+fb7c +0x9e U+00d7 +0x9f U+fea1 +0xa0 U+fea3 +0xa1 U+fea5 +0xa2 U+fea7 +0xa3 U+fea9 +0xa4 U+feab +0xa5 U+fead +0xa6 U+feaf +0xa7 U+fb8a +0xa8 U+feb1 +0xa9 U+feb3 +0xaa U+feb5 +0xab U+feb7 +0xac U+feb9 +0xad U+febb +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+febd +0xb6 U+febf +0xb7 U+fec1 +0xb8 U+fec3 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+00a4 +0xbe U+fec5 +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+fec7 +0xc7 U+fec9 +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+fffd +0xd0 U+feca +0xd1 U+fecb +0xd2 U+fecc +0xd3 U+fecd +0xd4 U+fece +0xd5 U+fecf +0xd6 U+fed0 +0xd7 U+fed1 +0xd8 U+fed3 +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+fed5 +0xde U+fed7 +0xdf U+2580 +0xe0 U+fb8e +0xe1 U+fedb +0xe2 U+fb92 +0xe3 U+fb94 +0xe4 U+fedd +0xe5 U+fedf +0xe6 U+fee1 +0xe7 U+fee3 +0xe8 U+fee5 +0xe9 U+fee7 +0xea U+feed +0xeb U+fee9 +0xec U+feeb +0xed U+feec +0xee U+fba4 +0xef U+fbfc +0xf0 U+00ad +0xf1 U+fbfd +0xf2 U+fbfe +0xf3 U+0640 +0xf4 U+06f0 +0xf5 U+06f1 +0xf6 U+06f2 +0xf7 U+06f3 +0xf8 U+06f4 +0xf9 U+06f5 +0xfa U+06f6 +0xfb U+06f7 +0xfc U+06f8 +0xfd U+06f9 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1112.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1112.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1112.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1112.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1112.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+0161 +0x43 U+00e4 +0x44 U+0105 +0x45 U+012f +0x46 U+016b +0x47 U+00e5 +0x48 U+0113 +0x49 U+017e +0x4a U+00a2 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+00e9 +0x52 U+0119 +0x53 U+0117 +0x54 U+010d +0x55 U+0173 +0x56 U+201e +0x57 U+201c +0x58 U+0123 +0x59 U+00df +0x5a U+0021 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+0160 +0x63 U+00c4 +0x64 U+0104 +0x65 U+012e +0x66 U+016a +0x67 U+00c5 +0x68 U+0112 +0x69 U+017d +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+0118 +0x73 U+0116 +0x74 U+010c +0x75 U+0172 +0x76 U+012a +0x77 U+013b +0x78 U+0122 +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+0101 +0x8d U+017c +0x8e U+0144 +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+0156 +0x9b U+0157 +0x9c U+00e6 +0x9d U+0137 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+201d +0xab U+017a +0xac U+0100 +0xad U+017b +0xae U+0143 +0xaf U+00ae +0xb0 U+005e +0xb1 U+00a3 +0xb2 U+012b +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+005b +0xbb U+005d +0xbc U+0179 +0xbd U+0136 +0xbe U+013c +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+014d +0xcc U+00f6 +0xcd U+0146 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+0107 +0xdc U+00fc +0xdd U+0142 +0xde U+015b +0xdf U+2019 +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+014c +0xec U+00d6 +0xed U+0145 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+0106 +0xfc U+00dc +0xfd U+0141 +0xfe U+015a +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1112.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1112.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1122.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1122.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1122.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1122.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1122.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+007b +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+007d +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00a7 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+0060 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+00a4 +0x5b U+00c5 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+0023 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+0024 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+005c +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00e9 +0x7a U+003a +0x7b U+00c4 +0x7c U+00d6 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+0161 +0x8d U+00fd +0x8e U+017e +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+005d +0xa0 U+00b5 +0xa1 U+00fc +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+0160 +0xad U+00dd +0xae U+017d +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+005b +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+203e +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e4 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00a6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e5 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+007e +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+00c9 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+0040 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1122.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1122.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1123.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1123.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1123.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1123.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1123.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+0452 +0x43 U+0491 +0x44 U+0451 +0x45 U+0454 +0x46 U+0455 +0x47 U+0456 +0x48 U+0457 +0x49 U+0458 +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+0459 +0x52 U+045a +0x53 U+045b +0x54 U+045c +0x55 U+045e +0x56 U+045f +0x57 U+042a +0x58 U+2116 +0x59 U+0402 +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+0490 +0x63 U+0401 +0x64 U+0404 +0x65 U+0405 +0x66 U+0406 +0x67 U+0407 +0x68 U+0408 +0x69 U+0409 +0x6a U+007c +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+040a +0x71 U+040b +0x72 U+040c +0x73 U+00ad +0x74 U+040e +0x75 U+040f +0x76 U+044e +0x77 U+0430 +0x78 U+0431 +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+0446 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+0434 +0x8b U+0435 +0x8c U+0444 +0x8d U+0433 +0x8e U+0445 +0x8f U+0438 +0x90 U+0439 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+043a +0x9b U+043b +0x9c U+043c +0x9d U+043d +0x9e U+043e +0x9f U+043f +0xa0 U+044f +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+0440 +0xab U+0441 +0xac U+0442 +0xad U+0443 +0xae U+0436 +0xaf U+0432 +0xb0 U+044c +0xb1 U+044b +0xb2 U+0437 +0xb3 U+0448 +0xb4 U+044d +0xb5 U+0449 +0xb6 U+0447 +0xb7 U+044a +0xb8 U+042e +0xb9 U+0410 +0xba U+0411 +0xbb U+0426 +0xbc U+0414 +0xbd U+0415 +0xbe U+0424 +0xbf U+0413 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+0425 +0xcb U+0418 +0xcc U+0419 +0xcd U+041a +0xce U+041b +0xcf U+041c +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+041d +0xdb U+041e +0xdc U+041f +0xdd U+042f +0xde U+0420 +0xdf U+0421 +0xe0 U+005c +0xe1 U+00a7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+0422 +0xeb U+0423 +0xec U+0416 +0xed U+0412 +0xee U+042c +0xef U+042b +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+0417 +0xfb U+0428 +0xfc U+042d +0xfd U+0429 +0xfe U+0427 +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1123.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1123.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1124.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1124.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM1124.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+0401 +0xa2 U+0402 +0xa3 U+0490 +0xa4 U+0404 +0xa5 U+0405 +0xa6 U+0406 +0xa7 U+0407 +0xa8 U+0408 +0xa9 U+0409 +0xaa U+040a +0xab U+040b +0xac U+040c +0xad U+00ad +0xae U+040e +0xaf U+040f +0xb0 U+0410 +0xb1 U+0411 +0xb2 U+0412 +0xb3 U+0413 +0xb4 U+0414 +0xb5 U+0415 +0xb6 U+0416 +0xb7 U+0417 +0xb8 U+0418 +0xb9 U+0419 +0xba U+041a +0xbb U+041b +0xbc U+041c +0xbd U+041d +0xbe U+041e +0xbf U+041f +0xc0 U+0420 +0xc1 U+0421 +0xc2 U+0422 +0xc3 U+0423 +0xc4 U+0424 +0xc5 U+0425 +0xc6 U+0426 +0xc7 U+0427 +0xc8 U+0428 +0xc9 U+0429 +0xca U+042a +0xcb U+042b +0xcc U+042c +0xcd U+042d +0xce U+042e +0xcf U+042f +0xd0 U+0430 +0xd1 U+0431 +0xd2 U+0432 +0xd3 U+0433 +0xd4 U+0434 +0xd5 U+0435 +0xd6 U+0436 +0xd7 U+0437 +0xd8 U+0438 +0xd9 U+0439 +0xda U+043a +0xdb U+043b +0xdc U+043c +0xdd U+043d +0xde U+043e +0xdf U+043f +0xe0 U+0440 +0xe1 U+0441 +0xe2 U+0442 +0xe3 U+0443 +0xe4 U+0444 +0xe5 U+0445 +0xe6 U+0446 +0xe7 U+0447 +0xe8 U+0448 +0xe9 U+0449 +0xea U+044a +0xeb U+044b +0xec U+044c +0xed U+044d +0xee U+044e +0xef U+044f +0xf0 U+2116 +0xf1 U+0451 +0xf2 U+0452 +0xf3 U+0491 +0xf4 U+0454 +0xf5 U+0455 +0xf6 U+0456 +0xf7 U+0457 +0xf8 U+0458 +0xf9 U+0459 +0xfa U+045a +0xfb U+045b +0xfc U+045c +0xfd U+00a7 +0xfe U+045e +0xff U+045f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1140.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1140.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1140.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1140.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM037.java with 0x9f <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00a2 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+0021 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+20ac +0xa0 U+00b5 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+005e +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+005b +0xbb U+005d +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1141.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1141.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1141.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1141.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM273.java with 0x9f <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+007b +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00c4 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+007e +0x5a U+00dc +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+005b +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+00a7 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+20ac +0xa0 U+00b5 +0xa1 U+00df +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+0040 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e4 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00a6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00fc +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+007d +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+00d6 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+005c +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+005d +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1142.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1142.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1142.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1142.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM277.java with 0x5a <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+007d +0x48 U+00e7 +0x49 U+00f1 +0x4a U+0023 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+20ac +0x5b U+00c5 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+0024 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f8 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00a6 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+00c6 +0x7c U+00d8 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+0040 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+007b +0x9d U+00b8 +0x9e U+005b +0x9f U+005d +0xa0 U+00b5 +0xa1 U+00fc +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e6 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e5 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+007e +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1143.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1143.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1143.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1143.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM278.java with 0x5a <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+007b +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+007d +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00a7 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+0060 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+20ac +0x5b U+00c5 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+0023 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+0024 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+005c +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00e9 +0x7a U+003a +0x7b U+00c4 +0x7c U+00d6 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+005d +0xa0 U+00b5 +0xa1 U+00fc +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+005b +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e4 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00a6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e5 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+007e +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+00c9 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+0040 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1144.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1144.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1144.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1144.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM280.java with 0x9f <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+007b +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+005c +0x49 U+00f1 +0x4a U+00b0 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+005d +0x52 U+00ea +0x53 U+00eb +0x54 U+007d +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+007e +0x59 U+00df +0x5a U+00e9 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f2 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00f9 +0x7a U+003a +0x7b U+00a3 +0x7c U+00a7 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+005b +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+20ac +0xa0 U+00b5 +0xa1 U+00ec +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+0023 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+0040 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e0 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00a6 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e8 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+0060 +0xde U+00fa +0xdf U+00ff +0xe0 U+00e7 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1145.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1145.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1145.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1145.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM284.java with 0x9f <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00a6 +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+0023 +0x6a U+00f1 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+00d1 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+20ac +0xa0 U+00b5 +0xa1 U+00a8 +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+005e +0xbb U+0021 +0xbc U+00af +0xbd U+007e +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1146.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1146.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1146.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1146.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM285.java with 0x9f <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+0024 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+0021 +0x5b U+00a3 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+20ac +0xa0 U+00b5 +0xa1 U+00af +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+005b +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+005e +0xbb U+005d +0xbc U+007e +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1147.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1147.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1147.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1147.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM297.java 0x9f <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+0040 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+005c +0x49 U+00f1 +0x4a U+00b0 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+007b +0x52 U+00ea +0x53 U+00eb +0x54 U+007d +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+00a7 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f9 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00b5 +0x7a U+003a +0x7b U+00a3 +0x7c U+00e0 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+005b +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+20ac +0xa0 U+0060 +0xa1 U+00a8 +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+0023 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+005d +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+007e +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e9 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e8 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00a6 +0xde U+00fa +0xdf U+00ff +0xe0 U+00e7 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1148.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1148.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1148.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1148.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM500.java 0x9f <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+20ac +0xa0 U+00b5 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1149.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1149.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM1149.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1149.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM871.java 0x9f <-> u+20ac +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00de +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+00c6 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00d6 +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00f0 +0x7a U+003a +0x7b U+0023 +0x7c U+00d0 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+0060 +0x8d U+00fd +0x8e U+007b +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+007d +0x9d U+00b8 +0x9e U+005d +0x9f U+20ac +0xa0 U+00b5 +0xa1 U+00f6 +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+0040 +0xad U+00dd +0xae U+005b +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+005c +0xbf U+00d7 +0xc0 U+00fe +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+007e +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e6 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+00b4 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+005e +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM273.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM273.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM273.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM273.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM273.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+007b +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00c4 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+007e +0x5a U+00dc +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+005b +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+00a7 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+00df +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+0040 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e4 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00a6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00fc +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+007d +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+00d6 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+005c +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+005d +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM273.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM273.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM277.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM277.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM277.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM277.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM277.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+007d +0x48 U+00e7 +0x49 U+00f1 +0x4a U+0023 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+00a4 +0x5b U+00c5 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+0024 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f8 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00a6 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+00c6 +0x7c U+00d8 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+0040 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+007b +0x9d U+00b8 +0x9e U+005b +0x9f U+005d +0xa0 U+00b5 +0xa1 U+00fc +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e6 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e5 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+007e +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM277.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM277.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM278.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM278.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM278.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM278.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM278.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+007b +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+007d +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00a7 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+0060 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+00a4 +0x5b U+00c5 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+0023 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+0024 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+005c +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00e9 +0x7a U+003a +0x7b U+00c4 +0x7c U+00d6 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+005d +0xa0 U+00b5 +0xa1 U+00fc +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+005b +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e4 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00a6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e5 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+007e +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+00c9 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+0040 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM278.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM278.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM280.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM280.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM280.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM280.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM280.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+007b +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+005c +0x49 U+00f1 +0x4a U+00b0 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+005d +0x52 U+00ea +0x53 U+00eb +0x54 U+007d +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+007e +0x59 U+00df +0x5a U+00e9 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f2 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00f9 +0x7a U+003a +0x7b U+00a3 +0x7c U+00a7 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+005b +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+00ec +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+0023 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+0040 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e0 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00a6 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e8 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+0060 +0xde U+00fa +0xdf U+00ff +0xe0 U+00e7 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM280.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM280.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM284.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM284.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM284.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM284.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM284.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00a6 +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+0023 +0x6a U+00f1 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+00d1 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+00a8 +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+005e +0xbb U+0021 +0xbc U+00af +0xbd U+007e +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM284.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM284.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM285.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM285.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM285.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM285.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM285.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+0024 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+0021 +0x5b U+00a3 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+00af +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+005b +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+005e +0xbb U+005d +0xbc U+007e +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM285.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM285.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM297.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM297.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM297.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM297.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM297.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+0040 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+005c +0x49 U+00f1 +0x4a U+00b0 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+007b +0x52 U+00ea +0x53 U+00eb +0x54 U+007d +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+00a7 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00f9 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00b5 +0x7a U+003a +0x7b U+00a3 +0x7c U+00e0 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+005b +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+0060 +0xa1 U+00a8 +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+0023 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+005d +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+007e +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+00e9 +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e8 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00a6 +0xde U+00fa +0xdf U+00ff +0xe0 U+00e7 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM297.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM297.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM420.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM420.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM420.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM420.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM420.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+fe7c +0x43 U+fe7d +0x44 U+0640 +0x45 U+f8fc +0x46 U+fe80 +0x47 U+fe81 +0x48 U+fe82 +0x49 U+fe83 +0x4a U+00a2 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+fe84 +0x52 U+fe85 +0x53 U+fffd +0x54 U+fffd +0x55 U+fe8b +0x56 U+fe8d +0x57 U+fe8e +0x58 U+fe8f +0x59 U+fe91 +0x5a U+0021 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+fe93 +0x63 U+fe95 +0x64 U+fe97 +0x65 U+fe99 +0x66 U+fe9b +0x67 U+fe9d +0x68 U+fe9f +0x69 U+fea1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+fea3 +0x71 U+fea5 +0x72 U+fea7 +0x73 U+fea9 +0x74 U+feab +0x75 U+fead +0x76 U+feaf +0x77 U+f8f6 +0x78 U+feb3 +0x79 U+060c +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+f8f5 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+feb7 +0x8b U+f8f4 +0x8c U+febb +0x8d U+f8f7 +0x8e U+febf +0x8f U+fec3 +0x90 U+fec7 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+fec9 +0x9b U+feca +0x9c U+fecb +0x9d U+fecc +0x9e U+fecd +0x9f U+fece +0xa0 U+fecf +0xa1 U+00f7 +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+fed0 +0xab U+fed1 +0xac U+fed3 +0xad U+fed5 +0xae U+fed7 +0xaf U+fed9 +0xb0 U+fedb +0xb1 U+fedd +0xb2 U+fef5 +0xb3 U+fef6 +0xb4 U+fef7 +0xb5 U+fef8 +0xb6 U+fffd +0xb7 U+fffd +0xb8 U+fefb +0xb9 U+fefc +0xba U+fedf +0xbb U+fee1 +0xbc U+fee3 +0xbd U+fee5 +0xbe U+fee7 +0xbf U+fee9 +0xc0 U+061b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+feeb +0xcc U+fffd +0xcd U+feec +0xce U+fffd +0xcf U+feed +0xd0 U+061f +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+feef +0xdb U+fef0 +0xdc U+fef1 +0xdd U+fef2 +0xde U+fef3 +0xdf U+0660 +0xe0 U+00d7 +0xe1 U+2007 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+0661 +0xeb U+0662 +0xec U+fffd +0xed U+0663 +0xee U+0664 +0xef U+0665 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+fffd +0xfb U+0666 +0xfc U+0667 +0xfd U+0668 +0xfe U+0669 +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM420.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM420.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM424.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM424.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM424.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM424.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM424.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+05d0 +0x42 U+05d1 +0x43 U+05d2 +0x44 U+05d3 +0x45 U+05d4 +0x46 U+05d5 +0x47 U+05d6 +0x48 U+05d7 +0x49 U+05d8 +0x4a U+00a2 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+05d9 +0x52 U+05da +0x53 U+05db +0x54 U+05dc +0x55 U+05dd +0x56 U+05de +0x57 U+05df +0x58 U+05e0 +0x59 U+05e1 +0x5a U+0021 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+05e2 +0x63 U+05e3 +0x64 U+05e4 +0x65 U+05e5 +0x66 U+05e6 +0x67 U+05e7 +0x68 U+05e8 +0x69 U+05e9 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+fffd +0x71 U+05ea +0x72 U+fffd +0x73 U+fffd +0x74 U+00a0 +0x75 U+fffd +0x76 U+fffd +0x77 U+fffd +0x78 U+2017 +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+fffd +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+fffd +0x9b U+fffd +0x9c U+fffd +0x9d U+00b8 +0x9e U+fffd +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+fffd +0xab U+fffd +0xac U+fffd +0xad U+fffd +0xae U+fffd +0xaf U+00ae +0xb0 U+005e +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+2022 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+005b +0xbb U+005d +0xbc U+203e +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+fffd +0xcc U+fffd +0xcd U+fffd +0xce U+fffd +0xcf U+fffd +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+fffd +0xdc U+fffd +0xdd U+fffd +0xde U+fffd +0xdf U+fffd +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+fffd +0xec U+fffd +0xed U+fffd +0xee U+fffd +0xef U+fffd +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+fffd +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM424.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM424.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM437.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM437.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM437.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00e4 +0x85 U+00e0 +0x86 U+00e5 +0x87 U+00e7 +0x88 U+00ea +0x89 U+00eb +0x8a U+00e8 +0x8b U+00ef +0x8c U+00ee +0x8d U+00ec +0x8e U+00c4 +0x8f U+00c5 +0x90 U+00c9 +0x91 U+00e6 +0x92 U+00c6 +0x93 U+00f4 +0x94 U+00f6 +0x95 U+00f2 +0x96 U+00fb +0x97 U+00f9 +0x98 U+00ff +0x99 U+00d6 +0x9a U+00dc +0x9b U+00a2 +0x9c U+00a3 +0x9d U+00a5 +0x9e U+20a7 +0x9f U+0192 +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00f1 +0xa5 U+00d1 +0xa6 U+00aa +0xa7 U+00ba +0xa8 U+00bf +0xa9 U+2310 +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00a1 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+2561 +0xb6 U+2562 +0xb7 U+2556 +0xb8 U+2555 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+255c +0xbe U+255b +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+255e +0xc7 U+255f +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+2567 +0xd0 U+2568 +0xd1 U+2564 +0xd2 U+2565 +0xd3 U+2559 +0xd4 U+2558 +0xd5 U+2552 +0xd6 U+2553 +0xd7 U+256b +0xd8 U+256a +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+03b1 +0xe1 U+00df +0xe2 U+0393 +0xe3 U+03c0 +0xe4 U+03a3 +0xe5 U+03c3 +0xe6 U+00b5 +0xe7 U+03c4 +0xe8 U+03a6 +0xe9 U+0398 +0xea U+03a9 +0xeb U+03b4 +0xec U+221e +0xed U+03c6 +0xee U+03b5 +0xef U+2229 +0xf0 U+2261 +0xf1 U+00b1 +0xf2 U+2265 +0xf3 U+2264 +0xf4 U+2320 +0xf5 U+2321 +0xf6 U+00f7 +0xf7 U+2248 +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+221a +0xfc U+207f +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM500.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM500.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM500.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM500.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM500.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+00f0 +0x8d U+00fd +0x8e U+00fe +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+00e6 +0x9d U+00b8 +0x9e U+00c6 +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+00d0 +0xad U+00dd +0xae U+00de +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+00d6 +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM500.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM500.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM737.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM737.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM737.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0391 +0x81 U+0392 +0x82 U+0393 +0x83 U+0394 +0x84 U+0395 +0x85 U+0396 +0x86 U+0397 +0x87 U+0398 +0x88 U+0399 +0x89 U+039a +0x8a U+039b +0x8b U+039c +0x8c U+039d +0x8d U+039e +0x8e U+039f +0x8f U+03a0 +0x90 U+03a1 +0x91 U+03a3 +0x92 U+03a4 +0x93 U+03a5 +0x94 U+03a6 +0x95 U+03a7 +0x96 U+03a8 +0x97 U+03a9 +0x98 U+03b1 +0x99 U+03b2 +0x9a U+03b3 +0x9b U+03b4 +0x9c U+03b5 +0x9d U+03b6 +0x9e U+03b7 +0x9f U+03b8 +0xa0 U+03b9 +0xa1 U+03ba +0xa2 U+03bb +0xa3 U+03bc +0xa4 U+03bd +0xa5 U+03be +0xa6 U+03bf +0xa7 U+03c0 +0xa8 U+03c1 +0xa9 U+03c3 +0xaa U+03c2 +0xab U+03c4 +0xac U+03c5 +0xad U+03c6 +0xae U+03c7 +0xaf U+03c8 +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+2561 +0xb6 U+2562 +0xb7 U+2556 +0xb8 U+2555 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+255c +0xbe U+255b +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+255e +0xc7 U+255f +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+2567 +0xd0 U+2568 +0xd1 U+2564 +0xd2 U+2565 +0xd3 U+2559 +0xd4 U+2558 +0xd5 U+2552 +0xd6 U+2553 +0xd7 U+256b +0xd8 U+256a +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+03c9 +0xe1 U+03ac +0xe2 U+03ad +0xe3 U+03ae +0xe4 U+03ca +0xe5 U+03af +0xe6 U+03cc +0xe7 U+03cd +0xe8 U+03cb +0xe9 U+03ce +0xea U+0386 +0xeb U+0388 +0xec U+0389 +0xed U+038a +0xee U+038c +0xef U+038e +0xf0 U+038f +0xf1 U+00b1 +0xf2 U+2265 +0xf3 U+2264 +0xf4 U+03aa +0xf5 U+03ab +0xf6 U+00f7 +0xf7 U+2248 +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+221a +0xfc U+207f +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM775.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM775.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM775.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0106 +0x81 U+00fc +0x82 U+00e9 +0x83 U+0101 +0x84 U+00e4 +0x85 U+0123 +0x86 U+00e5 +0x87 U+0107 +0x88 U+0142 +0x89 U+0113 +0x8a U+0156 +0x8b U+0157 +0x8c U+012b +0x8d U+0179 +0x8e U+00c4 +0x8f U+00c5 +0x90 U+00c9 +0x91 U+00e6 +0x92 U+00c6 +0x93 U+014d +0x94 U+00f6 +0x95 U+0122 +0x96 U+00a2 +0x97 U+015a +0x98 U+015b +0x99 U+00d6 +0x9a U+00dc +0x9b U+00f8 +0x9c U+00a3 +0x9d U+00d8 +0x9e U+00d7 +0x9f U+00a4 +0xa0 U+0100 +0xa1 U+012a +0xa2 U+00f3 +0xa3 U+017b +0xa4 U+017c +0xa5 U+017a +0xa6 U+201d +0xa7 U+00a6 +0xa8 U+00a9 +0xa9 U+00ae +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+0141 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+0104 +0xb6 U+010c +0xb7 U+0118 +0xb8 U+0116 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+012e +0xbe U+0160 +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+0172 +0xc7 U+016a +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+017d +0xd0 U+0105 +0xd1 U+010d +0xd2 U+0119 +0xd3 U+0117 +0xd4 U+012f +0xd5 U+0161 +0xd6 U+0173 +0xd7 U+016b +0xd8 U+017e +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+00d3 +0xe1 U+00df +0xe2 U+014c +0xe3 U+0143 +0xe4 U+00f5 +0xe5 U+00d5 +0xe6 U+00b5 +0xe7 U+0144 +0xe8 U+0136 +0xe9 U+0137 +0xea U+013b +0xeb U+013c +0xec U+0146 +0xed U+0112 +0xee U+0145 +0xef U+2019 +0xf0 U+00ad +0xf1 U+00b1 +0xf2 U+201c +0xf3 U+00be +0xf4 U+00b6 +0xf5 U+00a7 +0xf6 U+00f7 +0xf7 U+201e +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+00b9 +0xfc U+00b3 +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM838.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM838.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM838.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM838.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM838.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+0e01 +0x43 U+0e02 +0x44 U+0e03 +0x45 U+0e04 +0x46 U+0e05 +0x47 U+0e06 +0x48 U+0e07 +0x49 U+005b +0x4a U+00a2 +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+007c +0x50 U+0026 +0x51 U+0e48 +0x52 U+0e08 +0x53 U+0e09 +0x54 U+0e0a +0x55 U+0e0b +0x56 U+0e0c +0x57 U+0e0d +0x58 U+0e0e +0x59 U+005d +0x5a U+0021 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00ac +0x60 U+002d +0x61 U+002f +0x62 U+0e0f +0x63 U+0e10 +0x64 U+0e11 +0x65 U+0e12 +0x66 U+0e13 +0x67 U+0e14 +0x68 U+0e15 +0x69 U+005e +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+0e3f +0x71 U+0e4e +0x72 U+0e16 +0x73 U+0e17 +0x74 U+0e18 +0x75 U+0e19 +0x76 U+0e1a +0x77 U+0e1b +0x78 U+0e1c +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+0e4f +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+0e1d +0x8b U+0e1e +0x8c U+0e1f +0x8d U+0e20 +0x8e U+0e21 +0x8f U+0e22 +0x90 U+0e5a +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+0e23 +0x9b U+0e24 +0x9c U+0e25 +0x9d U+0e26 +0x9e U+0e27 +0x9f U+0e28 +0xa0 U+0e5b +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+0e29 +0xab U+0e2a +0xac U+0e2b +0xad U+0e2c +0xae U+0e2d +0xaf U+0e2e +0xb0 U+0e50 +0xb1 U+0e51 +0xb2 U+0e52 +0xb3 U+0e53 +0xb4 U+0e54 +0xb5 U+0e55 +0xb6 U+0e56 +0xb7 U+0e57 +0xb8 U+0e58 +0xb9 U+0e59 +0xba U+0e2f +0xbb U+0e30 +0xbc U+0e31 +0xbd U+0e32 +0xbe U+0e33 +0xbf U+0e34 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+0e49 +0xcb U+0e35 +0xcc U+0e36 +0xcd U+0e37 +0xce U+0e38 +0xcf U+0e39 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+0e3a +0xdb U+0e40 +0xdc U+0e41 +0xdd U+0e42 +0xde U+0e43 +0xdf U+0e44 +0xe0 U+005c +0xe1 U+0e4a +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+0e45 +0xeb U+0e46 +0xec U+0e47 +0xed U+0e48 +0xee U+0e49 +0xef U+0e4a +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+0e4b +0xfb U+0e4c +0xfc U+0e4d +0xfd U+0e4b +0xfe U+0e4c +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM838.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM838.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,6 @@ +0x25 U+000a +0x51 U+0e48 +0xca U+0e49 +0xe1 U+0e4a +0xfd U+0e4b +0xfe U+0e4c diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM850.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM850.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM850.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00e4 +0x85 U+00e0 +0x86 U+00e5 +0x87 U+00e7 +0x88 U+00ea +0x89 U+00eb +0x8a U+00e8 +0x8b U+00ef +0x8c U+00ee +0x8d U+00ec +0x8e U+00c4 +0x8f U+00c5 +0x90 U+00c9 +0x91 U+00e6 +0x92 U+00c6 +0x93 U+00f4 +0x94 U+00f6 +0x95 U+00f2 +0x96 U+00fb +0x97 U+00f9 +0x98 U+00ff +0x99 U+00d6 +0x9a U+00dc +0x9b U+00f8 +0x9c U+00a3 +0x9d U+00d8 +0x9e U+00d7 +0x9f U+0192 +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00f1 +0xa5 U+00d1 +0xa6 U+00aa +0xa7 U+00ba +0xa8 U+00bf +0xa9 U+00ae +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00a1 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+00c1 +0xb6 U+00c2 +0xb7 U+00c0 +0xb8 U+00a9 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+00a2 +0xbe U+00a5 +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+00e3 +0xc7 U+00c3 +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+00a4 +0xd0 U+00f0 +0xd1 U+00d0 +0xd2 U+00ca +0xd3 U+00cb +0xd4 U+00c8 +0xd5 U+0131 +0xd6 U+00cd +0xd7 U+00ce +0xd8 U+00cf +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+00a6 +0xde U+00cc +0xdf U+2580 +0xe0 U+00d3 +0xe1 U+00df +0xe2 U+00d4 +0xe3 U+00d2 +0xe4 U+00f5 +0xe5 U+00d5 +0xe6 U+00b5 +0xe7 U+00fe +0xe8 U+00de +0xe9 U+00da +0xea U+00db +0xeb U+00d9 +0xec U+00fd +0xed U+00dd +0xee U+00af +0xef U+00b4 +0xf0 U+00ad +0xf1 U+00b1 +0xf2 U+2017 +0xf3 U+00be +0xf4 U+00b6 +0xf5 U+00a7 +0xf6 U+00f7 +0xf7 U+00b8 +0xf8 U+00b0 +0xf9 U+00a8 +0xfa U+00b7 +0xfb U+00b9 +0xfc U+00b3 +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM852.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM852.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM852.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00e4 +0x85 U+016f +0x86 U+0107 +0x87 U+00e7 +0x88 U+0142 +0x89 U+00eb +0x8a U+0150 +0x8b U+0151 +0x8c U+00ee +0x8d U+0179 +0x8e U+00c4 +0x8f U+0106 +0x90 U+00c9 +0x91 U+0139 +0x92 U+013a +0x93 U+00f4 +0x94 U+00f6 +0x95 U+013d +0x96 U+013e +0x97 U+015a +0x98 U+015b +0x99 U+00d6 +0x9a U+00dc +0x9b U+0164 +0x9c U+0165 +0x9d U+0141 +0x9e U+00d7 +0x9f U+010d +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+0104 +0xa5 U+0105 +0xa6 U+017d +0xa7 U+017e +0xa8 U+0118 +0xa9 U+0119 +0xaa U+00ac +0xab U+017a +0xac U+010c +0xad U+015f +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+00c1 +0xb6 U+00c2 +0xb7 U+011a +0xb8 U+015e +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+017b +0xbe U+017c +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+0102 +0xc7 U+0103 +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+00a4 +0xd0 U+0111 +0xd1 U+0110 +0xd2 U+010e +0xd3 U+00cb +0xd4 U+010f +0xd5 U+0147 +0xd6 U+00cd +0xd7 U+00ce +0xd8 U+011b +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+0162 +0xde U+016e +0xdf U+2580 +0xe0 U+00d3 +0xe1 U+00df +0xe2 U+00d4 +0xe3 U+0143 +0xe4 U+0144 +0xe5 U+0148 +0xe6 U+0160 +0xe7 U+0161 +0xe8 U+0154 +0xe9 U+00da +0xea U+0155 +0xeb U+0170 +0xec U+00fd +0xed U+00dd +0xee U+0163 +0xef U+00b4 +0xf0 U+00ad +0xf1 U+02dd +0xf2 U+02db +0xf3 U+02c7 +0xf4 U+02d8 +0xf5 U+00a7 +0xf6 U+00f7 +0xf7 U+00b8 +0xf8 U+00b0 +0xf9 U+00a8 +0xfa U+02d9 +0xfb U+0171 +0xfc U+0158 +0xfd U+0159 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM855.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM855.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM855.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0452 +0x81 U+0402 +0x82 U+0453 +0x83 U+0403 +0x84 U+0451 +0x85 U+0401 +0x86 U+0454 +0x87 U+0404 +0x88 U+0455 +0x89 U+0405 +0x8a U+0456 +0x8b U+0406 +0x8c U+0457 +0x8d U+0407 +0x8e U+0458 +0x8f U+0408 +0x90 U+0459 +0x91 U+0409 +0x92 U+045a +0x93 U+040a +0x94 U+045b +0x95 U+040b +0x96 U+045c +0x97 U+040c +0x98 U+045e +0x99 U+040e +0x9a U+045f +0x9b U+040f +0x9c U+044e +0x9d U+042e +0x9e U+044a +0x9f U+042a +0xa0 U+0430 +0xa1 U+0410 +0xa2 U+0431 +0xa3 U+0411 +0xa4 U+0446 +0xa5 U+0426 +0xa6 U+0434 +0xa7 U+0414 +0xa8 U+0435 +0xa9 U+0415 +0xaa U+0444 +0xab U+0424 +0xac U+0433 +0xad U+0413 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+0445 +0xb6 U+0425 +0xb7 U+0438 +0xb8 U+0418 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+0439 +0xbe U+0419 +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+043a +0xc7 U+041a +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+00a4 +0xd0 U+043b +0xd1 U+041b +0xd2 U+043c +0xd3 U+041c +0xd4 U+043d +0xd5 U+041d +0xd6 U+043e +0xd7 U+041e +0xd8 U+043f +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+041f +0xde U+044f +0xdf U+2580 +0xe0 U+042f +0xe1 U+0440 +0xe2 U+0420 +0xe3 U+0441 +0xe4 U+0421 +0xe5 U+0442 +0xe6 U+0422 +0xe7 U+0443 +0xe8 U+0423 +0xe9 U+0436 +0xea U+0416 +0xeb U+0432 +0xec U+0412 +0xed U+044c +0xee U+042c +0xef U+2116 +0xf0 U+00ad +0xf1 U+044b +0xf2 U+042b +0xf3 U+0437 +0xf4 U+0417 +0xf5 U+0448 +0xf6 U+0428 +0xf7 U+044d +0xf8 U+042d +0xf9 U+0449 +0xfa U+0429 +0xfb U+0447 +0xfc U+0427 +0xfd U+00a7 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM856.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM856.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM856.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+05d0 +0x81 U+05d1 +0x82 U+05d2 +0x83 U+05d3 +0x84 U+05d4 +0x85 U+05d5 +0x86 U+05d6 +0x87 U+05d7 +0x88 U+05d8 +0x89 U+05d9 +0x8a U+05da +0x8b U+05db +0x8c U+05dc +0x8d U+05dd +0x8e U+05de +0x8f U+05df +0x90 U+05e0 +0x91 U+05e1 +0x92 U+05e2 +0x93 U+05e3 +0x94 U+05e4 +0x95 U+05e5 +0x96 U+05e6 +0x97 U+05e7 +0x98 U+05e8 +0x99 U+05e9 +0x9a U+05ea +0x9b U+fffd +0x9c U+00a3 +0x9d U+fffd +0x9e U+00d7 +0x9f U+fffd +0xa0 U+fffd +0xa1 U+fffd +0xa2 U+fffd +0xa3 U+fffd +0xa4 U+fffd +0xa5 U+fffd +0xa6 U+fffd +0xa7 U+fffd +0xa8 U+fffd +0xa9 U+00ae +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+fffd +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+fffd +0xb6 U+fffd +0xb7 U+fffd +0xb8 U+00a9 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+00a2 +0xbe U+00a5 +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+fffd +0xc7 U+fffd +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+00a4 +0xd0 U+fffd +0xd1 U+fffd +0xd2 U+fffd +0xd3 U+fffd +0xd4 U+fffd +0xd5 U+fffd +0xd6 U+fffd +0xd7 U+fffd +0xd8 U+fffd +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+00a6 +0xde U+fffd +0xdf U+2580 +0xe0 U+fffd +0xe1 U+fffd +0xe2 U+fffd +0xe3 U+fffd +0xe4 U+fffd +0xe5 U+fffd +0xe6 U+00b5 +0xe7 U+fffd +0xe8 U+fffd +0xe9 U+fffd +0xea U+fffd +0xeb U+fffd +0xec U+fffd +0xed U+fffd +0xee U+203e +0xef U+00b4 +0xf0 U+00ad +0xf1 U+00b1 +0xf2 U+2017 +0xf3 U+00be +0xf4 U+00b6 +0xf5 U+00a7 +0xf6 U+00f7 +0xf7 U+00b8 +0xf8 U+00b0 +0xf9 U+00a8 +0xfa U+2022 +0xfb U+00b9 +0xfc U+00b3 +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM857.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM857.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM857.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00e4 +0x85 U+00e0 +0x86 U+00e5 +0x87 U+00e7 +0x88 U+00ea +0x89 U+00eb +0x8a U+00e8 +0x8b U+00ef +0x8c U+00ee +0x8d U+0131 +0x8e U+00c4 +0x8f U+00c5 +0x90 U+00c9 +0x91 U+00e6 +0x92 U+00c6 +0x93 U+00f4 +0x94 U+00f6 +0x95 U+00f2 +0x96 U+00fb +0x97 U+00f9 +0x98 U+0130 +0x99 U+00d6 +0x9a U+00dc +0x9b U+00f8 +0x9c U+00a3 +0x9d U+00d8 +0x9e U+015e +0x9f U+015f +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00f1 +0xa5 U+00d1 +0xa6 U+011e +0xa7 U+011f +0xa8 U+00bf +0xa9 U+00ae +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00a1 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+00c1 +0xb6 U+00c2 +0xb7 U+00c0 +0xb8 U+00a9 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+00a2 +0xbe U+00a5 +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+00e3 +0xc7 U+00c3 +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+00a4 +0xd0 U+00ba +0xd1 U+00aa +0xd2 U+00ca +0xd3 U+00cb +0xd4 U+00c8 +0xd5 U+fffd +0xd6 U+00cd +0xd7 U+00ce +0xd8 U+00cf +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+00a6 +0xde U+00cc +0xdf U+2580 +0xe0 U+00d3 +0xe1 U+00df +0xe2 U+00d4 +0xe3 U+00d2 +0xe4 U+00f5 +0xe5 U+00d5 +0xe6 U+00b5 +0xe7 U+fffd +0xe8 U+00d7 +0xe9 U+00da +0xea U+00db +0xeb U+00d9 +0xec U+00ec +0xed U+00ff +0xee U+00af +0xef U+00b4 +0xf0 U+00ad +0xf1 U+00b1 +0xf2 U+fffd +0xf3 U+00be +0xf4 U+00b6 +0xf5 U+00a7 +0xf6 U+00f7 +0xf7 U+00b8 +0xf8 U+00b0 +0xf9 U+00a8 +0xfa U+00b7 +0xfb U+00b9 +0xfc U+00b3 +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM858.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM858.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM858.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00e4 +0x85 U+00e0 +0x86 U+00e5 +0x87 U+00e7 +0x88 U+00ea +0x89 U+00eb +0x8a U+00e8 +0x8b U+00ef +0x8c U+00ee +0x8d U+00ec +0x8e U+00c4 +0x8f U+00c5 +0x90 U+00c9 +0x91 U+00e6 +0x92 U+00c6 +0x93 U+00f4 +0x94 U+00f6 +0x95 U+00f2 +0x96 U+00fb +0x97 U+00f9 +0x98 U+00ff +0x99 U+00d6 +0x9a U+00dc +0x9b U+00f8 +0x9c U+00a3 +0x9d U+00d8 +0x9e U+00d7 +0x9f U+0192 +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00f1 +0xa5 U+00d1 +0xa6 U+00aa +0xa7 U+00ba +0xa8 U+00bf +0xa9 U+00ae +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00a1 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+00c1 +0xb6 U+00c2 +0xb7 U+00c0 +0xb8 U+00a9 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+00a2 +0xbe U+00a5 +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+00e3 +0xc7 U+00c3 +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+00a4 +0xd0 U+00f0 +0xd1 U+00d0 +0xd2 U+00ca +0xd3 U+00cb +0xd4 U+00c8 +0xd5 U+20ac +0xd6 U+00cd +0xd7 U+00ce +0xd8 U+00cf +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+00a6 +0xde U+00cc +0xdf U+2580 +0xe0 U+00d3 +0xe1 U+00df +0xe2 U+00d4 +0xe3 U+00d2 +0xe4 U+00f5 +0xe5 U+00d5 +0xe6 U+00b5 +0xe7 U+00fe +0xe8 U+00de +0xe9 U+00da +0xea U+00db +0xeb U+00d9 +0xec U+00fd +0xed U+00dd +0xee U+00af +0xef U+00b4 +0xf0 U+00ad +0xf1 U+00b1 +0xf2 U+2017 +0xf3 U+00be +0xf4 U+00b6 +0xf5 U+00a7 +0xf6 U+00f7 +0xf7 U+00b8 +0xf8 U+00b0 +0xf9 U+00a8 +0xfa U+00b7 +0xfb U+00b9 +0xfc U+00b3 +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM860.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM860.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM860.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00e3 +0x85 U+00e0 +0x86 U+00c1 +0x87 U+00e7 +0x88 U+00ea +0x89 U+00ca +0x8a U+00e8 +0x8b U+00cd +0x8c U+00d4 +0x8d U+00ec +0x8e U+00c3 +0x8f U+00c2 +0x90 U+00c9 +0x91 U+00c0 +0x92 U+00c8 +0x93 U+00f4 +0x94 U+00f5 +0x95 U+00f2 +0x96 U+00da +0x97 U+00f9 +0x98 U+00cc +0x99 U+00d5 +0x9a U+00dc +0x9b U+00a2 +0x9c U+00a3 +0x9d U+00d9 +0x9e U+20a7 +0x9f U+00d3 +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00f1 +0xa5 U+00d1 +0xa6 U+00aa +0xa7 U+00ba +0xa8 U+00bf +0xa9 U+00d2 +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00a1 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+2561 +0xb6 U+2562 +0xb7 U+2556 +0xb8 U+2555 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+255c +0xbe U+255b +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+255e +0xc7 U+255f +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+2567 +0xd0 U+2568 +0xd1 U+2564 +0xd2 U+2565 +0xd3 U+2559 +0xd4 U+2558 +0xd5 U+2552 +0xd6 U+2553 +0xd7 U+256b +0xd8 U+256a +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+03b1 +0xe1 U+00df +0xe2 U+0393 +0xe3 U+03c0 +0xe4 U+03a3 +0xe5 U+03c3 +0xe6 U+00b5 +0xe7 U+03c4 +0xe8 U+03a6 +0xe9 U+0398 +0xea U+03a9 +0xeb U+03b4 +0xec U+221e +0xed U+03c6 +0xee U+03b5 +0xef U+2229 +0xf0 U+2261 +0xf1 U+00b1 +0xf2 U+2265 +0xf3 U+2264 +0xf4 U+2320 +0xf5 U+2321 +0xf6 U+00f7 +0xf7 U+2248 +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+221a +0xfc U+207f +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM861.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM861.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM861.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00e4 +0x85 U+00e0 +0x86 U+00e5 +0x87 U+00e7 +0x88 U+00ea +0x89 U+00eb +0x8a U+00e8 +0x8b U+00d0 +0x8c U+00f0 +0x8d U+00de +0x8e U+00c4 +0x8f U+00c5 +0x90 U+00c9 +0x91 U+00e6 +0x92 U+00c6 +0x93 U+00f4 +0x94 U+00f6 +0x95 U+00fe +0x96 U+00fb +0x97 U+00dd +0x98 U+00fd +0x99 U+00d6 +0x9a U+00dc +0x9b U+00f8 +0x9c U+00a3 +0x9d U+00d8 +0x9e U+20a7 +0x9f U+0192 +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00c1 +0xa5 U+00cd +0xa6 U+00d3 +0xa7 U+00da +0xa8 U+00bf +0xa9 U+2310 +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00a1 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+2561 +0xb6 U+2562 +0xb7 U+2556 +0xb8 U+2555 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+255c +0xbe U+255b +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+255e +0xc7 U+255f +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+2567 +0xd0 U+2568 +0xd1 U+2564 +0xd2 U+2565 +0xd3 U+2559 +0xd4 U+2558 +0xd5 U+2552 +0xd6 U+2553 +0xd7 U+256b +0xd8 U+256a +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+03b1 +0xe1 U+00df +0xe2 U+0393 +0xe3 U+03c0 +0xe4 U+03a3 +0xe5 U+03c3 +0xe6 U+00b5 +0xe7 U+03c4 +0xe8 U+03a6 +0xe9 U+0398 +0xea U+03a9 +0xeb U+03b4 +0xec U+221e +0xed U+03c6 +0xee U+03b5 +0xef U+2229 +0xf0 U+2261 +0xf1 U+00b1 +0xf2 U+2265 +0xf3 U+2264 +0xf4 U+2320 +0xf5 U+2321 +0xf6 U+00f7 +0xf7 U+2248 +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+221a +0xfc U+207f +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM862.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM862.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM862.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+05d0 +0x81 U+05d1 +0x82 U+05d2 +0x83 U+05d3 +0x84 U+05d4 +0x85 U+05d5 +0x86 U+05d6 +0x87 U+05d7 +0x88 U+05d8 +0x89 U+05d9 +0x8a U+05da +0x8b U+05db +0x8c U+05dc +0x8d U+05dd +0x8e U+05de +0x8f U+05df +0x90 U+05e0 +0x91 U+05e1 +0x92 U+05e2 +0x93 U+05e3 +0x94 U+05e4 +0x95 U+05e5 +0x96 U+05e6 +0x97 U+05e7 +0x98 U+05e8 +0x99 U+05e9 +0x9a U+05ea +0x9b U+00a2 +0x9c U+00a3 +0x9d U+00a5 +0x9e U+20a7 +0x9f U+0192 +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00f1 +0xa5 U+00d1 +0xa6 U+00aa +0xa7 U+00ba +0xa8 U+00bf +0xa9 U+2310 +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00a1 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+2561 +0xb6 U+2562 +0xb7 U+2556 +0xb8 U+2555 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+255c +0xbe U+255b +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+255e +0xc7 U+255f +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+2567 +0xd0 U+2568 +0xd1 U+2564 +0xd2 U+2565 +0xd3 U+2559 +0xd4 U+2558 +0xd5 U+2552 +0xd6 U+2553 +0xd7 U+256b +0xd8 U+256a +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+03b1 +0xe1 U+00df +0xe2 U+0393 +0xe3 U+03c0 +0xe4 U+03a3 +0xe5 U+03c3 +0xe6 U+00b5 +0xe7 U+03c4 +0xe8 U+03a6 +0xe9 U+0398 +0xea U+03a9 +0xeb U+03b4 +0xec U+221e +0xed U+03c6 +0xee U+03b5 +0xef U+2229 +0xf0 U+2261 +0xf1 U+00b1 +0xf2 U+2265 +0xf3 U+2264 +0xf4 U+2320 +0xf5 U+2321 +0xf6 U+00f7 +0xf7 U+2248 +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+221a +0xfc U+207f +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM863.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM863.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM863.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00c2 +0x85 U+00e0 +0x86 U+00b6 +0x87 U+00e7 +0x88 U+00ea +0x89 U+00eb +0x8a U+00e8 +0x8b U+00ef +0x8c U+00ee +0x8d U+2017 +0x8e U+00c0 +0x8f U+00a7 +0x90 U+00c9 +0x91 U+00c8 +0x92 U+00ca +0x93 U+00f4 +0x94 U+00cb +0x95 U+00cf +0x96 U+00fb +0x97 U+00f9 +0x98 U+00a4 +0x99 U+00d4 +0x9a U+00dc +0x9b U+00a2 +0x9c U+00a3 +0x9d U+00d9 +0x9e U+00db +0x9f U+0192 +0xa0 U+00a6 +0xa1 U+00b4 +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00a8 +0xa5 U+00b8 +0xa6 U+00b3 +0xa7 U+00af +0xa8 U+00ce +0xa9 U+2310 +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00be +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+2561 +0xb6 U+2562 +0xb7 U+2556 +0xb8 U+2555 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+255c +0xbe U+255b +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+255e +0xc7 U+255f +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+2567 +0xd0 U+2568 +0xd1 U+2564 +0xd2 U+2565 +0xd3 U+2559 +0xd4 U+2558 +0xd5 U+2552 +0xd6 U+2553 +0xd7 U+256b +0xd8 U+256a +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+03b1 +0xe1 U+00df +0xe2 U+0393 +0xe3 U+03c0 +0xe4 U+03a3 +0xe5 U+03c3 +0xe6 U+00b5 +0xe7 U+03c4 +0xe8 U+03a6 +0xe9 U+0398 +0xea U+03a9 +0xeb U+03b4 +0xec U+221e +0xed U+03c6 +0xee U+03b5 +0xef U+2229 +0xf0 U+2261 +0xf1 U+00b1 +0xf2 U+2265 +0xf3 U+2264 +0xf4 U+2320 +0xf5 U+2321 +0xf6 U+00f7 +0xf7 U+2248 +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+221a +0xfc U+207f +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM864.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM864.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM864.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+066a +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00b0 +0x81 U+00b7 +0x82 U+2219 +0x83 U+221a +0x84 U+2592 +0x85 U+2500 +0x86 U+2502 +0x87 U+253c +0x88 U+2524 +0x89 U+252c +0x8a U+251c +0x8b U+2534 +0x8c U+2510 +0x8d U+250c +0x8e U+2514 +0x8f U+2518 +0x90 U+03b2 +0x91 U+221e +0x92 U+03c6 +0x93 U+00b1 +0x94 U+00bd +0x95 U+00bc +0x96 U+2248 +0x97 U+00ab +0x98 U+00bb +0x99 U+fef7 +0x9a U+fef8 +0x9b U+fffd +0x9c U+fffd +0x9d U+fefb +0x9e U+fefc +0x9f U+fffd +0xa0 U+00a0 +0xa1 U+00ad +0xa2 U+fe82 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+fe84 +0xa6 U+fffd +0xa7 U+fffd +0xa8 U+fe8e +0xa9 U+fe8f +0xaa U+fe95 +0xab U+fe99 +0xac U+060c +0xad U+fe9d +0xae U+fea1 +0xaf U+fea5 +0xb0 U+0660 +0xb1 U+0661 +0xb2 U+0662 +0xb3 U+0663 +0xb4 U+0664 +0xb5 U+0665 +0xb6 U+0666 +0xb7 U+0667 +0xb8 U+0668 +0xb9 U+0669 +0xba U+fed1 +0xbb U+061b +0xbc U+feb1 +0xbd U+feb5 +0xbe U+feb9 +0xbf U+061f +0xc0 U+00a2 +0xc1 U+fe80 +0xc2 U+fe81 +0xc3 U+fe83 +0xc4 U+fe85 +0xc5 U+feca +0xc6 U+fe8b +0xc7 U+fe8d +0xc8 U+fe91 +0xc9 U+fe93 +0xca U+fe97 +0xcb U+fe9b +0xcc U+fe9f +0xcd U+fea3 +0xce U+fea7 +0xcf U+fea9 +0xd0 U+feab +0xd1 U+fead +0xd2 U+feaf +0xd3 U+feb3 +0xd4 U+feb7 +0xd5 U+febb +0xd6 U+febf +0xd7 U+fec1 +0xd8 U+fec5 +0xd9 U+fecb +0xda U+fecf +0xdb U+00a6 +0xdc U+00ac +0xdd U+00f7 +0xde U+00d7 +0xdf U+fec9 +0xe0 U+0640 +0xe1 U+fed3 +0xe2 U+fed7 +0xe3 U+fedb +0xe4 U+fedf +0xe5 U+fee3 +0xe6 U+fee7 +0xe7 U+feeb +0xe8 U+feed +0xe9 U+feef +0xea U+fef3 +0xeb U+febd +0xec U+fecc +0xed U+fece +0xee U+fecd +0xef U+fee1 +0xf0 U+fe7d +0xf1 U+0651 +0xf2 U+fee5 +0xf3 U+fee9 +0xf4 U+feec +0xf5 U+fef0 +0xf6 U+fef2 +0xf7 U+fed0 +0xf8 U+fed5 +0xf9 U+fef5 +0xfa U+fef6 +0xfb U+fedd +0xfc U+fed9 +0xfd U+fef1 +0xfe U+25a0 +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM865.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM865.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM865.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c7 +0x81 U+00fc +0x82 U+00e9 +0x83 U+00e2 +0x84 U+00e4 +0x85 U+00e0 +0x86 U+00e5 +0x87 U+00e7 +0x88 U+00ea +0x89 U+00eb +0x8a U+00e8 +0x8b U+00ef +0x8c U+00ee +0x8d U+00ec +0x8e U+00c4 +0x8f U+00c5 +0x90 U+00c9 +0x91 U+00e6 +0x92 U+00c6 +0x93 U+00f4 +0x94 U+00f6 +0x95 U+00f2 +0x96 U+00fb +0x97 U+00f9 +0x98 U+00ff +0x99 U+00d6 +0x9a U+00dc +0x9b U+00f8 +0x9c U+00a3 +0x9d U+00d8 +0x9e U+20a7 +0x9f U+0192 +0xa0 U+00e1 +0xa1 U+00ed +0xa2 U+00f3 +0xa3 U+00fa +0xa4 U+00f1 +0xa5 U+00d1 +0xa6 U+00aa +0xa7 U+00ba +0xa8 U+00bf +0xa9 U+2310 +0xaa U+00ac +0xab U+00bd +0xac U+00bc +0xad U+00a1 +0xae U+00ab +0xaf U+00a4 +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+2561 +0xb6 U+2562 +0xb7 U+2556 +0xb8 U+2555 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+255c +0xbe U+255b +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+255e +0xc7 U+255f +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+2567 +0xd0 U+2568 +0xd1 U+2564 +0xd2 U+2565 +0xd3 U+2559 +0xd4 U+2558 +0xd5 U+2552 +0xd6 U+2553 +0xd7 U+256b +0xd8 U+256a +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+03b1 +0xe1 U+00df +0xe2 U+0393 +0xe3 U+03c0 +0xe4 U+03a3 +0xe5 U+03c3 +0xe6 U+00b5 +0xe7 U+03c4 +0xe8 U+03a6 +0xe9 U+0398 +0xea U+03a9 +0xeb U+03b4 +0xec U+221e +0xed U+03c6 +0xee U+03b5 +0xef U+2229 +0xf0 U+2261 +0xf1 U+00b1 +0xf2 U+2265 +0xf3 U+2264 +0xf4 U+2320 +0xf5 U+2321 +0xf6 U+00f7 +0xf7 U+2248 +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+221a +0xfc U+207f +0xfd U+00b2 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM866.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM866.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM866.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0410 +0x81 U+0411 +0x82 U+0412 +0x83 U+0413 +0x84 U+0414 +0x85 U+0415 +0x86 U+0416 +0x87 U+0417 +0x88 U+0418 +0x89 U+0419 +0x8a U+041a +0x8b U+041b +0x8c U+041c +0x8d U+041d +0x8e U+041e +0x8f U+041f +0x90 U+0420 +0x91 U+0421 +0x92 U+0422 +0x93 U+0423 +0x94 U+0424 +0x95 U+0425 +0x96 U+0426 +0x97 U+0427 +0x98 U+0428 +0x99 U+0429 +0x9a U+042a +0x9b U+042b +0x9c U+042c +0x9d U+042d +0x9e U+042e +0x9f U+042f +0xa0 U+0430 +0xa1 U+0431 +0xa2 U+0432 +0xa3 U+0433 +0xa4 U+0434 +0xa5 U+0435 +0xa6 U+0436 +0xa7 U+0437 +0xa8 U+0438 +0xa9 U+0439 +0xaa U+043a +0xab U+043b +0xac U+043c +0xad U+043d +0xae U+043e +0xaf U+043f +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+2561 +0xb6 U+2562 +0xb7 U+2556 +0xb8 U+2555 +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+255c +0xbe U+255b +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+255e +0xc7 U+255f +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+2567 +0xd0 U+2568 +0xd1 U+2564 +0xd2 U+2565 +0xd3 U+2559 +0xd4 U+2558 +0xd5 U+2552 +0xd6 U+2553 +0xd7 U+256b +0xd8 U+256a +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+258c +0xde U+2590 +0xdf U+2580 +0xe0 U+0440 +0xe1 U+0441 +0xe2 U+0442 +0xe3 U+0443 +0xe4 U+0444 +0xe5 U+0445 +0xe6 U+0446 +0xe7 U+0447 +0xe8 U+0448 +0xe9 U+0449 +0xea U+044a +0xeb U+044b +0xec U+044c +0xed U+044d +0xee U+044e +0xef U+044f +0xf0 U+0401 +0xf1 U+0451 +0xf2 U+0404 +0xf3 U+0454 +0xf4 U+0407 +0xf5 U+0457 +0xf6 U+040e +0xf7 U+045e +0xf8 U+00b0 +0xf9 U+2219 +0xfa U+00b7 +0xfb U+221a +0xfc U+2116 +0xfd U+00a4 +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM868.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM868.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM868.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+06f0 +0x81 U+06f1 +0x82 U+06f2 +0x83 U+06f3 +0x84 U+06f4 +0x85 U+06f5 +0x86 U+06f6 +0x87 U+06f7 +0x88 U+06f8 +0x89 U+06f9 +0x8a U+060c +0x8b U+061b +0x8c U+061f +0x8d U+fe81 +0x8e U+fe8d +0x8f U+fe8e +0x90 U+f8fb +0x91 U+fe8f +0x92 U+fe91 +0x93 U+fb56 +0x94 U+fb58 +0x95 U+fe93 +0x96 U+fe95 +0x97 U+fe97 +0x98 U+fb66 +0x99 U+fb68 +0x9a U+fe99 +0x9b U+fe9b +0x9c U+fe9d +0x9d U+fe9f +0x9e U+fb7a +0x9f U+fb7c +0xa0 U+fea1 +0xa1 U+fea3 +0xa2 U+fea5 +0xa3 U+fea7 +0xa4 U+fea9 +0xa5 U+fb88 +0xa6 U+feab +0xa7 U+fead +0xa8 U+fb8c +0xa9 U+feaf +0xaa U+fb8a +0xab U+feb1 +0xac U+feb3 +0xad U+feb5 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+feb7 +0xb6 U+feb9 +0xb7 U+febb +0xb8 U+febd +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+febf +0xbe U+fec3 +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+fec7 +0xc7 U+fec9 +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+feca +0xd0 U+fecb +0xd1 U+fecc +0xd2 U+fecd +0xd3 U+fece +0xd4 U+fecf +0xd5 U+fed0 +0xd6 U+fed1 +0xd7 U+fed3 +0xd8 U+fed5 +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+fed7 +0xde U+fb8e +0xdf U+2580 +0xe0 U+fedb +0xe1 U+fb92 +0xe2 U+fb94 +0xe3 U+fedd +0xe4 U+fedf +0xe5 U+fee0 +0xe6 U+fee1 +0xe7 U+fee3 +0xe8 U+fb9e +0xe9 U+fee5 +0xea U+fee7 +0xeb U+fe85 +0xec U+feed +0xed U+fba6 +0xee U+fba8 +0xef U+fba9 +0xf0 U+00ad +0xf1 U+fbaa +0xf2 U+fe80 +0xf3 U+fe89 +0xf4 U+fe8a +0xf5 U+fe8b +0xf6 U+fbfc +0xf7 U+fbfd +0xf8 U+fbfe +0xf9 U+fbb0 +0xfa U+fbae +0xfb U+fe7c +0xfc U+fe7d +0xfd U+fffd +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM869.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM869.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM869.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+fffd +0x81 U+fffd +0x82 U+fffd +0x83 U+fffd +0x84 U+fffd +0x85 U+fffd +0x86 U+0386 +0x87 U+fffd +0x88 U+00b7 +0x89 U+00ac +0x8a U+00a6 +0x8b U+2018 +0x8c U+2019 +0x8d U+0388 +0x8e U+2015 +0x8f U+0389 +0x90 U+038a +0x91 U+03aa +0x92 U+038c +0x93 U+fffd +0x94 U+fffd +0x95 U+038e +0x96 U+03ab +0x97 U+00a9 +0x98 U+038f +0x99 U+00b2 +0x9a U+00b3 +0x9b U+03ac +0x9c U+00a3 +0x9d U+03ad +0x9e U+03ae +0x9f U+03af +0xa0 U+03ca +0xa1 U+0390 +0xa2 U+03cc +0xa3 U+03cd +0xa4 U+0391 +0xa5 U+0392 +0xa6 U+0393 +0xa7 U+0394 +0xa8 U+0395 +0xa9 U+0396 +0xaa U+0397 +0xab U+00bd +0xac U+0398 +0xad U+0399 +0xae U+00ab +0xaf U+00bb +0xb0 U+2591 +0xb1 U+2592 +0xb2 U+2593 +0xb3 U+2502 +0xb4 U+2524 +0xb5 U+039a +0xb6 U+039b +0xb7 U+039c +0xb8 U+039d +0xb9 U+2563 +0xba U+2551 +0xbb U+2557 +0xbc U+255d +0xbd U+039e +0xbe U+039f +0xbf U+2510 +0xc0 U+2514 +0xc1 U+2534 +0xc2 U+252c +0xc3 U+251c +0xc4 U+2500 +0xc5 U+253c +0xc6 U+03a0 +0xc7 U+03a1 +0xc8 U+255a +0xc9 U+2554 +0xca U+2569 +0xcb U+2566 +0xcc U+2560 +0xcd U+2550 +0xce U+256c +0xcf U+03a3 +0xd0 U+03a4 +0xd1 U+03a5 +0xd2 U+03a6 +0xd3 U+03a7 +0xd4 U+03a8 +0xd5 U+03a9 +0xd6 U+03b1 +0xd7 U+03b2 +0xd8 U+03b3 +0xd9 U+2518 +0xda U+250c +0xdb U+2588 +0xdc U+2584 +0xdd U+03b4 +0xde U+03b5 +0xdf U+2580 +0xe0 U+03b6 +0xe1 U+03b7 +0xe2 U+03b8 +0xe3 U+03b9 +0xe4 U+03ba +0xe5 U+03bb +0xe6 U+03bc +0xe7 U+03bd +0xe8 U+03be +0xe9 U+03bf +0xea U+03c0 +0xeb U+03c1 +0xec U+03c3 +0xed U+03c2 +0xee U+03c4 +0xef U+0384 +0xf0 U+00ad +0xf1 U+00b1 +0xf2 U+03c5 +0xf3 U+03c6 +0xf4 U+03c7 +0xf5 U+00a7 +0xf6 U+03c8 +0xf7 U+0385 +0xf8 U+00b0 +0xf9 U+00a8 +0xfa U+03c9 +0xfb U+03cb +0xfc U+03b0 +0xfd U+03ce +0xfe U+25a0 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM870.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM870.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM870.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM870.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM870.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+0163 +0x45 U+00e1 +0x46 U+0103 +0x47 U+010d +0x48 U+00e7 +0x49 U+0107 +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+0119 +0x53 U+00eb +0x54 U+016f +0x55 U+00ed +0x56 U+00ee +0x57 U+013e +0x58 U+013a +0x59 U+00df +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+02dd +0x65 U+00c1 +0x66 U+0102 +0x67 U+010c +0x68 U+00c7 +0x69 U+0106 +0x6a U+007c +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+02c7 +0x71 U+00c9 +0x72 U+0118 +0x73 U+00cb +0x74 U+016e +0x75 U+00cd +0x76 U+00ce +0x77 U+013d +0x78 U+0139 +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+02d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+015b +0x8b U+0148 +0x8c U+0111 +0x8d U+00fd +0x8e U+0159 +0x8f U+015f +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+0142 +0x9b U+0144 +0x9c U+0161 +0x9d U+00b8 +0x9e U+02db +0x9f U+00a4 +0xa0 U+0105 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+015a +0xab U+0147 +0xac U+0110 +0xad U+00dd +0xae U+0158 +0xaf U+015e +0xb0 U+02d9 +0xb1 U+0104 +0xb2 U+017c +0xb3 U+0162 +0xb4 U+017b +0xb5 U+00a7 +0xb6 U+017e +0xb7 U+017a +0xb8 U+017d +0xb9 U+0179 +0xba U+0141 +0xbb U+0143 +0xbc U+0160 +0xbd U+00a8 +0xbe U+00b4 +0xbf U+00d7 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+00f6 +0xcd U+0155 +0xce U+00f3 +0xcf U+0151 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+011a +0xdb U+0171 +0xdc U+00fc +0xdd U+0165 +0xde U+00fa +0xdf U+011b +0xe0 U+005c +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+010f +0xeb U+00d4 +0xec U+00d6 +0xed U+0154 +0xee U+00d3 +0xef U+0150 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+010e +0xfb U+0170 +0xfc U+00dc +0xfd U+0164 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM870.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM870.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM871.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM871.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM871.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM871.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM871.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+00e2 +0x43 U+00e4 +0x44 U+00e0 +0x45 U+00e1 +0x46 U+00e3 +0x47 U+00e5 +0x48 U+00e7 +0x49 U+00f1 +0x4a U+00de +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+00e9 +0x52 U+00ea +0x53 U+00eb +0x54 U+00e8 +0x55 U+00ed +0x56 U+00ee +0x57 U+00ef +0x58 U+00ec +0x59 U+00df +0x5a U+00c6 +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+00d6 +0x60 U+002d +0x61 U+002f +0x62 U+00c2 +0x63 U+00c4 +0x64 U+00c0 +0x65 U+00c1 +0x66 U+00c3 +0x67 U+00c5 +0x68 U+00c7 +0x69 U+00d1 +0x6a U+00a6 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00f8 +0x71 U+00c9 +0x72 U+00ca +0x73 U+00cb +0x74 U+00c8 +0x75 U+00cd +0x76 U+00ce +0x77 U+00cf +0x78 U+00cc +0x79 U+00f0 +0x7a U+003a +0x7b U+0023 +0x7c U+00d0 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+00d8 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+00ab +0x8b U+00bb +0x8c U+0060 +0x8d U+00fd +0x8e U+007b +0x8f U+00b1 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+00aa +0x9b U+00ba +0x9c U+007d +0x9d U+00b8 +0x9e U+005d +0x9f U+00a4 +0xa0 U+00b5 +0xa1 U+00f6 +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+00a1 +0xab U+00bf +0xac U+0040 +0xad U+00dd +0xae U+005b +0xaf U+00ae +0xb0 U+00a2 +0xb1 U+00a3 +0xb2 U+00a5 +0xb3 U+00b7 +0xb4 U+00a9 +0xb5 U+00a7 +0xb6 U+00b6 +0xb7 U+00bc +0xb8 U+00bd +0xb9 U+00be +0xba U+00ac +0xbb U+007c +0xbc U+00af +0xbd U+00a8 +0xbe U+005c +0xbf U+00d7 +0xc0 U+00fe +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+00f4 +0xcc U+007e +0xcd U+00f2 +0xce U+00f3 +0xcf U+00f5 +0xd0 U+00e6 +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b9 +0xdb U+00fb +0xdc U+00fc +0xdd U+00f9 +0xde U+00fa +0xdf U+00ff +0xe0 U+00b4 +0xe1 U+00f7 +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00d4 +0xec U+005e +0xed U+00d2 +0xee U+00d3 +0xef U+00d5 +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00db +0xfc U+00dc +0xfd U+00d9 +0xfe U+00da +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM871.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM871.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM874.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM874.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM874.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+fffd +0x83 U+fffd +0x84 U+fffd +0x85 U+fffd +0x86 U+fffd +0x87 U+fffd +0x88 U+fffd +0x89 U+fffd +0x8a U+fffd +0x8b U+fffd +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+fffd +0x92 U+fffd +0x93 U+fffd +0x94 U+fffd +0x95 U+fffd +0x96 U+fffd +0x97 U+fffd +0x98 U+fffd +0x99 U+fffd +0x9a U+fffd +0x9b U+fffd +0x9c U+fffd +0x9d U+fffd +0x9e U+fffd +0x9f U+fffd +0xa0 U+0e48 +0xa1 U+0e01 +0xa2 U+0e02 +0xa3 U+0e03 +0xa4 U+0e04 +0xa5 U+0e05 +0xa6 U+0e06 +0xa7 U+0e07 +0xa8 U+0e08 +0xa9 U+0e09 +0xaa U+0e0a +0xab U+0e0b +0xac U+0e0c +0xad U+0e0d +0xae U+0e0e +0xaf U+0e0f +0xb0 U+0e10 +0xb1 U+0e11 +0xb2 U+0e12 +0xb3 U+0e13 +0xb4 U+0e14 +0xb5 U+0e15 +0xb6 U+0e16 +0xb7 U+0e17 +0xb8 U+0e18 +0xb9 U+0e19 +0xba U+0e1a +0xbb U+0e1b +0xbc U+0e1c +0xbd U+0e1d +0xbe U+0e1e +0xbf U+0e1f +0xc0 U+0e20 +0xc1 U+0e21 +0xc2 U+0e22 +0xc3 U+0e23 +0xc4 U+0e24 +0xc5 U+0e25 +0xc6 U+0e26 +0xc7 U+0e27 +0xc8 U+0e28 +0xc9 U+0e29 +0xca U+0e2a +0xcb U+0e2b +0xcc U+0e2c +0xcd U+0e2d +0xce U+0e2e +0xcf U+0e2f +0xd0 U+0e30 +0xd1 U+0e31 +0xd2 U+0e32 +0xd3 U+0e33 +0xd4 U+0e34 +0xd5 U+0e35 +0xd6 U+0e36 +0xd7 U+0e37 +0xd8 U+0e38 +0xd9 U+0e39 +0xda U+0e3a +0xdb U+0e49 +0xdc U+0e4a +0xdd U+0e4b +0xde U+0e4c +0xdf U+0e3f +0xe0 U+0e40 +0xe1 U+0e41 +0xe2 U+0e42 +0xe3 U+0e43 +0xe4 U+0e44 +0xe5 U+0e45 +0xe6 U+0e46 +0xe7 U+0e47 +0xe8 U+0e48 +0xe9 U+0e49 +0xea U+0e4a +0xeb U+0e4b +0xec U+0e4c +0xed U+0e4d +0xee U+0e4e +0xef U+0e4f +0xf0 U+0e50 +0xf1 U+0e51 +0xf2 U+0e52 +0xf3 U+0e53 +0xf4 U+0e54 +0xf5 U+0e55 +0xf6 U+0e56 +0xf7 U+0e57 +0xf8 U+0e58 +0xf9 U+0e59 +0xfa U+0e5a +0xfb U+0e5b +0xfc U+00a2 +0xfd U+00ac +0xfe U+00a6 +0xff U+00a0 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM874.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM874.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,5 @@ +0xa0 U+0e48 +0xdb U+0e49 +0xdc U+0e4a +0xdd U+0e4b +0xde U+0e4c diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM875.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM875.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM875.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM875.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM875.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+0391 +0x42 U+0392 +0x43 U+0393 +0x44 U+0394 +0x45 U+0395 +0x46 U+0396 +0x47 U+0397 +0x48 U+0398 +0x49 U+0399 +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+039a +0x52 U+039b +0x53 U+039c +0x54 U+039d +0x55 U+039e +0x56 U+039f +0x57 U+03a0 +0x58 U+03a1 +0x59 U+03a3 +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+03a4 +0x63 U+03a5 +0x64 U+03a6 +0x65 U+03a7 +0x66 U+03a8 +0x67 U+03a9 +0x68 U+03aa +0x69 U+03ab +0x6a U+007c +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+00a8 +0x71 U+0386 +0x72 U+0388 +0x73 U+0389 +0x74 U+00a0 +0x75 U+038a +0x76 U+038c +0x77 U+038e +0x78 U+038f +0x79 U+0060 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+0385 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+03b1 +0x8b U+03b2 +0x8c U+03b3 +0x8d U+03b4 +0x8e U+03b5 +0x8f U+03b6 +0x90 U+00b0 +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+03b7 +0x9b U+03b8 +0x9c U+03b9 +0x9d U+03ba +0x9e U+03bb +0x9f U+03bc +0xa0 U+00b4 +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+03bd +0xab U+03be +0xac U+03bf +0xad U+03c0 +0xae U+03c1 +0xaf U+03c3 +0xb0 U+00a3 +0xb1 U+03ac +0xb2 U+03ad +0xb3 U+03ae +0xb4 U+03ca +0xb5 U+03af +0xb6 U+03cc +0xb7 U+03cd +0xb8 U+03cb +0xb9 U+03ce +0xba U+03c2 +0xbb U+03c4 +0xbc U+03c5 +0xbd U+03c6 +0xbe U+03c7 +0xbf U+03c8 +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+03c9 +0xcc U+0390 +0xcd U+03b0 +0xce U+2018 +0xcf U+2015 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+00b1 +0xdb U+00bd +0xdc U+fffd +0xdd U+0387 +0xde U+2019 +0xdf U+00a6 +0xe0 U+005c +0xe1 U+fffd +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+00b2 +0xeb U+00a7 +0xec U+fffd +0xed U+fffd +0xee U+00ab +0xef U+00ac +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+00b3 +0xfb U+00a9 +0xfc U+fffd +0xfd U+fffd +0xfe U+00bb +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM875.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM875.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM918.c2b --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM918.c2b Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x15 U+0085 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM918.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM918.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM918.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+009c +0x05 U+0009 +0x06 U+0086 +0x07 U+007f +0x08 U+0097 +0x09 U+008d +0x0a U+008e +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+009d +0x15 U+000a +0x16 U+0008 +0x17 U+0087 +0x18 U+0018 +0x19 U+0019 +0x1a U+0092 +0x1b U+008f +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0080 +0x21 U+0081 +0x22 U+0082 +0x23 U+0083 +0x24 U+0084 +0x25 U+000a +0x26 U+0017 +0x27 U+001b +0x28 U+0088 +0x29 U+0089 +0x2a U+008a +0x2b U+008b +0x2c U+008c +0x2d U+0005 +0x2e U+0006 +0x2f U+0007 +0x30 U+0090 +0x31 U+0091 +0x32 U+0016 +0x33 U+0093 +0x34 U+0094 +0x35 U+0095 +0x36 U+0096 +0x37 U+0004 +0x38 U+0098 +0x39 U+0099 +0x3a U+009a +0x3b U+009b +0x3c U+0014 +0x3d U+0015 +0x3e U+009e +0x3f U+001a +0x40 U+0020 +0x41 U+00a0 +0x42 U+060c +0x43 U+061b +0x44 U+061f +0x45 U+fe81 +0x46 U+fe8d +0x47 U+fe8e +0x48 U+f8fb +0x49 U+fe8f +0x4a U+005b +0x4b U+002e +0x4c U+003c +0x4d U+0028 +0x4e U+002b +0x4f U+0021 +0x50 U+0026 +0x51 U+fe91 +0x52 U+fb56 +0x53 U+fb58 +0x54 U+fe93 +0x55 U+fe95 +0x56 U+fe97 +0x57 U+fb66 +0x58 U+fb68 +0x59 U+fe99 +0x5a U+005d +0x5b U+0024 +0x5c U+002a +0x5d U+0029 +0x5e U+003b +0x5f U+005e +0x60 U+002d +0x61 U+002f +0x62 U+fe9b +0x63 U+fe9d +0x64 U+fe9f +0x65 U+fb7a +0x66 U+fb7c +0x67 U+fea1 +0x68 U+fea3 +0x69 U+fea5 +0x6a U+0060 +0x6b U+002c +0x6c U+0025 +0x6d U+005f +0x6e U+003e +0x6f U+003f +0x70 U+06f0 +0x71 U+06f1 +0x72 U+06f2 +0x73 U+06f3 +0x74 U+06f4 +0x75 U+06f5 +0x76 U+06f6 +0x77 U+06f7 +0x78 U+06f8 +0x79 U+06f9 +0x7a U+003a +0x7b U+0023 +0x7c U+0040 +0x7d U+0027 +0x7e U+003d +0x7f U+0022 +0x80 U+fea7 +0x81 U+0061 +0x82 U+0062 +0x83 U+0063 +0x84 U+0064 +0x85 U+0065 +0x86 U+0066 +0x87 U+0067 +0x88 U+0068 +0x89 U+0069 +0x8a U+fea9 +0x8b U+fb88 +0x8c U+feab +0x8d U+fead +0x8e U+fb8c +0x8f U+feaf +0x90 U+fb8a +0x91 U+006a +0x92 U+006b +0x93 U+006c +0x94 U+006d +0x95 U+006e +0x96 U+006f +0x97 U+0070 +0x98 U+0071 +0x99 U+0072 +0x9a U+feb1 +0x9b U+feb3 +0x9c U+feb5 +0x9d U+feb7 +0x9e U+feb9 +0x9f U+febb +0xa0 U+febd +0xa1 U+007e +0xa2 U+0073 +0xa3 U+0074 +0xa4 U+0075 +0xa5 U+0076 +0xa6 U+0077 +0xa7 U+0078 +0xa8 U+0079 +0xa9 U+007a +0xaa U+febf +0xab U+fec3 +0xac U+fec7 +0xad U+fec9 +0xae U+feca +0xaf U+fecb +0xb0 U+fecc +0xb1 U+fecd +0xb2 U+fece +0xb3 U+fecf +0xb4 U+fed0 +0xb5 U+fed1 +0xb6 U+fed3 +0xb7 U+fed5 +0xb8 U+fed7 +0xb9 U+fb8e +0xba U+fedb +0xbb U+007c +0xbc U+fb92 +0xbd U+fb94 +0xbe U+fedd +0xbf U+fedf +0xc0 U+007b +0xc1 U+0041 +0xc2 U+0042 +0xc3 U+0043 +0xc4 U+0044 +0xc5 U+0045 +0xc6 U+0046 +0xc7 U+0047 +0xc8 U+0048 +0xc9 U+0049 +0xca U+00ad +0xcb U+fee0 +0xcc U+fee1 +0xcd U+fee3 +0xce U+fb9e +0xcf U+fee5 +0xd0 U+007d +0xd1 U+004a +0xd2 U+004b +0xd3 U+004c +0xd4 U+004d +0xd5 U+004e +0xd6 U+004f +0xd7 U+0050 +0xd8 U+0051 +0xd9 U+0052 +0xda U+fee7 +0xdb U+fe85 +0xdc U+feed +0xdd U+fba6 +0xde U+fba8 +0xdf U+fba9 +0xe0 U+005c +0xe1 U+fbaa +0xe2 U+0053 +0xe3 U+0054 +0xe4 U+0055 +0xe5 U+0056 +0xe6 U+0057 +0xe7 U+0058 +0xe8 U+0059 +0xe9 U+005a +0xea U+fe80 +0xeb U+fe89 +0xec U+fe8a +0xed U+fe8b +0xee U+fbfc +0xef U+fbfd +0xf0 U+0030 +0xf1 U+0031 +0xf2 U+0032 +0xf3 U+0033 +0xf4 U+0034 +0xf5 U+0035 +0xf6 U+0036 +0xf7 U+0037 +0xf8 U+0038 +0xf9 U+0039 +0xfa U+fbfe +0xfb U+fbb0 +0xfc U+fbae +0xfd U+fe7c +0xfe U+fe7d +0xff U+009f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM918.nr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM918.nr Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,1 @@ +0x25 U+000a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM921.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM921.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM921.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+201d +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+201e +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00d8 +0xa9 U+00a9 +0xaa U+0156 +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00c6 +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+201c +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00f8 +0xb9 U+00b9 +0xba U+0157 +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00e6 +0xc0 U+0104 +0xc1 U+012e +0xc2 U+0100 +0xc3 U+0106 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+0118 +0xc7 U+0112 +0xc8 U+010c +0xc9 U+00c9 +0xca U+0179 +0xcb U+0116 +0xcc U+0122 +0xcd U+0136 +0xce U+012a +0xcf U+013b +0xd0 U+0160 +0xd1 U+0143 +0xd2 U+0145 +0xd3 U+00d3 +0xd4 U+014c +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+0172 +0xd9 U+0141 +0xda U+015a +0xdb U+016a +0xdc U+00dc +0xdd U+017b +0xde U+017d +0xdf U+00df +0xe0 U+0105 +0xe1 U+012f +0xe2 U+0101 +0xe3 U+0107 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+0119 +0xe7 U+0113 +0xe8 U+010d +0xe9 U+00e9 +0xea U+017a +0xeb U+0117 +0xec U+0123 +0xed U+0137 +0xee U+012b +0xef U+013c +0xf0 U+0161 +0xf1 U+0144 +0xf2 U+0146 +0xf3 U+00f3 +0xf4 U+014d +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+0173 +0xf9 U+0142 +0xfa U+015b +0xfb U+016b +0xfc U+00fc +0xfd U+017c +0xfe U+017e +0xff U+2019 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/IBM922.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM922.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from IBM922.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+00a1 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+00aa +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+203e +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+00b9 +0xba U+00ba +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00bf +0xc0 U+00c0 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+00c3 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+00c6 +0xc7 U+00c7 +0xc8 U+00c8 +0xc9 U+00c9 +0xca U+00ca +0xcb U+00cb +0xcc U+00cc +0xcd U+00cd +0xce U+00ce +0xcf U+00cf +0xd0 U+0160 +0xd1 U+00d1 +0xd2 U+00d2 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+00d8 +0xd9 U+00d9 +0xda U+00da +0xdb U+00db +0xdc U+00dc +0xdd U+00dd +0xde U+017d +0xdf U+00df +0xe0 U+00e0 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+00e3 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+00e6 +0xe7 U+00e7 +0xe8 U+00e8 +0xe9 U+00e9 +0xea U+00ea +0xeb U+00eb +0xec U+00ec +0xed U+00ed +0xee U+00ee +0xef U+00ef +0xf0 U+0161 +0xf1 U+00f1 +0xf2 U+00f2 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+00f8 +0xf9 U+00f9 +0xfa U+00fa +0xfb U+00fb +0xfc U+00fc +0xfd U+00fd +0xfe U+017e +0xff U+00ff diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_11.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_11.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_11.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+0e01 +0xa2 U+0e02 +0xa3 U+0e03 +0xa4 U+0e04 +0xa5 U+0e05 +0xa6 U+0e06 +0xa7 U+0e07 +0xa8 U+0e08 +0xa9 U+0e09 +0xaa U+0e0a +0xab U+0e0b +0xac U+0e0c +0xad U+0e0d +0xae U+0e0e +0xaf U+0e0f +0xb0 U+0e10 +0xb1 U+0e11 +0xb2 U+0e12 +0xb3 U+0e13 +0xb4 U+0e14 +0xb5 U+0e15 +0xb6 U+0e16 +0xb7 U+0e17 +0xb8 U+0e18 +0xb9 U+0e19 +0xba U+0e1a +0xbb U+0e1b +0xbc U+0e1c +0xbd U+0e1d +0xbe U+0e1e +0xbf U+0e1f +0xc0 U+0e20 +0xc1 U+0e21 +0xc2 U+0e22 +0xc3 U+0e23 +0xc4 U+0e24 +0xc5 U+0e25 +0xc6 U+0e26 +0xc7 U+0e27 +0xc8 U+0e28 +0xc9 U+0e29 +0xca U+0e2a +0xcb U+0e2b +0xcc U+0e2c +0xcd U+0e2d +0xce U+0e2e +0xcf U+0e2f +0xd0 U+0e30 +0xd1 U+0e31 +0xd2 U+0e32 +0xd3 U+0e33 +0xd4 U+0e34 +0xd5 U+0e35 +0xd6 U+0e36 +0xd7 U+0e37 +0xd8 U+0e38 +0xd9 U+0e39 +0xda U+0e3a +0xdb U+fffd +0xdc U+fffd +0xdd U+fffd +0xde U+fffd +0xdf U+0e3f +0xe0 U+0e40 +0xe1 U+0e41 +0xe2 U+0e42 +0xe3 U+0e43 +0xe4 U+0e44 +0xe5 U+0e45 +0xe6 U+0e46 +0xe7 U+0e47 +0xe8 U+0e48 +0xe9 U+0e49 +0xea U+0e4a +0xeb U+0e4b +0xec U+0e4c +0xed U+0e4d +0xee U+0e4e +0xef U+0e4f +0xf0 U+0e50 +0xf1 U+0e51 +0xf2 U+0e52 +0xf3 U+0e53 +0xf4 U+0e54 +0xf5 U+0e55 +0xf6 U+0e56 +0xf7 U+0e57 +0xf8 U+0e58 +0xf9 U+0e59 +0xfa U+0e5a +0xfb U+0e5b +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_13.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_13.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_13.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+201d +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+201e +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00d8 +0xa9 U+00a9 +0xaa U+0156 +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00c6 +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+201c +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00f8 +0xb9 U+00b9 +0xba U+0157 +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00e6 +0xc0 U+0104 +0xc1 U+012e +0xc2 U+0100 +0xc3 U+0106 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+0118 +0xc7 U+0112 +0xc8 U+010c +0xc9 U+00c9 +0xca U+0179 +0xcb U+0116 +0xcc U+0122 +0xcd U+0136 +0xce U+012a +0xcf U+013b +0xd0 U+0160 +0xd1 U+0143 +0xd2 U+0145 +0xd3 U+00d3 +0xd4 U+014c +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+0172 +0xd9 U+0141 +0xda U+015a +0xdb U+016a +0xdc U+00dc +0xdd U+017b +0xde U+017d +0xdf U+00df +0xe0 U+0105 +0xe1 U+012f +0xe2 U+0101 +0xe3 U+0107 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+0119 +0xe7 U+0113 +0xe8 U+010d +0xe9 U+00e9 +0xea U+017a +0xeb U+0117 +0xec U+0123 +0xed U+0137 +0xee U+012b +0xef U+013c +0xf0 U+0161 +0xf1 U+0144 +0xf2 U+0146 +0xf3 U+00f3 +0xf4 U+014d +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+0173 +0xf9 U+0142 +0xfa U+015b +0xfb U+016b +0xfc U+00fc +0xfd U+017c +0xfe U+017e +0xff U+2019 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_15.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_15.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_15.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+00a1 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+20ac +0xa5 U+00a5 +0xa6 U+0160 +0xa7 U+00a7 +0xa8 U+0161 +0xa9 U+00a9 +0xaa U+00aa +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00af +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+017d +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+017e +0xb9 U+00b9 +0xba U+00ba +0xbb U+00bb +0xbc U+0152 +0xbd U+0153 +0xbe U+0178 +0xbf U+00bf +0xc0 U+00c0 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+00c3 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+00c6 +0xc7 U+00c7 +0xc8 U+00c8 +0xc9 U+00c9 +0xca U+00ca +0xcb U+00cb +0xcc U+00cc +0xcd U+00cd +0xce U+00ce +0xcf U+00cf +0xd0 U+00d0 +0xd1 U+00d1 +0xd2 U+00d2 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+00d8 +0xd9 U+00d9 +0xda U+00da +0xdb U+00db +0xdc U+00dc +0xdd U+00dd +0xde U+00de +0xdf U+00df +0xe0 U+00e0 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+00e3 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+00e6 +0xe7 U+00e7 +0xe8 U+00e8 +0xe9 U+00e9 +0xea U+00ea +0xeb U+00eb +0xec U+00ec +0xed U+00ed +0xee U+00ee +0xef U+00ef +0xf0 U+00f0 +0xf1 U+00f1 +0xf2 U+00f2 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+00f8 +0xf9 U+00f9 +0xfa U+00fa +0xfb U+00fb +0xfc U+00fc +0xfd U+00fd +0xfe U+00fe +0xff U+00ff diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_2.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_2.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_2.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+0104 +0xa2 U+02d8 +0xa3 U+0141 +0xa4 U+00a4 +0xa5 U+013d +0xa6 U+015a +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+0160 +0xaa U+015e +0xab U+0164 +0xac U+0179 +0xad U+00ad +0xae U+017d +0xaf U+017b +0xb0 U+00b0 +0xb1 U+0105 +0xb2 U+02db +0xb3 U+0142 +0xb4 U+00b4 +0xb5 U+013e +0xb6 U+015b +0xb7 U+02c7 +0xb8 U+00b8 +0xb9 U+0161 +0xba U+015f +0xbb U+0165 +0xbc U+017a +0xbd U+02dd +0xbe U+017e +0xbf U+017c +0xc0 U+0154 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+0102 +0xc4 U+00c4 +0xc5 U+0139 +0xc6 U+0106 +0xc7 U+00c7 +0xc8 U+010c +0xc9 U+00c9 +0xca U+0118 +0xcb U+00cb +0xcc U+011a +0xcd U+00cd +0xce U+00ce +0xcf U+010e +0xd0 U+0110 +0xd1 U+0143 +0xd2 U+0147 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+0150 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+0158 +0xd9 U+016e +0xda U+00da +0xdb U+0170 +0xdc U+00dc +0xdd U+00dd +0xde U+0162 +0xdf U+00df +0xe0 U+0155 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+0103 +0xe4 U+00e4 +0xe5 U+013a +0xe6 U+0107 +0xe7 U+00e7 +0xe8 U+010d +0xe9 U+00e9 +0xea U+0119 +0xeb U+00eb +0xec U+011b +0xed U+00ed +0xee U+00ee +0xef U+010f +0xf0 U+0111 +0xf1 U+0144 +0xf2 U+0148 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+0151 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+0159 +0xf9 U+016f +0xfa U+00fa +0xfb U+0171 +0xfc U+00fc +0xfd U+00fd +0xfe U+0163 +0xff U+02d9 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_3.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_3.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_3.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+0126 +0xa2 U+02d8 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+fffd +0xa6 U+0124 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+0130 +0xaa U+015e +0xab U+011e +0xac U+0134 +0xad U+00ad +0xae U+fffd +0xaf U+017b +0xb0 U+00b0 +0xb1 U+0127 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+0125 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+0131 +0xba U+015f +0xbb U+011f +0xbc U+0135 +0xbd U+00bd +0xbe U+fffd +0xbf U+017c +0xc0 U+00c0 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+fffd +0xc4 U+00c4 +0xc5 U+010a +0xc6 U+0108 +0xc7 U+00c7 +0xc8 U+00c8 +0xc9 U+00c9 +0xca U+00ca +0xcb U+00cb +0xcc U+00cc +0xcd U+00cd +0xce U+00ce +0xcf U+00cf +0xd0 U+fffd +0xd1 U+00d1 +0xd2 U+00d2 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+0120 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+011c +0xd9 U+00d9 +0xda U+00da +0xdb U+00db +0xdc U+00dc +0xdd U+016c +0xde U+015c +0xdf U+00df +0xe0 U+00e0 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+fffd +0xe4 U+00e4 +0xe5 U+010b +0xe6 U+0109 +0xe7 U+00e7 +0xe8 U+00e8 +0xe9 U+00e9 +0xea U+00ea +0xeb U+00eb +0xec U+00ec +0xed U+00ed +0xee U+00ee +0xef U+00ef +0xf0 U+fffd +0xf1 U+00f1 +0xf2 U+00f2 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+0121 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+011d +0xf9 U+00f9 +0xfa U+00fa +0xfb U+00fb +0xfc U+00fc +0xfd U+016d +0xfe U+015d +0xff U+02d9 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_4.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_4.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_4.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+0104 +0xa2 U+0138 +0xa3 U+0156 +0xa4 U+00a4 +0xa5 U+0128 +0xa6 U+013b +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+0160 +0xaa U+0112 +0xab U+0122 +0xac U+0166 +0xad U+00ad +0xae U+017d +0xaf U+00af +0xb0 U+00b0 +0xb1 U+0105 +0xb2 U+02db +0xb3 U+0157 +0xb4 U+00b4 +0xb5 U+0129 +0xb6 U+013c +0xb7 U+02c7 +0xb8 U+00b8 +0xb9 U+0161 +0xba U+0113 +0xbb U+0123 +0xbc U+0167 +0xbd U+014a +0xbe U+017e +0xbf U+014b +0xc0 U+0100 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+00c3 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+00c6 +0xc7 U+012e +0xc8 U+010c +0xc9 U+00c9 +0xca U+0118 +0xcb U+00cb +0xcc U+0116 +0xcd U+00cd +0xce U+00ce +0xcf U+012a +0xd0 U+0110 +0xd1 U+0145 +0xd2 U+014c +0xd3 U+0136 +0xd4 U+00d4 +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+00d8 +0xd9 U+0172 +0xda U+00da +0xdb U+00db +0xdc U+00dc +0xdd U+0168 +0xde U+016a +0xdf U+00df +0xe0 U+0101 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+00e3 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+00e6 +0xe7 U+012f +0xe8 U+010d +0xe9 U+00e9 +0xea U+0119 +0xeb U+00eb +0xec U+0117 +0xed U+00ed +0xee U+00ee +0xef U+012b +0xf0 U+0111 +0xf1 U+0146 +0xf2 U+014d +0xf3 U+0137 +0xf4 U+00f4 +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+00f8 +0xf9 U+0173 +0xfa U+00fa +0xfb U+00fb +0xfc U+00fc +0xfd U+0169 +0xfe U+016b +0xff U+02d9 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_5.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_5.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_5.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+0401 +0xa2 U+0402 +0xa3 U+0403 +0xa4 U+0404 +0xa5 U+0405 +0xa6 U+0406 +0xa7 U+0407 +0xa8 U+0408 +0xa9 U+0409 +0xaa U+040a +0xab U+040b +0xac U+040c +0xad U+00ad +0xae U+040e +0xaf U+040f +0xb0 U+0410 +0xb1 U+0411 +0xb2 U+0412 +0xb3 U+0413 +0xb4 U+0414 +0xb5 U+0415 +0xb6 U+0416 +0xb7 U+0417 +0xb8 U+0418 +0xb9 U+0419 +0xba U+041a +0xbb U+041b +0xbc U+041c +0xbd U+041d +0xbe U+041e +0xbf U+041f +0xc0 U+0420 +0xc1 U+0421 +0xc2 U+0422 +0xc3 U+0423 +0xc4 U+0424 +0xc5 U+0425 +0xc6 U+0426 +0xc7 U+0427 +0xc8 U+0428 +0xc9 U+0429 +0xca U+042a +0xcb U+042b +0xcc U+042c +0xcd U+042d +0xce U+042e +0xcf U+042f +0xd0 U+0430 +0xd1 U+0431 +0xd2 U+0432 +0xd3 U+0433 +0xd4 U+0434 +0xd5 U+0435 +0xd6 U+0436 +0xd7 U+0437 +0xd8 U+0438 +0xd9 U+0439 +0xda U+043a +0xdb U+043b +0xdc U+043c +0xdd U+043d +0xde U+043e +0xdf U+043f +0xe0 U+0440 +0xe1 U+0441 +0xe2 U+0442 +0xe3 U+0443 +0xe4 U+0444 +0xe5 U+0445 +0xe6 U+0446 +0xe7 U+0447 +0xe8 U+0448 +0xe9 U+0449 +0xea U+044a +0xeb U+044b +0xec U+044c +0xed U+044d +0xee U+044e +0xef U+044f +0xf0 U+2116 +0xf1 U+0451 +0xf2 U+0452 +0xf3 U+0453 +0xf4 U+0454 +0xf5 U+0455 +0xf6 U+0456 +0xf7 U+0457 +0xf8 U+0458 +0xf9 U+0459 +0xfa U+045a +0xfb U+045b +0xfc U+045c +0xfd U+00a7 +0xfe U+045e +0xff U+045f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_6.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_6.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_6.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+fffd +0xa2 U+fffd +0xa3 U+fffd +0xa4 U+00a4 +0xa5 U+fffd +0xa6 U+fffd +0xa7 U+fffd +0xa8 U+fffd +0xa9 U+fffd +0xaa U+fffd +0xab U+fffd +0xac U+060c +0xad U+00ad +0xae U+fffd +0xaf U+fffd +0xb0 U+fffd +0xb1 U+fffd +0xb2 U+fffd +0xb3 U+fffd +0xb4 U+fffd +0xb5 U+fffd +0xb6 U+fffd +0xb7 U+fffd +0xb8 U+fffd +0xb9 U+fffd +0xba U+fffd +0xbb U+061b +0xbc U+fffd +0xbd U+fffd +0xbe U+fffd +0xbf U+061f +0xc0 U+fffd +0xc1 U+0621 +0xc2 U+0622 +0xc3 U+0623 +0xc4 U+0624 +0xc5 U+0625 +0xc6 U+0626 +0xc7 U+0627 +0xc8 U+0628 +0xc9 U+0629 +0xca U+062a +0xcb U+062b +0xcc U+062c +0xcd U+062d +0xce U+062e +0xcf U+062f +0xd0 U+0630 +0xd1 U+0631 +0xd2 U+0632 +0xd3 U+0633 +0xd4 U+0634 +0xd5 U+0635 +0xd6 U+0636 +0xd7 U+0637 +0xd8 U+0638 +0xd9 U+0639 +0xda U+063a +0xdb U+fffd +0xdc U+fffd +0xdd U+fffd +0xde U+fffd +0xdf U+fffd +0xe0 U+0640 +0xe1 U+0641 +0xe2 U+0642 +0xe3 U+0643 +0xe4 U+0644 +0xe5 U+0645 +0xe6 U+0646 +0xe7 U+0647 +0xe8 U+0648 +0xe9 U+0649 +0xea U+064a +0xeb U+064b +0xec U+064c +0xed U+064d +0xee U+064e +0xef U+064f +0xf0 U+0650 +0xf1 U+0651 +0xf2 U+0652 +0xf3 U+fffd +0xf4 U+fffd +0xf5 U+fffd +0xf6 U+fffd +0xf7 U+fffd +0xf8 U+fffd +0xf9 U+fffd +0xfa U+fffd +0xfb U+fffd +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_7.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_7.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_7.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+2018 +0xa2 U+2019 +0xa3 U+00a3 +0xa4 U+20ac +0xa5 U+20af +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+037a +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+fffd +0xaf U+2015 +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+0384 +0xb5 U+0385 +0xb6 U+0386 +0xb7 U+00b7 +0xb8 U+0388 +0xb9 U+0389 +0xba U+038a +0xbb U+00bb +0xbc U+038c +0xbd U+00bd +0xbe U+038e +0xbf U+038f +0xc0 U+0390 +0xc1 U+0391 +0xc2 U+0392 +0xc3 U+0393 +0xc4 U+0394 +0xc5 U+0395 +0xc6 U+0396 +0xc7 U+0397 +0xc8 U+0398 +0xc9 U+0399 +0xca U+039a +0xcb U+039b +0xcc U+039c +0xcd U+039d +0xce U+039e +0xcf U+039f +0xd0 U+03a0 +0xd1 U+03a1 +0xd2 U+fffd +0xd3 U+03a3 +0xd4 U+03a4 +0xd5 U+03a5 +0xd6 U+03a6 +0xd7 U+03a7 +0xd8 U+03a8 +0xd9 U+03a9 +0xda U+03aa +0xdb U+03ab +0xdc U+03ac +0xdd U+03ad +0xde U+03ae +0xdf U+03af +0xe0 U+03b0 +0xe1 U+03b1 +0xe2 U+03b2 +0xe3 U+03b3 +0xe4 U+03b4 +0xe5 U+03b5 +0xe6 U+03b6 +0xe7 U+03b7 +0xe8 U+03b8 +0xe9 U+03b9 +0xea U+03ba +0xeb U+03bb +0xec U+03bc +0xed U+03bd +0xee U+03be +0xef U+03bf +0xf0 U+03c0 +0xf1 U+03c1 +0xf2 U+03c2 +0xf3 U+03c3 +0xf4 U+03c4 +0xf5 U+03c5 +0xf6 U+03c6 +0xf7 U+03c7 +0xf8 U+03c8 +0xf9 U+03c9 +0xfa U+03ca +0xfb U+03cb +0xfc U+03cc +0xfd U+03cd +0xfe U+03ce +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_8.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_8.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_8.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+fffd +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+00d7 +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00af +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+00b9 +0xba U+00f7 +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+fffd +0xc0 U+fffd +0xc1 U+fffd +0xc2 U+fffd +0xc3 U+fffd +0xc4 U+fffd +0xc5 U+fffd +0xc6 U+fffd +0xc7 U+fffd +0xc8 U+fffd +0xc9 U+fffd +0xca U+fffd +0xcb U+fffd +0xcc U+fffd +0xcd U+fffd +0xce U+fffd +0xcf U+fffd +0xd0 U+fffd +0xd1 U+fffd +0xd2 U+fffd +0xd3 U+fffd +0xd4 U+fffd +0xd5 U+fffd +0xd6 U+fffd +0xd7 U+fffd +0xd8 U+fffd +0xd9 U+fffd +0xda U+fffd +0xdb U+fffd +0xdc U+fffd +0xdd U+fffd +0xde U+fffd +0xdf U+2017 +0xe0 U+05d0 +0xe1 U+05d1 +0xe2 U+05d2 +0xe3 U+05d3 +0xe4 U+05d4 +0xe5 U+05d5 +0xe6 U+05d6 +0xe7 U+05d7 +0xe8 U+05d8 +0xe9 U+05d9 +0xea U+05da +0xeb U+05db +0xec U+05dc +0xed U+05dd +0xee U+05de +0xef U+05df +0xf0 U+05e0 +0xf1 U+05e1 +0xf2 U+05e2 +0xf3 U+05e3 +0xf4 U+05e4 +0xf5 U+05e5 +0xf6 U+05e6 +0xf7 U+05e7 +0xf8 U+05e8 +0xf9 U+05e9 +0xfa U+05ea +0xfb U+fffd +0xfc U+fffd +0xfd U+200e +0xfe U+200f +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/ISO_8859_9.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/ISO_8859_9.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from ISO_8859_9.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0080 +0x81 U+0081 +0x82 U+0082 +0x83 U+0083 +0x84 U+0084 +0x85 U+0085 +0x86 U+0086 +0x87 U+0087 +0x88 U+0088 +0x89 U+0089 +0x8a U+008a +0x8b U+008b +0x8c U+008c +0x8d U+008d +0x8e U+008e +0x8f U+008f +0x90 U+0090 +0x91 U+0091 +0x92 U+0092 +0x93 U+0093 +0x94 U+0094 +0x95 U+0095 +0x96 U+0096 +0x97 U+0097 +0x98 U+0098 +0x99 U+0099 +0x9a U+009a +0x9b U+009b +0x9c U+009c +0x9d U+009d +0x9e U+009e +0x9f U+009f +0xa0 U+00a0 +0xa1 U+00a1 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+00aa +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00af +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+00b9 +0xba U+00ba +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00bf +0xc0 U+00c0 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+00c3 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+00c6 +0xc7 U+00c7 +0xc8 U+00c8 +0xc9 U+00c9 +0xca U+00ca +0xcb U+00cb +0xcc U+00cc +0xcd U+00cd +0xce U+00ce +0xcf U+00cf +0xd0 U+011e +0xd1 U+00d1 +0xd2 U+00d2 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+00d8 +0xd9 U+00d9 +0xda U+00da +0xdb U+00db +0xdc U+00dc +0xdd U+0130 +0xde U+015e +0xdf U+00df +0xe0 U+00e0 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+00e3 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+00e6 +0xe7 U+00e7 +0xe8 U+00e8 +0xe9 U+00e9 +0xea U+00ea +0xeb U+00eb +0xec U+00ec +0xed U+00ed +0xee U+00ee +0xef U+00ef +0xf0 U+011f +0xf1 U+00f1 +0xf2 U+00f2 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+00f8 +0xf9 U+00f9 +0xfa U+00fa +0xfb U+00fb +0xfc U+00fc +0xfd U+0131 +0xfe U+015f +0xff U+00ff diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/JIS_X_0201.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/JIS_X_0201.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from JIS_X_0201.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+fffd +0x81 U+fffd +0x82 U+fffd +0x83 U+fffd +0x84 U+fffd +0x85 U+fffd +0x86 U+fffd +0x87 U+fffd +0x88 U+fffd +0x89 U+fffd +0x8a U+fffd +0x8b U+fffd +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+fffd +0x92 U+fffd +0x93 U+fffd +0x94 U+fffd +0x95 U+fffd +0x96 U+fffd +0x97 U+fffd +0x98 U+fffd +0x99 U+fffd +0x9a U+fffd +0x9b U+fffd +0x9c U+fffd +0x9d U+fffd +0x9e U+fffd +0x9f U+fffd +0xa0 U+fffd +0xa1 U+ff61 +0xa2 U+ff62 +0xa3 U+ff63 +0xa4 U+ff64 +0xa5 U+ff65 +0xa6 U+ff66 +0xa7 U+ff67 +0xa8 U+ff68 +0xa9 U+ff69 +0xaa U+ff6a +0xab U+ff6b +0xac U+ff6c +0xad U+ff6d +0xae U+ff6e +0xaf U+ff6f +0xb0 U+ff70 +0xb1 U+ff71 +0xb2 U+ff72 +0xb3 U+ff73 +0xb4 U+ff74 +0xb5 U+ff75 +0xb6 U+ff76 +0xb7 U+ff77 +0xb8 U+ff78 +0xb9 U+ff79 +0xba U+ff7a +0xbb U+ff7b +0xbc U+ff7c +0xbd U+ff7d +0xbe U+ff7e +0xbf U+ff7f +0xc0 U+ff80 +0xc1 U+ff81 +0xc2 U+ff82 +0xc3 U+ff83 +0xc4 U+ff84 +0xc5 U+ff85 +0xc6 U+ff86 +0xc7 U+ff87 +0xc8 U+ff88 +0xc9 U+ff89 +0xca U+ff8a +0xcb U+ff8b +0xcc U+ff8c +0xcd U+ff8d +0xce U+ff8e +0xcf U+ff8f +0xd0 U+ff90 +0xd1 U+ff91 +0xd2 U+ff92 +0xd3 U+ff93 +0xd4 U+ff94 +0xd5 U+ff95 +0xd6 U+ff96 +0xd7 U+ff97 +0xd8 U+ff98 +0xd9 U+ff99 +0xda U+ff9a +0xdb U+ff9b +0xdc U+ff9c +0xdd U+ff9d +0xde U+ff9e +0xdf U+ff9f +0xe0 U+fffd +0xe1 U+fffd +0xe2 U+fffd +0xe3 U+fffd +0xe4 U+fffd +0xe5 U+fffd +0xe6 U+fffd +0xe7 U+fffd +0xe8 U+fffd +0xe9 U+fffd +0xea U+fffd +0xeb U+fffd +0xec U+fffd +0xed U+fffd +0xee U+fffd +0xef U+fffd +0xf0 U+fffd +0xf1 U+fffd +0xf2 U+fffd +0xf3 U+fffd +0xf4 U+fffd +0xf5 U+fffd +0xf6 U+fffd +0xf7 U+fffd +0xf8 U+fffd +0xf9 U+fffd +0xfa U+fffd +0xfb U+fffd +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/KOI8_R.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/KOI8_R.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from KOI8_R.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+2500 +0x81 U+2502 +0x82 U+250c +0x83 U+2510 +0x84 U+2514 +0x85 U+2518 +0x86 U+251c +0x87 U+2524 +0x88 U+252c +0x89 U+2534 +0x8a U+253c +0x8b U+2580 +0x8c U+2584 +0x8d U+2588 +0x8e U+258c +0x8f U+2590 +0x90 U+2591 +0x91 U+2592 +0x92 U+2593 +0x93 U+2320 +0x94 U+25a0 +0x95 U+2219 +0x96 U+221a +0x97 U+2248 +0x98 U+2264 +0x99 U+2265 +0x9a U+00a0 +0x9b U+2321 +0x9c U+00b0 +0x9d U+00b2 +0x9e U+00b7 +0x9f U+00f7 +0xa0 U+2550 +0xa1 U+2551 +0xa2 U+2552 +0xa3 U+0451 +0xa4 U+2553 +0xa5 U+2554 +0xa6 U+2555 +0xa7 U+2556 +0xa8 U+2557 +0xa9 U+2558 +0xaa U+2559 +0xab U+255a +0xac U+255b +0xad U+255c +0xae U+255d +0xaf U+255e +0xb0 U+255f +0xb1 U+2560 +0xb2 U+2561 +0xb3 U+0401 +0xb4 U+2562 +0xb5 U+2563 +0xb6 U+2564 +0xb7 U+2565 +0xb8 U+2566 +0xb9 U+2567 +0xba U+2568 +0xbb U+2569 +0xbc U+256a +0xbd U+256b +0xbe U+256c +0xbf U+00a9 +0xc0 U+044e +0xc1 U+0430 +0xc2 U+0431 +0xc3 U+0446 +0xc4 U+0434 +0xc5 U+0435 +0xc6 U+0444 +0xc7 U+0433 +0xc8 U+0445 +0xc9 U+0438 +0xca U+0439 +0xcb U+043a +0xcc U+043b +0xcd U+043c +0xce U+043d +0xcf U+043e +0xd0 U+043f +0xd1 U+044f +0xd2 U+0440 +0xd3 U+0441 +0xd4 U+0442 +0xd5 U+0443 +0xd6 U+0436 +0xd7 U+0432 +0xd8 U+044c +0xd9 U+044b +0xda U+0437 +0xdb U+0448 +0xdc U+044d +0xdd U+0449 +0xde U+0447 +0xdf U+044a +0xe0 U+042e +0xe1 U+0410 +0xe2 U+0411 +0xe3 U+0426 +0xe4 U+0414 +0xe5 U+0415 +0xe6 U+0424 +0xe7 U+0413 +0xe8 U+0425 +0xe9 U+0418 +0xea U+0419 +0xeb U+041a +0xec U+041b +0xed U+041c +0xee U+041d +0xef U+041e +0xf0 U+041f +0xf1 U+042f +0xf2 U+0420 +0xf3 U+0421 +0xf4 U+0422 +0xf5 U+0423 +0xf6 U+0416 +0xf7 U+0412 +0xf8 U+042c +0xf9 U+042b +0xfa U+0417 +0xfb U+0428 +0xfc U+042d +0xfd U+0429 +0xfe U+0427 +0xff U+042a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/KOI8_U.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/KOI8_U.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from KOI8_U.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+2500 +0x81 U+2502 +0x82 U+250c +0x83 U+2510 +0x84 U+2514 +0x85 U+2518 +0x86 U+251c +0x87 U+2524 +0x88 U+252c +0x89 U+2534 +0x8a U+253c +0x8b U+2580 +0x8c U+2584 +0x8d U+2588 +0x8e U+258c +0x8f U+2590 +0x90 U+2591 +0x91 U+2592 +0x92 U+2593 +0x93 U+2320 +0x94 U+25a0 +0x95 U+2219 +0x96 U+221a +0x97 U+2248 +0x98 U+2264 +0x99 U+2265 +0x9a U+00a0 +0x9b U+2321 +0x9c U+00b0 +0x9d U+00b2 +0x9e U+00b7 +0x9f U+00f7 +0xa0 U+2550 +0xa1 U+2551 +0xa2 U+2552 +0xa3 U+0451 +0xa4 U+0454 +0xa5 U+2554 +0xa6 U+0456 +0xa7 U+0457 +0xa8 U+2557 +0xa9 U+2558 +0xaa U+2559 +0xab U+255a +0xac U+255b +0xad U+0491 +0xae U+255d +0xaf U+255e +0xb0 U+255f +0xb1 U+2560 +0xb2 U+2561 +0xb3 U+0401 +0xb4 U+0404 +0xb5 U+2563 +0xb6 U+0406 +0xb7 U+0407 +0xb8 U+2566 +0xb9 U+2567 +0xba U+2568 +0xbb U+2569 +0xbc U+256a +0xbd U+0490 +0xbe U+256c +0xbf U+00a9 +0xc0 U+044e +0xc1 U+0430 +0xc2 U+0431 +0xc3 U+0446 +0xc4 U+0434 +0xc5 U+0435 +0xc6 U+0444 +0xc7 U+0433 +0xc8 U+0445 +0xc9 U+0438 +0xca U+0439 +0xcb U+043a +0xcc U+043b +0xcd U+043c +0xce U+043d +0xcf U+043e +0xd0 U+043f +0xd1 U+044f +0xd2 U+0440 +0xd3 U+0441 +0xd4 U+0442 +0xd5 U+0443 +0xd6 U+0436 +0xd7 U+0432 +0xd8 U+044c +0xd9 U+044b +0xda U+0437 +0xdb U+0448 +0xdc U+044d +0xdd U+0449 +0xde U+0447 +0xdf U+044a +0xe0 U+042e +0xe1 U+0410 +0xe2 U+0411 +0xe3 U+0426 +0xe4 U+0414 +0xe5 U+0415 +0xe6 U+0424 +0xe7 U+0413 +0xe8 U+0425 +0xe9 U+0418 +0xea U+0419 +0xeb U+041a +0xec U+041b +0xed U+041c +0xee U+041d +0xef U+041e +0xf0 U+041f +0xf1 U+042f +0xf2 U+0420 +0xf3 U+0421 +0xf4 U+0422 +0xf5 U+0423 +0xf6 U+0416 +0xf7 U+0412 +0xf8 U+042c +0xf9 U+042b +0xfa U+0417 +0xfb U+0428 +0xfc U+042d +0xfd U+0429 +0xfe U+0427 +0xff U+042a diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1250.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1250.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1250.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+201a +0x83 U+fffd +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+fffd +0x89 U+2030 +0x8a U+0160 +0x8b U+2039 +0x8c U+015a +0x8d U+0164 +0x8e U+017d +0x8f U+0179 +0x90 U+fffd +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+fffd +0x99 U+2122 +0x9a U+0161 +0x9b U+203a +0x9c U+015b +0x9d U+0165 +0x9e U+017e +0x9f U+017a +0xa0 U+00a0 +0xa1 U+02c7 +0xa2 U+02d8 +0xa3 U+0141 +0xa4 U+00a4 +0xa5 U+0104 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+015e +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+017b +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+02db +0xb3 U+0142 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+0105 +0xba U+015f +0xbb U+00bb +0xbc U+013d +0xbd U+02dd +0xbe U+013e +0xbf U+017c +0xc0 U+0154 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+0102 +0xc4 U+00c4 +0xc5 U+0139 +0xc6 U+0106 +0xc7 U+00c7 +0xc8 U+010c +0xc9 U+00c9 +0xca U+0118 +0xcb U+00cb +0xcc U+011a +0xcd U+00cd +0xce U+00ce +0xcf U+010e +0xd0 U+0110 +0xd1 U+0143 +0xd2 U+0147 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+0150 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+0158 +0xd9 U+016e +0xda U+00da +0xdb U+0170 +0xdc U+00dc +0xdd U+00dd +0xde U+0162 +0xdf U+00df +0xe0 U+0155 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+0103 +0xe4 U+00e4 +0xe5 U+013a +0xe6 U+0107 +0xe7 U+00e7 +0xe8 U+010d +0xe9 U+00e9 +0xea U+0119 +0xeb U+00eb +0xec U+011b +0xed U+00ed +0xee U+00ee +0xef U+010f +0xf0 U+0111 +0xf1 U+0144 +0xf2 U+0148 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+0151 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+0159 +0xf9 U+016f +0xfa U+00fa +0xfb U+0171 +0xfc U+00fc +0xfd U+00fd +0xfe U+0163 +0xff U+02d9 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1251.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1251.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1251.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0402 +0x81 U+0403 +0x82 U+201a +0x83 U+0453 +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+20ac +0x89 U+2030 +0x8a U+0409 +0x8b U+2039 +0x8c U+040a +0x8d U+040c +0x8e U+040b +0x8f U+040f +0x90 U+0452 +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+fffd +0x99 U+2122 +0x9a U+0459 +0x9b U+203a +0x9c U+045a +0x9d U+045c +0x9e U+045b +0x9f U+045f +0xa0 U+00a0 +0xa1 U+040e +0xa2 U+045e +0xa3 U+0408 +0xa4 U+00a4 +0xa5 U+0490 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+0401 +0xa9 U+00a9 +0xaa U+0404 +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+0407 +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+0406 +0xb3 U+0456 +0xb4 U+0491 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+0451 +0xb9 U+2116 +0xba U+0454 +0xbb U+00bb +0xbc U+0458 +0xbd U+0405 +0xbe U+0455 +0xbf U+0457 +0xc0 U+0410 +0xc1 U+0411 +0xc2 U+0412 +0xc3 U+0413 +0xc4 U+0414 +0xc5 U+0415 +0xc6 U+0416 +0xc7 U+0417 +0xc8 U+0418 +0xc9 U+0419 +0xca U+041a +0xcb U+041b +0xcc U+041c +0xcd U+041d +0xce U+041e +0xcf U+041f +0xd0 U+0420 +0xd1 U+0421 +0xd2 U+0422 +0xd3 U+0423 +0xd4 U+0424 +0xd5 U+0425 +0xd6 U+0426 +0xd7 U+0427 +0xd8 U+0428 +0xd9 U+0429 +0xda U+042a +0xdb U+042b +0xdc U+042c +0xdd U+042d +0xde U+042e +0xdf U+042f +0xe0 U+0430 +0xe1 U+0431 +0xe2 U+0432 +0xe3 U+0433 +0xe4 U+0434 +0xe5 U+0435 +0xe6 U+0436 +0xe7 U+0437 +0xe8 U+0438 +0xe9 U+0439 +0xea U+043a +0xeb U+043b +0xec U+043c +0xed U+043d +0xee U+043e +0xef U+043f +0xf0 U+0440 +0xf1 U+0441 +0xf2 U+0442 +0xf3 U+0443 +0xf4 U+0444 +0xf5 U+0445 +0xf6 U+0446 +0xf7 U+0447 +0xf8 U+0448 +0xf9 U+0449 +0xfa U+044a +0xfb U+044b +0xfc U+044c +0xfd U+044d +0xfe U+044e +0xff U+044f diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1252.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1252.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1252.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+201a +0x83 U+0192 +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+02c6 +0x89 U+2030 +0x8a U+0160 +0x8b U+2039 +0x8c U+0152 +0x8d U+fffd +0x8e U+017d +0x8f U+fffd +0x90 U+fffd +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+02dc +0x99 U+2122 +0x9a U+0161 +0x9b U+203a +0x9c U+0153 +0x9d U+fffd +0x9e U+017e +0x9f U+0178 +0xa0 U+00a0 +0xa1 U+00a1 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+00aa +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00af +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+00b9 +0xba U+00ba +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00bf +0xc0 U+00c0 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+00c3 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+00c6 +0xc7 U+00c7 +0xc8 U+00c8 +0xc9 U+00c9 +0xca U+00ca +0xcb U+00cb +0xcc U+00cc +0xcd U+00cd +0xce U+00ce +0xcf U+00cf +0xd0 U+00d0 +0xd1 U+00d1 +0xd2 U+00d2 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+00d8 +0xd9 U+00d9 +0xda U+00da +0xdb U+00db +0xdc U+00dc +0xdd U+00dd +0xde U+00de +0xdf U+00df +0xe0 U+00e0 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+00e3 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+00e6 +0xe7 U+00e7 +0xe8 U+00e8 +0xe9 U+00e9 +0xea U+00ea +0xeb U+00eb +0xec U+00ec +0xed U+00ed +0xee U+00ee +0xef U+00ef +0xf0 U+00f0 +0xf1 U+00f1 +0xf2 U+00f2 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+00f8 +0xf9 U+00f9 +0xfa U+00fa +0xfb U+00fb +0xfc U+00fc +0xfd U+00fd +0xfe U+00fe +0xff U+00ff diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1253.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1253.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1253.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+201a +0x83 U+0192 +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+fffd +0x89 U+2030 +0x8a U+fffd +0x8b U+2039 +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+fffd +0x99 U+2122 +0x9a U+fffd +0x9b U+203a +0x9c U+fffd +0x9d U+fffd +0x9e U+fffd +0x9f U+fffd +0xa0 U+00a0 +0xa1 U+0385 +0xa2 U+0386 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+fffd +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+2015 +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+0384 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+0388 +0xb9 U+0389 +0xba U+038a +0xbb U+00bb +0xbc U+038c +0xbd U+00bd +0xbe U+038e +0xbf U+038f +0xc0 U+0390 +0xc1 U+0391 +0xc2 U+0392 +0xc3 U+0393 +0xc4 U+0394 +0xc5 U+0395 +0xc6 U+0396 +0xc7 U+0397 +0xc8 U+0398 +0xc9 U+0399 +0xca U+039a +0xcb U+039b +0xcc U+039c +0xcd U+039d +0xce U+039e +0xcf U+039f +0xd0 U+03a0 +0xd1 U+03a1 +0xd2 U+fffd +0xd3 U+03a3 +0xd4 U+03a4 +0xd5 U+03a5 +0xd6 U+03a6 +0xd7 U+03a7 +0xd8 U+03a8 +0xd9 U+03a9 +0xda U+03aa +0xdb U+03ab +0xdc U+03ac +0xdd U+03ad +0xde U+03ae +0xdf U+03af +0xe0 U+03b0 +0xe1 U+03b1 +0xe2 U+03b2 +0xe3 U+03b3 +0xe4 U+03b4 +0xe5 U+03b5 +0xe6 U+03b6 +0xe7 U+03b7 +0xe8 U+03b8 +0xe9 U+03b9 +0xea U+03ba +0xeb U+03bb +0xec U+03bc +0xed U+03bd +0xee U+03be +0xef U+03bf +0xf0 U+03c0 +0xf1 U+03c1 +0xf2 U+03c2 +0xf3 U+03c3 +0xf4 U+03c4 +0xf5 U+03c5 +0xf6 U+03c6 +0xf7 U+03c7 +0xf8 U+03c8 +0xf9 U+03c9 +0xfa U+03ca +0xfb U+03cb +0xfc U+03cc +0xfd U+03cd +0xfe U+03ce +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1254.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1254.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1254.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+201a +0x83 U+0192 +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+02c6 +0x89 U+2030 +0x8a U+0160 +0x8b U+2039 +0x8c U+0152 +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+02dc +0x99 U+2122 +0x9a U+0161 +0x9b U+203a +0x9c U+0153 +0x9d U+fffd +0x9e U+fffd +0x9f U+0178 +0xa0 U+00a0 +0xa1 U+00a1 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+00aa +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00af +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+00b9 +0xba U+00ba +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00bf +0xc0 U+00c0 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+00c3 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+00c6 +0xc7 U+00c7 +0xc8 U+00c8 +0xc9 U+00c9 +0xca U+00ca +0xcb U+00cb +0xcc U+00cc +0xcd U+00cd +0xce U+00ce +0xcf U+00cf +0xd0 U+011e +0xd1 U+00d1 +0xd2 U+00d2 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+00d8 +0xd9 U+00d9 +0xda U+00da +0xdb U+00db +0xdc U+00dc +0xdd U+0130 +0xde U+015e +0xdf U+00df +0xe0 U+00e0 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+00e3 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+00e6 +0xe7 U+00e7 +0xe8 U+00e8 +0xe9 U+00e9 +0xea U+00ea +0xeb U+00eb +0xec U+00ec +0xed U+00ed +0xee U+00ee +0xef U+00ef +0xf0 U+011f +0xf1 U+00f1 +0xf2 U+00f2 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+00f8 +0xf9 U+00f9 +0xfa U+00fa +0xfb U+00fb +0xfc U+00fc +0xfd U+0131 +0xfe U+015f +0xff U+00ff diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1255.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1255.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1255.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+201a +0x83 U+0192 +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+02c6 +0x89 U+2030 +0x8a U+fffd +0x8b U+2039 +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+02dc +0x99 U+2122 +0x9a U+fffd +0x9b U+203a +0x9c U+fffd +0x9d U+fffd +0x9e U+fffd +0x9f U+fffd +0xa0 U+00a0 +0xa1 U+00a1 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+20aa +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+00d7 +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00af +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+00b9 +0xba U+00f7 +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00bf +0xc0 U+05b0 +0xc1 U+05b1 +0xc2 U+05b2 +0xc3 U+05b3 +0xc4 U+05b4 +0xc5 U+05b5 +0xc6 U+05b6 +0xc7 U+05b7 +0xc8 U+05b8 +0xc9 U+05b9 +0xca U+fffd +0xcb U+05bb +0xcc U+05bc +0xcd U+05bd +0xce U+05be +0xcf U+05bf +0xd0 U+05c0 +0xd1 U+05c1 +0xd2 U+05c2 +0xd3 U+05c3 +0xd4 U+05f0 +0xd5 U+05f1 +0xd6 U+05f2 +0xd7 U+05f3 +0xd8 U+05f4 +0xd9 U+fffd +0xda U+fffd +0xdb U+fffd +0xdc U+fffd +0xdd U+fffd +0xde U+fffd +0xdf U+fffd +0xe0 U+05d0 +0xe1 U+05d1 +0xe2 U+05d2 +0xe3 U+05d3 +0xe4 U+05d4 +0xe5 U+05d5 +0xe6 U+05d6 +0xe7 U+05d7 +0xe8 U+05d8 +0xe9 U+05d9 +0xea U+05da +0xeb U+05db +0xec U+05dc +0xed U+05dd +0xee U+05de +0xef U+05df +0xf0 U+05e0 +0xf1 U+05e1 +0xf2 U+05e2 +0xf3 U+05e3 +0xf4 U+05e4 +0xf5 U+05e5 +0xf6 U+05e6 +0xf7 U+05e7 +0xf8 U+05e8 +0xf9 U+05e9 +0xfa U+05ea +0xfb U+fffd +0xfc U+fffd +0xfd U+200e +0xfe U+200f +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1256.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1256.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1256.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+067e +0x82 U+201a +0x83 U+0192 +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+02c6 +0x89 U+2030 +0x8a U+0679 +0x8b U+2039 +0x8c U+0152 +0x8d U+0686 +0x8e U+0698 +0x8f U+0688 +0x90 U+06af +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+06a9 +0x99 U+2122 +0x9a U+0691 +0x9b U+203a +0x9c U+0153 +0x9d U+200c +0x9e U+200d +0x9f U+06ba +0xa0 U+00a0 +0xa1 U+060c +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+06be +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00af +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+00b9 +0xba U+061b +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+061f +0xc0 U+06c1 +0xc1 U+0621 +0xc2 U+0622 +0xc3 U+0623 +0xc4 U+0624 +0xc5 U+0625 +0xc6 U+0626 +0xc7 U+0627 +0xc8 U+0628 +0xc9 U+0629 +0xca U+062a +0xcb U+062b +0xcc U+062c +0xcd U+062d +0xce U+062e +0xcf U+062f +0xd0 U+0630 +0xd1 U+0631 +0xd2 U+0632 +0xd3 U+0633 +0xd4 U+0634 +0xd5 U+0635 +0xd6 U+0636 +0xd7 U+00d7 +0xd8 U+0637 +0xd9 U+0638 +0xda U+0639 +0xdb U+063a +0xdc U+0640 +0xdd U+0641 +0xde U+0642 +0xdf U+0643 +0xe0 U+00e0 +0xe1 U+0644 +0xe2 U+00e2 +0xe3 U+0645 +0xe4 U+0646 +0xe5 U+0647 +0xe6 U+0648 +0xe7 U+00e7 +0xe8 U+00e8 +0xe9 U+00e9 +0xea U+00ea +0xeb U+00eb +0xec U+0649 +0xed U+064a +0xee U+00ee +0xef U+00ef +0xf0 U+064b +0xf1 U+064c +0xf2 U+064d +0xf3 U+064e +0xf4 U+00f4 +0xf5 U+064f +0xf6 U+0650 +0xf7 U+00f7 +0xf8 U+0651 +0xf9 U+00f9 +0xfa U+0652 +0xfb U+00fb +0xfc U+00fc +0xfd U+200e +0xfe U+200f +0xff U+06d2 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1257.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1257.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1257.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+201a +0x83 U+fffd +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+fffd +0x89 U+2030 +0x8a U+fffd +0x8b U+2039 +0x8c U+fffd +0x8d U+00a8 +0x8e U+02c7 +0x8f U+00b8 +0x90 U+fffd +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+fffd +0x99 U+2122 +0x9a U+fffd +0x9b U+203a +0x9c U+fffd +0x9d U+00af +0x9e U+02db +0x9f U+fffd +0xa0 U+00a0 +0xa1 U+fffd +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+fffd +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00d8 +0xa9 U+00a9 +0xaa U+0156 +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00c6 +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00f8 +0xb9 U+00b9 +0xba U+0157 +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00e6 +0xc0 U+0104 +0xc1 U+012e +0xc2 U+0100 +0xc3 U+0106 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+0118 +0xc7 U+0112 +0xc8 U+010c +0xc9 U+00c9 +0xca U+0179 +0xcb U+0116 +0xcc U+0122 +0xcd U+0136 +0xce U+012a +0xcf U+013b +0xd0 U+0160 +0xd1 U+0143 +0xd2 U+0145 +0xd3 U+00d3 +0xd4 U+014c +0xd5 U+00d5 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+0172 +0xd9 U+0141 +0xda U+015a +0xdb U+016a +0xdc U+00dc +0xdd U+017b +0xde U+017d +0xdf U+00df +0xe0 U+0105 +0xe1 U+012f +0xe2 U+0101 +0xe3 U+0107 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+0119 +0xe7 U+0113 +0xe8 U+010d +0xe9 U+00e9 +0xea U+017a +0xeb U+0117 +0xec U+0123 +0xed U+0137 +0xee U+012b +0xef U+013c +0xf0 U+0161 +0xf1 U+0144 +0xf2 U+0146 +0xf3 U+00f3 +0xf4 U+014d +0xf5 U+00f5 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+0173 +0xf9 U+0142 +0xfa U+015b +0xfb U+016b +0xfc U+00fc +0xfd U+017c +0xfe U+017e +0xff U+02d9 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS1258.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS1258.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS1258.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+201a +0x83 U+0192 +0x84 U+201e +0x85 U+2026 +0x86 U+2020 +0x87 U+2021 +0x88 U+02c6 +0x89 U+2030 +0x8a U+fffd +0x8b U+2039 +0x8c U+0152 +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+02dc +0x99 U+2122 +0x9a U+fffd +0x9b U+203a +0x9c U+0153 +0x9d U+fffd +0x9e U+fffd +0x9f U+0178 +0xa0 U+00a0 +0xa1 U+00a1 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a4 +0xa5 U+00a5 +0xa6 U+00a6 +0xa7 U+00a7 +0xa8 U+00a8 +0xa9 U+00a9 +0xaa U+00aa +0xab U+00ab +0xac U+00ac +0xad U+00ad +0xae U+00ae +0xaf U+00af +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+00b2 +0xb3 U+00b3 +0xb4 U+00b4 +0xb5 U+00b5 +0xb6 U+00b6 +0xb7 U+00b7 +0xb8 U+00b8 +0xb9 U+00b9 +0xba U+00ba +0xbb U+00bb +0xbc U+00bc +0xbd U+00bd +0xbe U+00be +0xbf U+00bf +0xc0 U+00c0 +0xc1 U+00c1 +0xc2 U+00c2 +0xc3 U+0102 +0xc4 U+00c4 +0xc5 U+00c5 +0xc6 U+00c6 +0xc7 U+00c7 +0xc8 U+00c8 +0xc9 U+00c9 +0xca U+00ca +0xcb U+00cb +0xcc U+0300 +0xcd U+00cd +0xce U+00ce +0xcf U+00cf +0xd0 U+0110 +0xd1 U+00d1 +0xd2 U+0309 +0xd3 U+00d3 +0xd4 U+00d4 +0xd5 U+01a0 +0xd6 U+00d6 +0xd7 U+00d7 +0xd8 U+00d8 +0xd9 U+00d9 +0xda U+00da +0xdb U+00db +0xdc U+00dc +0xdd U+01af +0xde U+0303 +0xdf U+00df +0xe0 U+00e0 +0xe1 U+00e1 +0xe2 U+00e2 +0xe3 U+0103 +0xe4 U+00e4 +0xe5 U+00e5 +0xe6 U+00e6 +0xe7 U+00e7 +0xe8 U+00e8 +0xe9 U+00e9 +0xea U+00ea +0xeb U+00eb +0xec U+0301 +0xed U+00ed +0xee U+00ee +0xef U+00ef +0xf0 U+0111 +0xf1 U+00f1 +0xf2 U+0323 +0xf3 U+00f3 +0xf4 U+00f4 +0xf5 U+01a1 +0xf6 U+00f6 +0xf7 U+00f7 +0xf8 U+00f8 +0xf9 U+00f9 +0xfa U+00fa +0xfb U+00fb +0xfc U+00fc +0xfd U+01b0 +0xfe U+20ab +0xff U+00ff diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MS874.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MS874.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MS874.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+20ac +0x81 U+fffd +0x82 U+fffd +0x83 U+fffd +0x84 U+fffd +0x85 U+2026 +0x86 U+fffd +0x87 U+fffd +0x88 U+fffd +0x89 U+fffd +0x8a U+fffd +0x8b U+fffd +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+2018 +0x92 U+2019 +0x93 U+201c +0x94 U+201d +0x95 U+2022 +0x96 U+2013 +0x97 U+2014 +0x98 U+fffd +0x99 U+fffd +0x9a U+fffd +0x9b U+fffd +0x9c U+fffd +0x9d U+fffd +0x9e U+fffd +0x9f U+fffd +0xa0 U+00a0 +0xa1 U+0e01 +0xa2 U+0e02 +0xa3 U+0e03 +0xa4 U+0e04 +0xa5 U+0e05 +0xa6 U+0e06 +0xa7 U+0e07 +0xa8 U+0e08 +0xa9 U+0e09 +0xaa U+0e0a +0xab U+0e0b +0xac U+0e0c +0xad U+0e0d +0xae U+0e0e +0xaf U+0e0f +0xb0 U+0e10 +0xb1 U+0e11 +0xb2 U+0e12 +0xb3 U+0e13 +0xb4 U+0e14 +0xb5 U+0e15 +0xb6 U+0e16 +0xb7 U+0e17 +0xb8 U+0e18 +0xb9 U+0e19 +0xba U+0e1a +0xbb U+0e1b +0xbc U+0e1c +0xbd U+0e1d +0xbe U+0e1e +0xbf U+0e1f +0xc0 U+0e20 +0xc1 U+0e21 +0xc2 U+0e22 +0xc3 U+0e23 +0xc4 U+0e24 +0xc5 U+0e25 +0xc6 U+0e26 +0xc7 U+0e27 +0xc8 U+0e28 +0xc9 U+0e29 +0xca U+0e2a +0xcb U+0e2b +0xcc U+0e2c +0xcd U+0e2d +0xce U+0e2e +0xcf U+0e2f +0xd0 U+0e30 +0xd1 U+0e31 +0xd2 U+0e32 +0xd3 U+0e33 +0xd4 U+0e34 +0xd5 U+0e35 +0xd6 U+0e36 +0xd7 U+0e37 +0xd8 U+0e38 +0xd9 U+0e39 +0xda U+0e3a +0xdb U+fffd +0xdc U+fffd +0xdd U+fffd +0xde U+fffd +0xdf U+0e3f +0xe0 U+0e40 +0xe1 U+0e41 +0xe2 U+0e42 +0xe3 U+0e43 +0xe4 U+0e44 +0xe5 U+0e45 +0xe6 U+0e46 +0xe7 U+0e47 +0xe8 U+0e48 +0xe9 U+0e49 +0xea U+0e4a +0xeb U+0e4b +0xec U+0e4c +0xed U+0e4d +0xee U+0e4e +0xef U+0e4f +0xf0 U+0e50 +0xf1 U+0e51 +0xf2 U+0e52 +0xf3 U+0e53 +0xf4 U+0e54 +0xf5 U+0e55 +0xf6 U+0e56 +0xf7 U+0e57 +0xf8 U+0e58 +0xf9 U+0e59 +0xfa U+0e5a +0xfb U+0e5b +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacArabic.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacArabic.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacArabic.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+00a0 +0x82 U+00c7 +0x83 U+00c9 +0x84 U+00d1 +0x85 U+00d6 +0x86 U+00dc +0x87 U+00e1 +0x88 U+00e0 +0x89 U+00e2 +0x8a U+00e4 +0x8b U+06ba +0x8c U+00ab +0x8d U+00e7 +0x8e U+00e9 +0x8f U+00e8 +0x90 U+00ea +0x91 U+00eb +0x92 U+00ed +0x93 U+2026 +0x94 U+00ee +0x95 U+00ef +0x96 U+00f1 +0x97 U+00f3 +0x98 U+00bb +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00f7 +0x9c U+00fa +0x9d U+00f9 +0x9e U+00fb +0x9f U+00fc +0xa0 U+fffd +0xa1 U+fffd +0xa2 U+fffd +0xa3 U+fffd +0xa4 U+fffd +0xa5 U+066a +0xa6 U+fffd +0xa7 U+fffd +0xa8 U+fffd +0xa9 U+fffd +0xaa U+fffd +0xab U+fffd +0xac U+060c +0xad U+fffd +0xae U+fffd +0xaf U+fffd +0xb0 U+0660 +0xb1 U+0661 +0xb2 U+0662 +0xb3 U+0663 +0xb4 U+0664 +0xb5 U+0665 +0xb6 U+0666 +0xb7 U+0667 +0xb8 U+0668 +0xb9 U+0669 +0xba U+fffd +0xbb U+061b +0xbc U+fffd +0xbd U+fffd +0xbe U+fffd +0xbf U+061f +0xc0 U+066d +0xc1 U+0621 +0xc2 U+0622 +0xc3 U+0623 +0xc4 U+0624 +0xc5 U+0625 +0xc6 U+0626 +0xc7 U+0627 +0xc8 U+0628 +0xc9 U+0629 +0xca U+062a +0xcb U+062b +0xcc U+062c +0xcd U+062d +0xce U+062e +0xcf U+062f +0xd0 U+0630 +0xd1 U+0631 +0xd2 U+0632 +0xd3 U+0633 +0xd4 U+0634 +0xd5 U+0635 +0xd6 U+0636 +0xd7 U+0637 +0xd8 U+0638 +0xd9 U+0639 +0xda U+063a +0xdb U+fffd +0xdc U+fffd +0xdd U+fffd +0xde U+fffd +0xdf U+fffd +0xe0 U+0640 +0xe1 U+0641 +0xe2 U+0642 +0xe3 U+0643 +0xe4 U+0644 +0xe5 U+0645 +0xe6 U+0646 +0xe7 U+0647 +0xe8 U+0648 +0xe9 U+0649 +0xea U+064a +0xeb U+064b +0xec U+064c +0xed U+064d +0xee U+064e +0xef U+064f +0xf0 U+0650 +0xf1 U+0651 +0xf2 U+0652 +0xf3 U+067e +0xf4 U+0679 +0xf5 U+0686 +0xf6 U+06d5 +0xf7 U+06a4 +0xf8 U+06af +0xf9 U+0688 +0xfa U+0691 +0xfb U+fffd +0xfc U+fffd +0xfd U+fffd +0xfe U+0698 +0xff U+06d2 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacCentralEurope.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacCentralEurope.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacCentralEurope.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+0100 +0x82 U+0101 +0x83 U+00c9 +0x84 U+0104 +0x85 U+00d6 +0x86 U+00dc +0x87 U+00e1 +0x88 U+0105 +0x89 U+010c +0x8a U+00e4 +0x8b U+010d +0x8c U+0106 +0x8d U+0107 +0x8e U+00e9 +0x8f U+0179 +0x90 U+017a +0x91 U+010e +0x92 U+00ed +0x93 U+010f +0x94 U+0112 +0x95 U+0113 +0x96 U+0116 +0x97 U+00f3 +0x98 U+0117 +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00f5 +0x9c U+00fa +0x9d U+011a +0x9e U+011b +0x9f U+00fc +0xa0 U+2020 +0xa1 U+00b0 +0xa2 U+0118 +0xa3 U+00a3 +0xa4 U+00a7 +0xa5 U+2022 +0xa6 U+00b6 +0xa7 U+00df +0xa8 U+00ae +0xa9 U+00a9 +0xaa U+2122 +0xab U+0119 +0xac U+00a8 +0xad U+2260 +0xae U+0123 +0xaf U+012e +0xb0 U+012f +0xb1 U+012a +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+012b +0xb5 U+0136 +0xb6 U+2202 +0xb7 U+2211 +0xb8 U+0142 +0xb9 U+013b +0xba U+013c +0xbb U+013d +0xbc U+013e +0xbd U+0139 +0xbe U+013a +0xbf U+0145 +0xc0 U+0146 +0xc1 U+0143 +0xc2 U+00ac +0xc3 U+221a +0xc4 U+0144 +0xc5 U+0147 +0xc6 U+2206 +0xc7 U+00ab +0xc8 U+00bb +0xc9 U+2026 +0xca U+00a0 +0xcb U+0148 +0xcc U+0150 +0xcd U+00d5 +0xce U+0151 +0xcf U+014c +0xd0 U+2013 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+25ca +0xd8 U+014d +0xd9 U+0154 +0xda U+0155 +0xdb U+0158 +0xdc U+2039 +0xdd U+203a +0xde U+0159 +0xdf U+0156 +0xe0 U+0157 +0xe1 U+0160 +0xe2 U+201a +0xe3 U+201e +0xe4 U+0161 +0xe5 U+015a +0xe6 U+015b +0xe7 U+00c1 +0xe8 U+0164 +0xe9 U+0165 +0xea U+00cd +0xeb U+017d +0xec U+017e +0xed U+016a +0xee U+00d3 +0xef U+00d4 +0xf0 U+016b +0xf1 U+016e +0xf2 U+00da +0xf3 U+016f +0xf4 U+0170 +0xf5 U+0171 +0xf6 U+0172 +0xf7 U+0173 +0xf8 U+00dd +0xf9 U+00fd +0xfa U+0137 +0xfb U+017b +0xfc U+0141 +0xfd U+017c +0xfe U+0122 +0xff U+02c7 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacCroatian.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacCroatian.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacCroatian.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+00c5 +0x82 U+00c7 +0x83 U+00c9 +0x84 U+00d1 +0x85 U+00d6 +0x86 U+00dc +0x87 U+00e1 +0x88 U+00e0 +0x89 U+00e2 +0x8a U+00e4 +0x8b U+00e3 +0x8c U+00e5 +0x8d U+00e7 +0x8e U+00e9 +0x8f U+00e8 +0x90 U+00ea +0x91 U+00eb +0x92 U+00ed +0x93 U+00ec +0x94 U+00ee +0x95 U+00ef +0x96 U+00f1 +0x97 U+00f3 +0x98 U+00f2 +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00f5 +0x9c U+00fa +0x9d U+00f9 +0x9e U+00fb +0x9f U+00fc +0xa0 U+2020 +0xa1 U+00b0 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a7 +0xa5 U+2022 +0xa6 U+00b6 +0xa7 U+00df +0xa8 U+00ae +0xa9 U+0160 +0xaa U+2122 +0xab U+00b4 +0xac U+00a8 +0xad U+2260 +0xae U+017d +0xaf U+00d8 +0xb0 U+221e +0xb1 U+00b1 +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+2206 +0xb5 U+00b5 +0xb6 U+2202 +0xb7 U+2211 +0xb8 U+220f +0xb9 U+0161 +0xba U+222b +0xbb U+00aa +0xbc U+00ba +0xbd U+2126 +0xbe U+017e +0xbf U+00f8 +0xc0 U+00bf +0xc1 U+00a1 +0xc2 U+00ac +0xc3 U+221a +0xc4 U+0192 +0xc5 U+2248 +0xc6 U+0106 +0xc7 U+00ab +0xc8 U+010c +0xc9 U+2026 +0xca U+00a0 +0xcb U+00c0 +0xcc U+00c3 +0xcd U+00d5 +0xce U+0152 +0xcf U+0153 +0xd0 U+0110 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+25ca +0xd8 U+f8ff +0xd9 U+00a9 +0xda U+2044 +0xdb U+00a4 +0xdc U+2039 +0xdd U+203a +0xde U+00c6 +0xdf U+00bb +0xe0 U+2013 +0xe1 U+00b7 +0xe2 U+201a +0xe3 U+201e +0xe4 U+2030 +0xe5 U+00c2 +0xe6 U+0107 +0xe7 U+00c1 +0xe8 U+010d +0xe9 U+00c8 +0xea U+00cd +0xeb U+00ce +0xec U+00cf +0xed U+00cc +0xee U+00d3 +0xef U+00d4 +0xf0 U+0111 +0xf1 U+00d2 +0xf2 U+00da +0xf3 U+00db +0xf4 U+00d9 +0xf5 U+0131 +0xf6 U+02c6 +0xf7 U+02dc +0xf8 U+00af +0xf9 U+03c0 +0xfa U+00cb +0xfb U+02da +0xfc U+00b8 +0xfd U+00ca +0xfe U+00e6 +0xff U+02c7 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacCyrillic.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacCyrillic.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacCyrillic.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0410 +0x81 U+0411 +0x82 U+0412 +0x83 U+0413 +0x84 U+0414 +0x85 U+0415 +0x86 U+0416 +0x87 U+0417 +0x88 U+0418 +0x89 U+0419 +0x8a U+041a +0x8b U+041b +0x8c U+041c +0x8d U+041d +0x8e U+041e +0x8f U+041f +0x90 U+0420 +0x91 U+0421 +0x92 U+0422 +0x93 U+0423 +0x94 U+0424 +0x95 U+0425 +0x96 U+0426 +0x97 U+0427 +0x98 U+0428 +0x99 U+0429 +0x9a U+042a +0x9b U+042b +0x9c U+042c +0x9d U+042d +0x9e U+042e +0x9f U+042f +0xa0 U+2020 +0xa1 U+00b0 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a7 +0xa5 U+2022 +0xa6 U+00b6 +0xa7 U+0406 +0xa8 U+00ae +0xa9 U+00a9 +0xaa U+2122 +0xab U+0402 +0xac U+0452 +0xad U+2260 +0xae U+0403 +0xaf U+0453 +0xb0 U+221e +0xb1 U+00b1 +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+0456 +0xb5 U+00b5 +0xb6 U+2202 +0xb7 U+0408 +0xb8 U+0404 +0xb9 U+0454 +0xba U+0407 +0xbb U+0457 +0xbc U+0409 +0xbd U+0459 +0xbe U+040a +0xbf U+045a +0xc0 U+0458 +0xc1 U+0405 +0xc2 U+00ac +0xc3 U+221a +0xc4 U+0192 +0xc5 U+2248 +0xc6 U+2206 +0xc7 U+00ab +0xc8 U+00bb +0xc9 U+2026 +0xca U+00a0 +0xcb U+040b +0xcc U+045b +0xcd U+040c +0xce U+045c +0xcf U+0455 +0xd0 U+2013 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+201e +0xd8 U+040e +0xd9 U+045e +0xda U+040f +0xdb U+045f +0xdc U+2116 +0xdd U+0401 +0xde U+0451 +0xdf U+044f +0xe0 U+0430 +0xe1 U+0431 +0xe2 U+0432 +0xe3 U+0433 +0xe4 U+0434 +0xe5 U+0435 +0xe6 U+0436 +0xe7 U+0437 +0xe8 U+0438 +0xe9 U+0439 +0xea U+043a +0xeb U+043b +0xec U+043c +0xed U+043d +0xee U+043e +0xef U+043f +0xf0 U+0440 +0xf1 U+0441 +0xf2 U+0442 +0xf3 U+0443 +0xf4 U+0444 +0xf5 U+0445 +0xf6 U+0446 +0xf7 U+0447 +0xf8 U+0448 +0xf9 U+0449 +0xfa U+044a +0xfb U+044b +0xfc U+044c +0xfd U+044d +0xfe U+044e +0xff U+00a4 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacDingbat.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacDingbat.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacDingbat.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+2701 +0x22 U+2702 +0x23 U+2703 +0x24 U+2704 +0x25 U+260e +0x26 U+2706 +0x27 U+2707 +0x28 U+2708 +0x29 U+2709 +0x2a U+261b +0x2b U+261e +0x2c U+270c +0x2d U+270d +0x2e U+270e +0x2f U+270f +0x30 U+2710 +0x31 U+2711 +0x32 U+2712 +0x33 U+2713 +0x34 U+2714 +0x35 U+2715 +0x36 U+2716 +0x37 U+2717 +0x38 U+2718 +0x39 U+2719 +0x3a U+271a +0x3b U+271b +0x3c U+271c +0x3d U+271d +0x3e U+271e +0x3f U+271f +0x40 U+2720 +0x41 U+2721 +0x42 U+2722 +0x43 U+2723 +0x44 U+2724 +0x45 U+2725 +0x46 U+2726 +0x47 U+2727 +0x48 U+2605 +0x49 U+2729 +0x4a U+272a +0x4b U+272b +0x4c U+272c +0x4d U+272d +0x4e U+272e +0x4f U+272f +0x50 U+2730 +0x51 U+2731 +0x52 U+2732 +0x53 U+2733 +0x54 U+2734 +0x55 U+2735 +0x56 U+2736 +0x57 U+2737 +0x58 U+2738 +0x59 U+2739 +0x5a U+273a +0x5b U+273b +0x5c U+273c +0x5d U+273d +0x5e U+273e +0x5f U+273f +0x60 U+2740 +0x61 U+2741 +0x62 U+2742 +0x63 U+2743 +0x64 U+2744 +0x65 U+2745 +0x66 U+2746 +0x67 U+2747 +0x68 U+2748 +0x69 U+2749 +0x6a U+274a +0x6b U+274b +0x6c U+25cf +0x6d U+274d +0x6e U+25a0 +0x6f U+274f +0x70 U+2750 +0x71 U+2751 +0x72 U+2752 +0x73 U+25b2 +0x74 U+25bc +0x75 U+25c6 +0x76 U+2756 +0x77 U+25d7 +0x78 U+2758 +0x79 U+2759 +0x7a U+275a +0x7b U+275b +0x7c U+275c +0x7d U+275d +0x7e U+275e +0x7f U+007f +0x80 U+fffd +0x81 U+fffd +0x82 U+fffd +0x83 U+fffd +0x84 U+fffd +0x85 U+fffd +0x86 U+fffd +0x87 U+fffd +0x88 U+fffd +0x89 U+fffd +0x8a U+fffd +0x8b U+fffd +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+fffd +0x92 U+fffd +0x93 U+fffd +0x94 U+fffd +0x95 U+fffd +0x96 U+fffd +0x97 U+fffd +0x98 U+fffd +0x99 U+fffd +0x9a U+fffd +0x9b U+fffd +0x9c U+fffd +0x9d U+fffd +0x9e U+fffd +0x9f U+fffd +0xa0 U+fffd +0xa1 U+2761 +0xa2 U+2762 +0xa3 U+2763 +0xa4 U+2764 +0xa5 U+2765 +0xa6 U+2766 +0xa7 U+2767 +0xa8 U+2663 +0xa9 U+2666 +0xaa U+2665 +0xab U+2660 +0xac U+2460 +0xad U+2461 +0xae U+2462 +0xaf U+2463 +0xb0 U+2464 +0xb1 U+2465 +0xb2 U+2466 +0xb3 U+2467 +0xb4 U+2468 +0xb5 U+2469 +0xb6 U+2776 +0xb7 U+2777 +0xb8 U+2778 +0xb9 U+2779 +0xba U+277a +0xbb U+277b +0xbc U+277c +0xbd U+277d +0xbe U+277e +0xbf U+277f +0xc0 U+2780 +0xc1 U+2781 +0xc2 U+2782 +0xc3 U+2783 +0xc4 U+2784 +0xc5 U+2785 +0xc6 U+2786 +0xc7 U+2787 +0xc8 U+2788 +0xc9 U+2789 +0xca U+278a +0xcb U+278b +0xcc U+278c +0xcd U+278d +0xce U+278e +0xcf U+278f +0xd0 U+2790 +0xd1 U+2791 +0xd2 U+2792 +0xd3 U+2793 +0xd4 U+2794 +0xd5 U+2192 +0xd6 U+2194 +0xd7 U+2195 +0xd8 U+2798 +0xd9 U+2799 +0xda U+279a +0xdb U+279b +0xdc U+279c +0xdd U+279d +0xde U+279e +0xdf U+279f +0xe0 U+27a0 +0xe1 U+27a1 +0xe2 U+27a2 +0xe3 U+27a3 +0xe4 U+27a4 +0xe5 U+27a5 +0xe6 U+27a6 +0xe7 U+27a7 +0xe8 U+27a8 +0xe9 U+27a9 +0xea U+27aa +0xeb U+27ab +0xec U+27ac +0xed U+27ad +0xee U+27ae +0xef U+27af +0xf0 U+fffd +0xf1 U+27b1 +0xf2 U+27b2 +0xf3 U+27b3 +0xf4 U+27b4 +0xf5 U+27b5 +0xf6 U+27b6 +0xf7 U+27b7 +0xf8 U+27b8 +0xf9 U+27b9 +0xfa U+27ba +0xfb U+27bb +0xfc U+27bc +0xfd U+27bd +0xfe U+27be +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacGreek.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacGreek.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacGreek.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+00b9 +0x82 U+00b2 +0x83 U+00c9 +0x84 U+00b3 +0x85 U+00d6 +0x86 U+00dc +0x87 U+0385 +0x88 U+00e0 +0x89 U+00e2 +0x8a U+00e4 +0x8b U+0384 +0x8c U+00a8 +0x8d U+00e7 +0x8e U+00e9 +0x8f U+00e8 +0x90 U+00ea +0x91 U+00eb +0x92 U+00a3 +0x93 U+2122 +0x94 U+00ee +0x95 U+00ef +0x96 U+2022 +0x97 U+00bd +0x98 U+2030 +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00a6 +0x9c U+00ad +0x9d U+00f9 +0x9e U+00fb +0x9f U+00fc +0xa0 U+2020 +0xa1 U+0393 +0xa2 U+0394 +0xa3 U+0398 +0xa4 U+039b +0xa5 U+039e +0xa6 U+03a0 +0xa7 U+00df +0xa8 U+00ae +0xa9 U+00a9 +0xaa U+03a3 +0xab U+03aa +0xac U+00a7 +0xad U+2260 +0xae U+00b0 +0xaf U+0387 +0xb0 U+0391 +0xb1 U+00b1 +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+00a5 +0xb5 U+0392 +0xb6 U+0395 +0xb7 U+0396 +0xb8 U+0397 +0xb9 U+0399 +0xba U+039a +0xbb U+039c +0xbc U+03a6 +0xbd U+03ab +0xbe U+03a8 +0xbf U+03a9 +0xc0 U+03ac +0xc1 U+039d +0xc2 U+00ac +0xc3 U+039f +0xc4 U+03a1 +0xc5 U+2248 +0xc6 U+03a4 +0xc7 U+00ab +0xc8 U+00bb +0xc9 U+2026 +0xca U+00a0 +0xcb U+03a5 +0xcc U+03a7 +0xcd U+0386 +0xce U+0388 +0xcf U+0153 +0xd0 U+2013 +0xd1 U+2015 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+0389 +0xd8 U+038a +0xd9 U+038c +0xda U+038e +0xdb U+03ad +0xdc U+03ae +0xdd U+03af +0xde U+03cc +0xdf U+038f +0xe0 U+03cd +0xe1 U+03b1 +0xe2 U+03b2 +0xe3 U+03c8 +0xe4 U+03b4 +0xe5 U+03b5 +0xe6 U+03c6 +0xe7 U+03b3 +0xe8 U+03b7 +0xe9 U+03b9 +0xea U+03be +0xeb U+03ba +0xec U+03bb +0xed U+03bc +0xee U+03bd +0xef U+03bf +0xf0 U+03c0 +0xf1 U+03ce +0xf2 U+03c1 +0xf3 U+03c3 +0xf4 U+03c4 +0xf5 U+03b8 +0xf6 U+03c9 +0xf7 U+03c2 +0xf8 U+03c7 +0xf9 U+03c5 +0xfa U+03b6 +0xfb U+03ca +0xfc U+03cb +0xfd U+0390 +0xfe U+03b0 +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacHebrew.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacHebrew.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacHebrew.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+fb1f +0x82 U+00c7 +0x83 U+00c9 +0x84 U+00d1 +0x85 U+00d6 +0x86 U+00dc +0x87 U+00e1 +0x88 U+00e0 +0x89 U+00e2 +0x8a U+00e4 +0x8b U+00e3 +0x8c U+00e5 +0x8d U+00e7 +0x8e U+00e9 +0x8f U+00e8 +0x90 U+00ea +0x91 U+00eb +0x92 U+00ed +0x93 U+00ec +0x94 U+00ee +0x95 U+00ef +0x96 U+00f1 +0x97 U+00f3 +0x98 U+00f2 +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00f5 +0x9c U+00fa +0x9d U+00f9 +0x9e U+00fb +0x9f U+00fc +0xa0 U+fffd +0xa1 U+fffd +0xa2 U+fffd +0xa3 U+fffd +0xa4 U+fffd +0xa5 U+fffd +0xa6 U+20aa +0xa7 U+fffd +0xa8 U+fffd +0xa9 U+fffd +0xaa U+fffd +0xab U+fffd +0xac U+fffd +0xad U+fffd +0xae U+fffd +0xaf U+fffd +0xb0 U+fffd +0xb1 U+fffd +0xb2 U+fffd +0xb3 U+fffd +0xb4 U+fffd +0xb5 U+fffd +0xb6 U+fffd +0xb7 U+fffd +0xb8 U+fffd +0xb9 U+fffd +0xba U+fffd +0xbb U+fffd +0xbc U+fffd +0xbd U+fffd +0xbe U+fffd +0xbf U+fffd +0xc0 U+fffd +0xc1 U+201e +0xc2 U+fffd +0xc3 U+fffd +0xc4 U+fffd +0xc5 U+fffd +0xc6 U+05bc +0xc7 U+fb4b +0xc8 U+fb35 +0xc9 U+2026 +0xca U+00a0 +0xcb U+05b8 +0xcc U+05b7 +0xcd U+05b5 +0xce U+05b6 +0xcf U+05b4 +0xd0 U+2013 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+fb2a +0xd7 U+fb2b +0xd8 U+05bf +0xd9 U+05b0 +0xda U+05b2 +0xdb U+05b1 +0xdc U+05bb +0xdd U+05b9 +0xde U+fffd +0xdf U+05b3 +0xe0 U+05d0 +0xe1 U+05d1 +0xe2 U+05d2 +0xe3 U+05d3 +0xe4 U+05d4 +0xe5 U+05d5 +0xe6 U+05d6 +0xe7 U+05d7 +0xe8 U+05d8 +0xe9 U+05d9 +0xea U+05da +0xeb U+05db +0xec U+05dc +0xed U+05dd +0xee U+05de +0xef U+05df +0xf0 U+05e0 +0xf1 U+05e1 +0xf2 U+05e2 +0xf3 U+05e3 +0xf4 U+05e4 +0xf5 U+05e5 +0xf6 U+05e6 +0xf7 U+05e7 +0xf8 U+05e8 +0xf9 U+05e9 +0xfa U+05ea +0xfb U+fffd +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacIceland.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacIceland.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacIceland.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+00c5 +0x82 U+00c7 +0x83 U+00c9 +0x84 U+00d1 +0x85 U+00d6 +0x86 U+00dc +0x87 U+00e1 +0x88 U+00e0 +0x89 U+00e2 +0x8a U+00e4 +0x8b U+00e3 +0x8c U+00e5 +0x8d U+00e7 +0x8e U+00e9 +0x8f U+00e8 +0x90 U+00ea +0x91 U+00eb +0x92 U+00ed +0x93 U+00ec +0x94 U+00ee +0x95 U+00ef +0x96 U+00f1 +0x97 U+00f3 +0x98 U+00f2 +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00f5 +0x9c U+00fa +0x9d U+00f9 +0x9e U+00fb +0x9f U+00fc +0xa0 U+00dd +0xa1 U+00b0 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a7 +0xa5 U+2022 +0xa6 U+00b6 +0xa7 U+00df +0xa8 U+00ae +0xa9 U+00a9 +0xaa U+2122 +0xab U+00b4 +0xac U+00a8 +0xad U+2260 +0xae U+00c6 +0xaf U+00d8 +0xb0 U+221e +0xb1 U+00b1 +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+00a5 +0xb5 U+00b5 +0xb6 U+2202 +0xb7 U+2211 +0xb8 U+220f +0xb9 U+03c0 +0xba U+222b +0xbb U+00aa +0xbc U+00ba +0xbd U+2126 +0xbe U+00e6 +0xbf U+00f8 +0xc0 U+00bf +0xc1 U+00a1 +0xc2 U+00ac +0xc3 U+221a +0xc4 U+0192 +0xc5 U+2248 +0xc6 U+2206 +0xc7 U+00ab +0xc8 U+00bb +0xc9 U+2026 +0xca U+00a0 +0xcb U+00c0 +0xcc U+00c3 +0xcd U+00d5 +0xce U+0152 +0xcf U+0153 +0xd0 U+2013 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+25ca +0xd8 U+00ff +0xd9 U+0178 +0xda U+2044 +0xdb U+00a4 +0xdc U+00d0 +0xdd U+00f0 +0xde U+00de +0xdf U+00fe +0xe0 U+00fd +0xe1 U+00b7 +0xe2 U+201a +0xe3 U+201e +0xe4 U+2030 +0xe5 U+00c2 +0xe6 U+00ca +0xe7 U+00c1 +0xe8 U+00cb +0xe9 U+00c8 +0xea U+00cd +0xeb U+00ce +0xec U+00cf +0xed U+00cc +0xee U+00d3 +0xef U+00d4 +0xf0 U+f8ff +0xf1 U+00d2 +0xf2 U+00da +0xf3 U+00db +0xf4 U+00d9 +0xf5 U+0131 +0xf6 U+02c6 +0xf7 U+02dc +0xf8 U+00af +0xf9 U+02d8 +0xfa U+02d9 +0xfb U+02da +0xfc U+00b8 +0xfd U+02dd +0xfe U+02db +0xff U+02c7 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacRoman.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacRoman.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacRoman.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+00c5 +0x82 U+00c7 +0x83 U+00c9 +0x84 U+00d1 +0x85 U+00d6 +0x86 U+00dc +0x87 U+00e1 +0x88 U+00e0 +0x89 U+00e2 +0x8a U+00e4 +0x8b U+00e3 +0x8c U+00e5 +0x8d U+00e7 +0x8e U+00e9 +0x8f U+00e8 +0x90 U+00ea +0x91 U+00eb +0x92 U+00ed +0x93 U+00ec +0x94 U+00ee +0x95 U+00ef +0x96 U+00f1 +0x97 U+00f3 +0x98 U+00f2 +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00f5 +0x9c U+00fa +0x9d U+00f9 +0x9e U+00fb +0x9f U+00fc +0xa0 U+2020 +0xa1 U+00b0 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a7 +0xa5 U+2022 +0xa6 U+00b6 +0xa7 U+00df +0xa8 U+00ae +0xa9 U+00a9 +0xaa U+2122 +0xab U+00b4 +0xac U+00a8 +0xad U+2260 +0xae U+00c6 +0xaf U+00d8 +0xb0 U+221e +0xb1 U+00b1 +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+00a5 +0xb5 U+00b5 +0xb6 U+2202 +0xb7 U+2211 +0xb8 U+220f +0xb9 U+03c0 +0xba U+222b +0xbb U+00aa +0xbc U+00ba +0xbd U+03a9 +0xbe U+00e6 +0xbf U+00f8 +0xc0 U+00bf +0xc1 U+00a1 +0xc2 U+00ac +0xc3 U+221a +0xc4 U+0192 +0xc5 U+2248 +0xc6 U+2206 +0xc7 U+00ab +0xc8 U+00bb +0xc9 U+2026 +0xca U+00a0 +0xcb U+00c0 +0xcc U+00c3 +0xcd U+00d5 +0xce U+0152 +0xcf U+0153 +0xd0 U+2013 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+25ca +0xd8 U+00ff +0xd9 U+0178 +0xda U+2044 +0xdb U+20ac +0xdc U+2039 +0xdd U+203a +0xde U+fb01 +0xdf U+fb02 +0xe0 U+2021 +0xe1 U+00b7 +0xe2 U+201a +0xe3 U+201e +0xe4 U+2030 +0xe5 U+00c2 +0xe6 U+00ca +0xe7 U+00c1 +0xe8 U+00cb +0xe9 U+00c8 +0xea U+00cd +0xeb U+00ce +0xec U+00cf +0xed U+00cc +0xee U+00d3 +0xef U+00d4 +0xf0 U+f8ff +0xf1 U+00d2 +0xf2 U+00da +0xf3 U+00db +0xf4 U+00d9 +0xf5 U+0131 +0xf6 U+02c6 +0xf7 U+02dc +0xf8 U+00af +0xf9 U+02d8 +0xfa U+02d9 +0xfb U+02da +0xfc U+00b8 +0xfd U+02dd +0xfe U+02db +0xff U+02c7 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacRomania.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacRomania.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacRomania.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+00c5 +0x82 U+00c7 +0x83 U+00c9 +0x84 U+00d1 +0x85 U+00d6 +0x86 U+00dc +0x87 U+00e1 +0x88 U+00e0 +0x89 U+00e2 +0x8a U+00e4 +0x8b U+00e3 +0x8c U+00e5 +0x8d U+00e7 +0x8e U+00e9 +0x8f U+00e8 +0x90 U+00ea +0x91 U+00eb +0x92 U+00ed +0x93 U+00ec +0x94 U+00ee +0x95 U+00ef +0x96 U+00f1 +0x97 U+00f3 +0x98 U+00f2 +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00f5 +0x9c U+00fa +0x9d U+00f9 +0x9e U+00fb +0x9f U+00fc +0xa0 U+2020 +0xa1 U+00b0 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a7 +0xa5 U+2022 +0xa6 U+00b6 +0xa7 U+00df +0xa8 U+00ae +0xa9 U+00a9 +0xaa U+2122 +0xab U+00b4 +0xac U+00a8 +0xad U+2260 +0xae U+0102 +0xaf U+015e +0xb0 U+221e +0xb1 U+00b1 +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+00a5 +0xb5 U+00b5 +0xb6 U+2202 +0xb7 U+2211 +0xb8 U+220f +0xb9 U+03c0 +0xba U+222b +0xbb U+00aa +0xbc U+00ba +0xbd U+2126 +0xbe U+0103 +0xbf U+015f +0xc0 U+00bf +0xc1 U+00a1 +0xc2 U+00ac +0xc3 U+221a +0xc4 U+0192 +0xc5 U+2248 +0xc6 U+2206 +0xc7 U+00ab +0xc8 U+00bb +0xc9 U+2026 +0xca U+00a0 +0xcb U+00c0 +0xcc U+00c3 +0xcd U+00d5 +0xce U+0152 +0xcf U+0153 +0xd0 U+2013 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+25ca +0xd8 U+00ff +0xd9 U+0178 +0xda U+2044 +0xdb U+00a4 +0xdc U+2039 +0xdd U+203a +0xde U+0162 +0xdf U+0163 +0xe0 U+2021 +0xe1 U+00b7 +0xe2 U+201a +0xe3 U+201e +0xe4 U+2030 +0xe5 U+00c2 +0xe6 U+00ca +0xe7 U+00c1 +0xe8 U+00cb +0xe9 U+00c8 +0xea U+00cd +0xeb U+00ce +0xec U+00cf +0xed U+00cc +0xee U+00d3 +0xef U+00d4 +0xf0 U+f8ff +0xf1 U+00d2 +0xf2 U+00da +0xf3 U+00db +0xf4 U+00d9 +0xf5 U+0131 +0xf6 U+02c6 +0xf7 U+02dc +0xf8 U+00af +0xf9 U+02d8 +0xfa U+02d9 +0xfb U+02da +0xfc U+00b8 +0xfd U+02dd +0xfe U+02db +0xff U+02c7 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacSymbol.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacSymbol.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacSymbol.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+2200 +0x23 U+0023 +0x24 U+2203 +0x25 U+0025 +0x26 U+0026 +0x27 U+220d +0x28 U+0028 +0x29 U+0029 +0x2a U+2217 +0x2b U+002b +0x2c U+002c +0x2d U+2212 +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+2245 +0x41 U+0391 +0x42 U+0392 +0x43 U+03a7 +0x44 U+0394 +0x45 U+0395 +0x46 U+03a6 +0x47 U+0393 +0x48 U+0397 +0x49 U+0399 +0x4a U+03d1 +0x4b U+039a +0x4c U+039b +0x4d U+039c +0x4e U+039d +0x4f U+039f +0x50 U+03a0 +0x51 U+0398 +0x52 U+03a1 +0x53 U+03a3 +0x54 U+03a4 +0x55 U+03a5 +0x56 U+03c2 +0x57 U+03a9 +0x58 U+039e +0x59 U+03a8 +0x5a U+0396 +0x5b U+005b +0x5c U+2234 +0x5d U+005d +0x5e U+22a5 +0x5f U+005f +0x60 U+f8e5 +0x61 U+03b1 +0x62 U+03b2 +0x63 U+03c7 +0x64 U+03b4 +0x65 U+03b5 +0x66 U+03c6 +0x67 U+03b3 +0x68 U+03b7 +0x69 U+03b9 +0x6a U+03d5 +0x6b U+03ba +0x6c U+03bb +0x6d U+03bc +0x6e U+03bd +0x6f U+03bf +0x70 U+03c0 +0x71 U+03b8 +0x72 U+03c1 +0x73 U+03c3 +0x74 U+03c4 +0x75 U+03c5 +0x76 U+03d6 +0x77 U+03c9 +0x78 U+03be +0x79 U+03c8 +0x7a U+03b6 +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+223c +0x7f U+007f +0x80 U+fffd +0x81 U+fffd +0x82 U+fffd +0x83 U+fffd +0x84 U+fffd +0x85 U+fffd +0x86 U+fffd +0x87 U+fffd +0x88 U+fffd +0x89 U+fffd +0x8a U+fffd +0x8b U+fffd +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+fffd +0x92 U+fffd +0x93 U+fffd +0x94 U+fffd +0x95 U+fffd +0x96 U+fffd +0x97 U+fffd +0x98 U+fffd +0x99 U+fffd +0x9a U+fffd +0x9b U+fffd +0x9c U+fffd +0x9d U+fffd +0x9e U+fffd +0x9f U+fffd +0xa0 U+20ac +0xa1 U+03d2 +0xa2 U+2032 +0xa3 U+2264 +0xa4 U+2044 +0xa5 U+221e +0xa6 U+0192 +0xa7 U+2663 +0xa8 U+2666 +0xa9 U+2665 +0xaa U+2660 +0xab U+2194 +0xac U+2190 +0xad U+2191 +0xae U+2192 +0xaf U+2193 +0xb0 U+00b0 +0xb1 U+00b1 +0xb2 U+2033 +0xb3 U+2265 +0xb4 U+00d7 +0xb5 U+221d +0xb6 U+2202 +0xb7 U+2022 +0xb8 U+00f7 +0xb9 U+2260 +0xba U+2261 +0xbb U+2248 +0xbc U+2026 +0xbd U+f8e6 +0xbe U+f8e7 +0xbf U+21b5 +0xc0 U+2135 +0xc1 U+2111 +0xc2 U+211c +0xc3 U+2118 +0xc4 U+2297 +0xc5 U+2295 +0xc6 U+2205 +0xc7 U+2229 +0xc8 U+222a +0xc9 U+2283 +0xca U+2287 +0xcb U+2284 +0xcc U+2282 +0xcd U+2286 +0xce U+2208 +0xcf U+2209 +0xd0 U+2220 +0xd1 U+2207 +0xd2 U+00ae +0xd3 U+00a9 +0xd4 U+2122 +0xd5 U+220f +0xd6 U+221a +0xd7 U+22c5 +0xd8 U+00ac +0xd9 U+2227 +0xda U+2228 +0xdb U+21d4 +0xdc U+21d0 +0xdd U+21d1 +0xde U+21d2 +0xdf U+21d3 +0xe0 U+22c4 +0xe1 U+3008 +0xe2 U+fffd +0xe3 U+fffd +0xe4 U+fffd +0xe5 U+2211 +0xe6 U+fffd +0xe7 U+fffd +0xe8 U+fffd +0xe9 U+fffd +0xea U+fffd +0xeb U+fffd +0xec U+fffd +0xed U+fffd +0xee U+fffd +0xef U+f8f4 +0xf0 U+f8ff +0xf1 U+3009 +0xf2 U+222b +0xf3 U+2320 +0xf4 U+fffd +0xf5 U+2321 +0xf6 U+fffd +0xf7 U+fffd +0xf8 U+fffd +0xf9 U+fffd +0xfa U+fffd +0xfb U+fffd +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacThai.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacThai.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacThai.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00ab +0x81 U+00bb +0x82 U+2026 +0x83 U+f88c +0x84 U+f88f +0x85 U+f892 +0x86 U+f895 +0x87 U+f898 +0x88 U+f88b +0x89 U+f88e +0x8a U+f891 +0x8b U+f894 +0x8c U+f897 +0x8d U+201c +0x8e U+201d +0x8f U+f899 +0x90 U+fffd +0x91 U+2022 +0x92 U+f884 +0x93 U+f889 +0x94 U+f885 +0x95 U+f886 +0x96 U+f887 +0x97 U+f888 +0x98 U+f88a +0x99 U+f88d +0x9a U+f890 +0x9b U+f893 +0x9c U+f896 +0x9d U+2018 +0x9e U+2019 +0x9f U+fffd +0xa0 U+00a0 +0xa1 U+0e01 +0xa2 U+0e02 +0xa3 U+0e03 +0xa4 U+0e04 +0xa5 U+0e05 +0xa6 U+0e06 +0xa7 U+0e07 +0xa8 U+0e08 +0xa9 U+0e09 +0xaa U+0e0a +0xab U+0e0b +0xac U+0e0c +0xad U+0e0d +0xae U+0e0e +0xaf U+0e0f +0xb0 U+0e10 +0xb1 U+0e11 +0xb2 U+0e12 +0xb3 U+0e13 +0xb4 U+0e14 +0xb5 U+0e15 +0xb6 U+0e16 +0xb7 U+0e17 +0xb8 U+0e18 +0xb9 U+0e19 +0xba U+0e1a +0xbb U+0e1b +0xbc U+0e1c +0xbd U+0e1d +0xbe U+0e1e +0xbf U+0e1f +0xc0 U+0e20 +0xc1 U+0e21 +0xc2 U+0e22 +0xc3 U+0e23 +0xc4 U+0e24 +0xc5 U+0e25 +0xc6 U+0e26 +0xc7 U+0e27 +0xc8 U+0e28 +0xc9 U+0e29 +0xca U+0e2a +0xcb U+0e2b +0xcc U+0e2c +0xcd U+0e2d +0xce U+0e2e +0xcf U+0e2f +0xd0 U+0e30 +0xd1 U+0e31 +0xd2 U+0e32 +0xd3 U+0e33 +0xd4 U+0e34 +0xd5 U+0e35 +0xd6 U+0e36 +0xd7 U+0e37 +0xd8 U+0e38 +0xd9 U+0e39 +0xda U+0e3a +0xdb U+feff +0xdc U+200b +0xdd U+2013 +0xde U+2014 +0xdf U+0e3f +0xe0 U+0e40 +0xe1 U+0e41 +0xe2 U+0e42 +0xe3 U+0e43 +0xe4 U+0e44 +0xe5 U+0e45 +0xe6 U+0e46 +0xe7 U+0e47 +0xe8 U+0e48 +0xe9 U+0e49 +0xea U+0e4a +0xeb U+0e4b +0xec U+0e4c +0xed U+0e4d +0xee U+2122 +0xef U+0e4f +0xf0 U+0e50 +0xf1 U+0e51 +0xf2 U+0e52 +0xf3 U+0e53 +0xf4 U+0e54 +0xf5 U+0e55 +0xf6 U+0e56 +0xf7 U+0e57 +0xf8 U+0e58 +0xf9 U+0e59 +0xfa U+00ae +0xfb U+00a9 +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacTurkish.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacTurkish.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacTurkish.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+00c4 +0x81 U+00c5 +0x82 U+00c7 +0x83 U+00c9 +0x84 U+00d1 +0x85 U+00d6 +0x86 U+00dc +0x87 U+00e1 +0x88 U+00e0 +0x89 U+00e2 +0x8a U+00e4 +0x8b U+00e3 +0x8c U+00e5 +0x8d U+00e7 +0x8e U+00e9 +0x8f U+00e8 +0x90 U+00ea +0x91 U+00eb +0x92 U+00ed +0x93 U+00ec +0x94 U+00ee +0x95 U+00ef +0x96 U+00f1 +0x97 U+00f3 +0x98 U+00f2 +0x99 U+00f4 +0x9a U+00f6 +0x9b U+00f5 +0x9c U+00fa +0x9d U+00f9 +0x9e U+00fb +0x9f U+00fc +0xa0 U+2020 +0xa1 U+00b0 +0xa2 U+00a2 +0xa3 U+00a3 +0xa4 U+00a7 +0xa5 U+2022 +0xa6 U+00b6 +0xa7 U+00df +0xa8 U+00ae +0xa9 U+00a9 +0xaa U+2122 +0xab U+00b4 +0xac U+00a8 +0xad U+2260 +0xae U+00c6 +0xaf U+00d8 +0xb0 U+221e +0xb1 U+00b1 +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+00a5 +0xb5 U+00b5 +0xb6 U+2202 +0xb7 U+2211 +0xb8 U+220f +0xb9 U+03c0 +0xba U+222b +0xbb U+00aa +0xbc U+00ba +0xbd U+2126 +0xbe U+00e6 +0xbf U+00f8 +0xc0 U+00bf +0xc1 U+00a1 +0xc2 U+00ac +0xc3 U+221a +0xc4 U+0192 +0xc5 U+2248 +0xc6 U+2206 +0xc7 U+00ab +0xc8 U+00bb +0xc9 U+2026 +0xca U+00a0 +0xcb U+00c0 +0xcc U+00c3 +0xcd U+00d5 +0xce U+0152 +0xcf U+0153 +0xd0 U+2013 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+25ca +0xd8 U+00ff +0xd9 U+0178 +0xda U+011e +0xdb U+011f +0xdc U+0130 +0xdd U+0131 +0xde U+015e +0xdf U+015f +0xe0 U+2021 +0xe1 U+00b7 +0xe2 U+201a +0xe3 U+201e +0xe4 U+2030 +0xe5 U+00c2 +0xe6 U+00ca +0xe7 U+00c1 +0xe8 U+00cb +0xe9 U+00c8 +0xea U+00cd +0xeb U+00ce +0xec U+00cf +0xed U+00cc +0xee U+00d3 +0xef U+00d4 +0xf0 U+f8ff +0xf1 U+00d2 +0xf2 U+00da +0xf3 U+00db +0xf4 U+00d9 +0xf5 U+fffd +0xf6 U+02c6 +0xf7 U+02dc +0xf8 U+00af +0xf9 U+02d8 +0xfa U+02d9 +0xfb U+02da +0xfc U+00b8 +0xfd U+02dd +0xfe U+02db +0xff U+02c7 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/MacUkraine.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/MacUkraine.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from MacUkraine.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+0410 +0x81 U+0411 +0x82 U+0412 +0x83 U+0413 +0x84 U+0414 +0x85 U+0415 +0x86 U+0416 +0x87 U+0417 +0x88 U+0418 +0x89 U+0419 +0x8a U+041a +0x8b U+041b +0x8c U+041c +0x8d U+041d +0x8e U+041e +0x8f U+041f +0x90 U+0420 +0x91 U+0421 +0x92 U+0422 +0x93 U+0423 +0x94 U+0424 +0x95 U+0425 +0x96 U+0426 +0x97 U+0427 +0x98 U+0428 +0x99 U+0429 +0x9a U+042a +0x9b U+042b +0x9c U+042c +0x9d U+042d +0x9e U+042e +0x9f U+042f +0xa0 U+2020 +0xa1 U+00b0 +0xa2 U+0490 +0xa3 U+00a3 +0xa4 U+00a7 +0xa5 U+2022 +0xa6 U+00b6 +0xa7 U+0406 +0xa8 U+00ae +0xa9 U+00a9 +0xaa U+2122 +0xab U+0402 +0xac U+0452 +0xad U+2260 +0xae U+0403 +0xaf U+0453 +0xb0 U+221e +0xb1 U+00b1 +0xb2 U+2264 +0xb3 U+2265 +0xb4 U+0456 +0xb5 U+00b5 +0xb6 U+0491 +0xb7 U+0408 +0xb8 U+0404 +0xb9 U+0454 +0xba U+0407 +0xbb U+0457 +0xbc U+0409 +0xbd U+0459 +0xbe U+040a +0xbf U+045a +0xc0 U+0458 +0xc1 U+0405 +0xc2 U+00ac +0xc3 U+221a +0xc4 U+0192 +0xc5 U+2248 +0xc6 U+2206 +0xc7 U+00ab +0xc8 U+00bb +0xc9 U+2026 +0xca U+00a0 +0xcb U+040b +0xcc U+045b +0xcd U+040c +0xce U+045c +0xcf U+0455 +0xd0 U+2013 +0xd1 U+2014 +0xd2 U+201c +0xd3 U+201d +0xd4 U+2018 +0xd5 U+2019 +0xd6 U+00f7 +0xd7 U+201e +0xd8 U+040e +0xd9 U+045e +0xda U+040f +0xdb U+045f +0xdc U+2116 +0xdd U+0401 +0xde U+0451 +0xdf U+044f +0xe0 U+0430 +0xe1 U+0431 +0xe2 U+0432 +0xe3 U+0433 +0xe4 U+0434 +0xe5 U+0435 +0xe6 U+0436 +0xe7 U+0437 +0xe8 U+0438 +0xe9 U+0439 +0xea U+043a +0xeb U+043b +0xec U+043c +0xed U+043d +0xee U+043e +0xef U+043f +0xf0 U+0440 +0xf1 U+0441 +0xf2 U+0442 +0xf3 U+0443 +0xf4 U+0444 +0xf5 U+0445 +0xf6 U+0446 +0xf7 U+0447 +0xf8 U+0448 +0xf9 U+0449 +0xfa U+044a +0xfb U+044b +0xfc U+044c +0xfd U+044d +0xfe U+044e +0xff U+00a4 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/SingleByte-X.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/SingleByte-X.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,83 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package $PACKAGE$; + +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CharsetEncoder; +import sun.nio.cs.StandardCharsets; +import sun.nio.cs.SingleByte; +import sun.nio.cs.HistoricallyNamedCharset; +import static sun.nio.cs.CharsetMapping.*; + +public class $NAME_CLZ$ extends Charset implements HistoricallyNamedCharset +{ + public $NAME_CLZ$() { + super("$NAME_CS$", $NAME_ALIASES$); + } + + public String historicalName() { + return "$NAME_HIS$"; + } + + public boolean contains(Charset cs) { + $CONTAINS$; + } + + public CharsetDecoder newDecoder() { + return new SingleByte.Decoder(this, b2c); + } + + public CharsetEncoder newEncoder() { + return new SingleByte.Encoder(this, c2b, c2bIndex); + } + + public String getDecoderSingleByteMappings() { + return b2cTable; + } + + public char[] getEncoderIndex2() { + return c2b; + } + + public char[] getEncoderIndex1() { + return c2bIndex; + } + + private final static String b2cTable = $B2CTABLE$ + + private final static char[] b2c = b2cTable.toCharArray(); + private final static char[] c2b = new char[$C2BLENGTH$]; + private final static char[] c2bIndex = new char[0x100]; + + static { + char[] b2cMap = b2c; + char[] c2bNR = null; + $NONROUNDTRIP_B2C$ + $NONROUNDTRIP_C2B$ + SingleByte.initC2B(b2cMap, c2bNR, c2b, c2bIndex); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/TIS_620.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/TIS_620.map Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,257 @@ +#Generated from TIS_620.java +0x00 U+0000 +0x01 U+0001 +0x02 U+0002 +0x03 U+0003 +0x04 U+0004 +0x05 U+0005 +0x06 U+0006 +0x07 U+0007 +0x08 U+0008 +0x09 U+0009 +0x0a U+000a +0x0b U+000b +0x0c U+000c +0x0d U+000d +0x0e U+000e +0x0f U+000f +0x10 U+0010 +0x11 U+0011 +0x12 U+0012 +0x13 U+0013 +0x14 U+0014 +0x15 U+0015 +0x16 U+0016 +0x17 U+0017 +0x18 U+0018 +0x19 U+0019 +0x1a U+001a +0x1b U+001b +0x1c U+001c +0x1d U+001d +0x1e U+001e +0x1f U+001f +0x20 U+0020 +0x21 U+0021 +0x22 U+0022 +0x23 U+0023 +0x24 U+0024 +0x25 U+0025 +0x26 U+0026 +0x27 U+0027 +0x28 U+0028 +0x29 U+0029 +0x2a U+002a +0x2b U+002b +0x2c U+002c +0x2d U+002d +0x2e U+002e +0x2f U+002f +0x30 U+0030 +0x31 U+0031 +0x32 U+0032 +0x33 U+0033 +0x34 U+0034 +0x35 U+0035 +0x36 U+0036 +0x37 U+0037 +0x38 U+0038 +0x39 U+0039 +0x3a U+003a +0x3b U+003b +0x3c U+003c +0x3d U+003d +0x3e U+003e +0x3f U+003f +0x40 U+0040 +0x41 U+0041 +0x42 U+0042 +0x43 U+0043 +0x44 U+0044 +0x45 U+0045 +0x46 U+0046 +0x47 U+0047 +0x48 U+0048 +0x49 U+0049 +0x4a U+004a +0x4b U+004b +0x4c U+004c +0x4d U+004d +0x4e U+004e +0x4f U+004f +0x50 U+0050 +0x51 U+0051 +0x52 U+0052 +0x53 U+0053 +0x54 U+0054 +0x55 U+0055 +0x56 U+0056 +0x57 U+0057 +0x58 U+0058 +0x59 U+0059 +0x5a U+005a +0x5b U+005b +0x5c U+005c +0x5d U+005d +0x5e U+005e +0x5f U+005f +0x60 U+0060 +0x61 U+0061 +0x62 U+0062 +0x63 U+0063 +0x64 U+0064 +0x65 U+0065 +0x66 U+0066 +0x67 U+0067 +0x68 U+0068 +0x69 U+0069 +0x6a U+006a +0x6b U+006b +0x6c U+006c +0x6d U+006d +0x6e U+006e +0x6f U+006f +0x70 U+0070 +0x71 U+0071 +0x72 U+0072 +0x73 U+0073 +0x74 U+0074 +0x75 U+0075 +0x76 U+0076 +0x77 U+0077 +0x78 U+0078 +0x79 U+0079 +0x7a U+007a +0x7b U+007b +0x7c U+007c +0x7d U+007d +0x7e U+007e +0x7f U+007f +0x80 U+fffd +0x81 U+fffd +0x82 U+fffd +0x83 U+fffd +0x84 U+fffd +0x85 U+fffd +0x86 U+fffd +0x87 U+fffd +0x88 U+fffd +0x89 U+fffd +0x8a U+fffd +0x8b U+fffd +0x8c U+fffd +0x8d U+fffd +0x8e U+fffd +0x8f U+fffd +0x90 U+fffd +0x91 U+fffd +0x92 U+fffd +0x93 U+fffd +0x94 U+fffd +0x95 U+fffd +0x96 U+fffd +0x97 U+fffd +0x98 U+fffd +0x99 U+fffd +0x9a U+fffd +0x9b U+fffd +0x9c U+fffd +0x9d U+fffd +0x9e U+fffd +0x9f U+fffd +0xa0 U+00a0 +0xa1 U+0e01 +0xa2 U+0e02 +0xa3 U+0e03 +0xa4 U+0e04 +0xa5 U+0e05 +0xa6 U+0e06 +0xa7 U+0e07 +0xa8 U+0e08 +0xa9 U+0e09 +0xaa U+0e0a +0xab U+0e0b +0xac U+0e0c +0xad U+0e0d +0xae U+0e0e +0xaf U+0e0f +0xb0 U+0e10 +0xb1 U+0e11 +0xb2 U+0e12 +0xb3 U+0e13 +0xb4 U+0e14 +0xb5 U+0e15 +0xb6 U+0e16 +0xb7 U+0e17 +0xb8 U+0e18 +0xb9 U+0e19 +0xba U+0e1a +0xbb U+0e1b +0xbc U+0e1c +0xbd U+0e1d +0xbe U+0e1e +0xbf U+0e1f +0xc0 U+0e20 +0xc1 U+0e21 +0xc2 U+0e22 +0xc3 U+0e23 +0xc4 U+0e24 +0xc5 U+0e25 +0xc6 U+0e26 +0xc7 U+0e27 +0xc8 U+0e28 +0xc9 U+0e29 +0xca U+0e2a +0xcb U+0e2b +0xcc U+0e2c +0xcd U+0e2d +0xce U+0e2e +0xcf U+0e2f +0xd0 U+0e30 +0xd1 U+0e31 +0xd2 U+0e32 +0xd3 U+0e33 +0xd4 U+0e34 +0xd5 U+0e35 +0xd6 U+0e36 +0xd7 U+0e37 +0xd8 U+0e38 +0xd9 U+0e39 +0xda U+0e3a +0xdb U+fffd +0xdc U+fffd +0xdd U+fffd +0xde U+fffd +0xdf U+0e3f +0xe0 U+0e40 +0xe1 U+0e41 +0xe2 U+0e42 +0xe3 U+0e43 +0xe4 U+0e44 +0xe5 U+0e45 +0xe6 U+0e46 +0xe7 U+0e47 +0xe8 U+0e48 +0xe9 U+0e49 +0xea U+0e4a +0xeb U+0e4b +0xec U+0e4c +0xed U+0e4d +0xee U+0e4e +0xef U+0e4f +0xf0 U+0e50 +0xf1 U+0e51 +0xf2 U+0e52 +0xf3 U+0e53 +0xf4 U+0e54 +0xf5 U+0e55 +0xf6 U+0e56 +0xf7 U+0e57 +0xf8 U+0e58 +0xf9 U+0e59 +0xfa U+0e5a +0xfb U+0e5b +0xfc U+fffd +0xfd U+fffd +0xfe U+fffd +0xff U+fffd diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/extsbcs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/extsbcs Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,74 @@ +# clzName csName hisName containASCII pkg +IBM037 IBM037 Cp037 false sun.nio.cs.ext +IBM1006 x-IBM1006 Cp1006 false sun.nio.cs.ext +IBM1025 x-IBM1025 Cp1025 false sun.nio.cs.ext +IBM1026 IBM1026 Cp1026 false sun.nio.cs.ext +IBM1046 x-IBM1046 Cp1046 false sun.nio.cs.ext +IBM1047 IBM1047 Cp1047 false sun.nio.cs.ext +IBM1097 x-IBM1097 Cp1097 false sun.nio.cs.ext +IBM1098 x-IBM1098 Cp1098 false sun.nio.cs.ext +IBM1112 x-IBM1112 Cp1112 false sun.nio.cs.ext +IBM1122 x-IBM1122 Cp1122 false sun.nio.cs.ext +IBM1123 x-IBM1123 Cp1123 false sun.nio.cs.ext +IBM1124 x-IBM1124 Cp1124 false sun.nio.cs.ext +# map tables for 1140-1149 are updated manualy with the u+20ac entry +IBM1140 IBM01140 Cp1140 false sun.nio.cs.ext +IBM1141 IBM01141 Cp1141 false sun.nio.cs.ext +IBM1142 IBM01142 Cp1142 false sun.nio.cs.ext +IBM1143 IBM01143 Cp1143 false sun.nio.cs.ext +IBM1144 IBM01144 Cp1144 false sun.nio.cs.ext +IBM1145 IBM01145 Cp1145 false sun.nio.cs.ext +IBM1146 IBM01146 Cp1146 false sun.nio.cs.ext +IBM1147 IBM01147 Cp1147 false sun.nio.cs.ext +IBM1148 IBM01148 Cp1148 false sun.nio.cs.ext +IBM1149 IBM01149 Cp1149 false sun.nio.cs.ext +IBM273 IBM273 Cp273 false sun.nio.cs.ext +IBM277 IBM277 Cp277 false sun.nio.cs.ext +IBM278 IBM278 Cp278 false sun.nio.cs.ext +IBM280 IBM280 Cp280 false sun.nio.cs.ext +IBM284 IBM284 Cp284 false sun.nio.cs.ext +IBM285 IBM285 Cp285 false sun.nio.cs.ext +IBM297 IBM297 Cp297 false sun.nio.cs.ext +IBM420 IBM420 Cp420 false sun.nio.cs.ext +IBM424 IBM424 Cp424 false sun.nio.cs.ext +IBM500 IBM500 Cp500 false sun.nio.cs.ext +IBM838 IBM-Thai Cp838 false sun.nio.cs.ext +IBM856 x-IBM856 Cp856 false sun.nio.cs.ext +IBM860 IBM860 Cp860 false sun.nio.cs.ext +IBM861 IBM861 Cp861 false sun.nio.cs.ext +IBM863 IBM863 Cp863 false sun.nio.cs.ext +IBM864 IBM864 Cp864 false sun.nio.cs.ext +IBM865 IBM865 Cp865 false sun.nio.cs.ext +IBM868 IBM868 Cp868 false sun.nio.cs.ext +IBM869 IBM869 Cp869 false sun.nio.cs.ext +IBM870 IBM870 Cp870 false sun.nio.cs.ext +IBM871 IBM871 Cp871 false sun.nio.cs.ext +IBM875 x-IBM875 Cp875 false sun.nio.cs.ext +IBM918 IBM918 Cp918 false sun.nio.cs.ext +IBM921 x-IBM921 Cp921 false sun.nio.cs.ext +IBM922 x-IBM922 Cp922 false sun.nio.cs.ext +# use name as hisname as well, cs did not support hisname prevously +ISO_8859_11 x-iso-8859-11 x-iso-8859-11 true sun.nio.cs.ext +ISO_8859_3 ISO-8859-3 ISO8859_3 true sun.nio.cs.ext +ISO_8859_6 ISO-8859-6 ISO8859_6 true sun.nio.cs.ext +ISO_8859_8 ISO-8859-8 ISO8859_8 true sun.nio.cs.ext +#JIS_X_0201 JIS_X0201 JIS_X0201 true sun.nio.cs.ext +MS1255 windows-1255 Cp1255 true sun.nio.cs.ext +MS1256 windows-1256 Cp1256 true sun.nio.cs.ext +MS1258 windows-1258 Cp1258 true sun.nio.cs.ext +MS874 x-windows-874 MS874 true sun.nio.cs.ext +MacArabic x-MacArabic MacArabic false sun.nio.cs.ext +MacCentralEurope x-MacCentralEurope MacCentralEurope false sun.nio.cs.ext +MacCroatian x-MacCroatian MacCroatian false sun.nio.cs.ext +MacCyrillic x-MacCyrillic MacCyrillic false sun.nio.cs.ext +MacDingbat x-MacDingbat MacDingbat false sun.nio.cs.ext +MacGreek x-MacGreek MacGreek false sun.nio.cs.ext +MacHebrew x-MacHebrew MacHebrew false sun.nio.cs.ext +MacIceland x-MacIceland MacIceland false sun.nio.cs.ext +MacRoman x-MacRoman MacRoman false sun.nio.cs.ext +MacRomania x-MacRomania MacRomania false sun.nio.cs.ext +MacSymbol x-MacSymbol MacSymbol false sun.nio.cs.ext +MacThai x-MacThai MacThai false sun.nio.cs.ext +MacTurkish x-MacTurkish MacTurkish false sun.nio.cs.ext +MacUkraine x-MacUkraine MacUkraine false sun.nio.cs.ext +TIS_620 TIS-620 TIS620 true sun.nio.cs.ext diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/CharsetMapping/sbcs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/sbcs Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,28 @@ +# clzName csName hisName containASCII pkg +IBM437 IBM437 Cp437 false sun.nio.cs +IBM737 x-IBM737 Cp737 false sun.nio.cs +IBM775 IBM775 Cp775 false sun.nio.cs +IBM850 IBM850 Cp850 false sun.nio.cs +IBM852 IBM852 Cp852 false sun.nio.cs +IBM855 IBM855 Cp855 false sun.nio.cs +IBM857 IBM857 Cp857 false sun.nio.cs +IBM858 IBM00858 Cp858 false sun.nio.cs +IBM862 IBM862 Cp862 false sun.nio.cs +IBM866 IBM866 Cp866 false sun.nio.cs +IBM874 x-IBM874 Cp874 false sun.nio.cs +ISO_8859_2 ISO-8859-2 ISO8859_2 true sun.nio.cs +ISO_8859_4 ISO-8859-4 ISO8859_4 true sun.nio.cs +ISO_8859_5 ISO-8859-5 ISO8859_5 true sun.nio.cs +ISO_8859_7 ISO-8859-7 ISO8859_7 true sun.nio.cs +ISO_8859_9 ISO-8859-9 ISO8859_9 true sun.nio.cs +ISO_8859_13 ISO-8859-13 ISO8859_13 true sun.nio.cs +ISO_8859_15 ISO-8859-15 ISO8859_15 true sun.nio.cs +KOI8_R KOI8-R KOI8_R true sun.nio.cs +KOI8_U KOI8-U KOI8_U true sun.nio.cs +MS1250 windows-1250 Cp1250 true sun.nio.cs +MS1251 windows-1251 Cp1251 true sun.nio.cs +MS1252 windows-1252 Cp1252 true sun.nio.cs +MS1253 windows-1253 Cp1253 true sun.nio.cs +MS1254 windows-1254 Cp1254 true sun.nio.cs +MS1257 windows-1257 Cp1257 true sun.nio.cs + diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/src/build/tools/charsetmapping/GenerateMapping.java --- a/jdk/make/tools/src/build/tools/charsetmapping/GenerateMapping.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/make/tools/src/build/tools/charsetmapping/GenerateMapping.java Wed Jul 05 16:45:14 2017 +0200 @@ -27,12 +27,13 @@ import java.io.*; import java.util.regex.*; +import build.tools.charsetmapping.GenerateSBCS; import static build.tools.charsetmapping.CharsetMapping.*; public class GenerateMapping { public static void main(String argv[]) throws IOException { if (argv.length < 2) { - System.out.println("Usage: java GenCSData fMap fDat"); + System.out.println("Usage: java GenerateMapping fMap fDat"); System.exit(1); } genDataJIS0213(new FileInputStream(argv[0]), diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,262 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package build.tools.charsetmapping; + +import java.io.*; +import java.util.ArrayList; +import java.util.Scanner; +import java.util.Formatter; +import java.util.regex.*; +import java.nio.charset.*; +import static build.tools.charsetmapping.CharsetMapping.*; + +public class GenerateSBCS { + public static void main(String args[]) throws Exception { + if (args.length < 3) { + System.err.println("Usage: java GenSBCS srcDir dstDir config"); + System.exit(1); + } + + Scanner s = new Scanner(new File(args[0], args[2])); + while (s.hasNextLine()) { + String line = s.nextLine(); + if (line.startsWith("#") || line.length() == 0) + continue; + String[] fields = line.split("\\s+"); + if (fields.length < 5) { + System.err.println("Misconfiged sbcs line <" + line + ">?"); + continue; + } + String clzName = fields[0]; + String csName = fields[1]; + String hisName = fields[2]; + boolean isASCII = Boolean.valueOf(fields[3]); + String pkgName = fields[4]; + System.out.printf("%s,%s,%s,%b,%s%n", clzName, csName, hisName, isASCII, pkgName); + + StringBuilder b2c = new StringBuilder(); + int c2bLen = genB2C( + new FileInputStream(new File(args[0], clzName+".map")), b2c); + + String b2cNR = null; + File nrF = new File(args[0], clzName+".nr"); + if (nrF.exists()) { + b2cNR = genNR(new FileInputStream(nrF)); + } + + String c2bNR = null; + File c2bF = new File(args[0], clzName+".c2b"); + if (c2bF.exists()) { + c2bNR = genC2BNR(new FileInputStream(c2bF)); + } + + genSBCSClass(args[0], args[1], "SingleByte-X.java", + clzName, csName, hisName, pkgName, isASCII, + b2c.toString(), b2cNR, c2bNR, c2bLen); + } + } + + private static void toString(char[] sb, int off, int end, + Formatter out, String closure) { + while (off < end) { + out.format(" \""); + for (int j = 0; j < 8; j++) { + char c = sb[off++]; + switch (c) { + case '\b': + out.format("\\b"); break; + case '\t': + out.format("\\t"); break; + case '\n': + out.format("\\n"); break; + case '\f': + out.format("\\f"); break; + case '\r': + out.format("\\r"); break; + case '\"': + out.format("\\\""); break; + case '\'': + out.format("\\'"); break; + case '\\': + out.format("\\\\"); break; + default: + out.format("\\u%04X", c & 0xffff); + } + } + if (off == end) + out.format("\" %s // 0x%02x - 0x%02x%n", closure, off-8, off-1); + else + out.format("\" + // 0x%02x - 0x%02x%n", off-8, off-1); + } + } + + static Pattern sbmap = Pattern.compile("0x(\\p{XDigit}++)\\s++U\\+(\\p{XDigit}++)(\\s++#.*)?"); + private static int genB2C(InputStream in, StringBuilder out) + throws Exception + { + char[] sb = new char[0x100]; + int[] indexC2B = new int[0x100]; + + for (int i = 0; i < sb.length; i++) + sb[i] = UNMAPPABLE_DECODING; + + // parse the b2c mapping table + Parser p = new Parser(in, sbmap); + Entry e = null; + int off = 0; + while ((e = p.next()) != null) { + sb[e.bs] = (char)e.cp; + if (indexC2B[e.cp>>8] == 0) { + off += 0x100; + indexC2B[e.cp>>8] = 1; + } + } + + Formatter fm = new Formatter(out); + fm.format("%n"); + + // vm -server shows cc[byte + 128] access is much faster than + // cc[byte&0xff] so we output the upper segment first + toString(sb, 0x80, 0x100, fm, "+"); + toString(sb, 0x00, 0x80, fm, ";"); + + fm.close(); + return off; + } + + // generate non-roundtrip entries from xxx.nr file + private static String genNR(InputStream in) throws Exception + { + StringBuilder sb = new StringBuilder(); + Formatter fm = new Formatter(sb); + Parser p = new Parser(in, sbmap); + Entry e = null; + fm.format("// remove non-roundtrip entries%n"); + fm.format(" b2cMap = b2cTable.toCharArray();%n"); + while ((e = p.next()) != null) { + fm.format(" b2cMap[%d] = UNMAPPABLE_DECODING;%n", + (e.bs>=0x80)?(e.bs-0x80):(e.bs+0x80)); + } + fm.close(); + return sb.toString(); + } + + // generate c2b only entries from xxx.c2b file + private static String genC2BNR(InputStream in) throws Exception + { + StringBuilder sb = new StringBuilder(); + Formatter fm = new Formatter(sb); + Parser p = new Parser(in, sbmap); + ArrayList es = new ArrayList(); + Entry e = null; + while ((e = p.next()) != null) { + es.add(e); + } + + fm.format("// non-roundtrip c2b only entries%n"); + fm.format(" c2bNR = new char[%d];%n", es.size() * 2); + int i = 0; + for (Entry entry: es) { + fm.format(" c2bNR[%d] = 0x%x; c2bNR[%d] = 0x%x;%n", + i++, entry.bs, i++, entry.cp); + } + fm.close(); + return sb.toString(); + } + + private static void genSBCSClass(String srcDir, + String dstDir, + String template, + String clzName, + String csName, + String hisName, + String pkgName, + boolean isASCII, + String b2c, + String b2cNR, + String c2bNR, + int c2blen) + throws Exception + { + Scanner s = new Scanner(new File(srcDir, template)); + PrintStream out = new PrintStream(new FileOutputStream( + new File(dstDir, clzName + ".java"))); + + while (s.hasNextLine()) { + String line = s.nextLine(); + int i = line.indexOf("$"); + if (i == -1) { + out.println(line); + continue; + } + if (line.indexOf("$PACKAGE$", i) != -1) { + line = line.replace("$PACKAGE$", pkgName); + } + if (line.indexOf("$NAME_CLZ$", i) != -1) { + line = line.replace("$NAME_CLZ$", clzName); + } + if (line.indexOf("$NAME_CS$", i) != -1) { + line = line.replace("$NAME_CS$", csName); + } + if (line.indexOf("$NAME_ALIASES$", i) != -1) { + if ("sun.nio.cs".equals(pkgName)) + line = line.replace("$NAME_ALIASES$", + "StandardCharsets.aliases_" + clzName); + else + line = line.replace("$NAME_ALIASES$", + "ExtendedCharsets.aliasesFor(\"" + csName + "\")"); + } + if (line.indexOf("$NAME_HIS$", i) != -1) { + line = line.replace("$NAME_HIS$", hisName); + } + if (line.indexOf("$CONTAINS$", i) != -1) { + if (isASCII) + line = " return ((cs.name().equals(\"US-ASCII\")) || (cs instanceof " + clzName + "));"; + else + line = " return (cs instanceof " + clzName + ");"; + } + if (line.indexOf("$B2CTABLE$") != -1) { + line = line.replace("$B2CTABLE$", b2c); + } + if (line.indexOf("$C2BLENGTH$") != -1) { + line = line.replace("$C2BLENGTH$", "0x" + Integer.toString(c2blen, 16)); + } + if (line.indexOf("$NONROUNDTRIP_B2C$") != -1) { + if (b2cNR == null) + continue; + line = line.replace("$NONROUNDTRIP_B2C$", b2cNR); + } + + if (line.indexOf("$NONROUNDTRIP_C2B$") != -1) { + if (c2bNR == null) + continue; + line = line.replace("$NONROUNDTRIP_C2B$", c2bNR); + } + out.println(line); + } + out.close(); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java --- a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java Wed Jul 05 16:45:14 2017 +0200 @@ -44,7 +44,6 @@ import java.util.Arrays; import java.util.Enumeration; import java.util.Iterator; -import java.util.List; import java.util.zip.Inflater; import java.util.zip.InflaterInputStream; import javax.imageio.IIOException; @@ -57,6 +56,7 @@ import com.sun.imageio.plugins.common.InputStreamAdapter; import com.sun.imageio.plugins.common.ReaderUtil; import com.sun.imageio.plugins.common.SubImageInputStream; +import java.io.ByteArrayOutputStream; import sun.awt.image.ByteInterleavedRaster; class PNGImageDataEnumeration implements Enumeration { @@ -207,6 +207,15 @@ resetStreamSettings(); } + private String readNullTerminatedString(String charset) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + int b; + while ((b = stream.read()) != 0) { + baos.write(b); + } + return new String(baos.toByteArray(), charset); + } + private String readNullTerminatedString() throws IOException { StringBuilder b = new StringBuilder(); int c; @@ -445,26 +454,27 @@ metadata.iTXt_keyword.add(keyword); int compressionFlag = stream.readUnsignedByte(); - metadata.iTXt_compressionFlag.add(new Integer(compressionFlag)); + metadata.iTXt_compressionFlag.add(Boolean.valueOf(compressionFlag == 1)); int compressionMethod = stream.readUnsignedByte(); - metadata.iTXt_compressionMethod.add(new Integer(compressionMethod)); + metadata.iTXt_compressionMethod.add(Integer.valueOf(compressionMethod)); - String languageTag = readNullTerminatedString(); + String languageTag = readNullTerminatedString("UTF8"); metadata.iTXt_languageTag.add(languageTag); - String translatedKeyword = stream.readUTF(); + String translatedKeyword = + readNullTerminatedString("UTF8"); metadata.iTXt_translatedKeyword.add(translatedKeyword); - stream.skipBytes(1); // Null separator String text; + long pos = stream.getStreamPosition(); + byte[] b = new byte[(int)(chunkStart + chunkLength - pos)]; + stream.readFully(b); + if (compressionFlag == 1) { // Decompress the text - long pos = stream.getStreamPosition(); - byte[] b = new byte[(int)(chunkStart + chunkLength - pos)]; - stream.readFully(b); - text = inflate(b); + text = new String(inflate(b), "UTF8"); } else { - text = stream.readUTF(); + text = new String(b, "UTF8"); } metadata.iTXt_text.add(text); } @@ -613,15 +623,20 @@ metadata.tRNS_present = true; } - private static String inflate(byte[] b) throws IOException { + private static byte[] inflate(byte[] b) throws IOException { InputStream bais = new ByteArrayInputStream(b); InputStream iis = new InflaterInputStream(bais); - StringBuilder sb = new StringBuilder(80); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + int c; - while ((c = iis.read()) != -1) { - sb.append((char)c); + try { + while ((c = iis.read()) != -1) { + baos.write(c); + } + } finally { + iis.close(); } - return sb.toString(); + return baos.toByteArray(); } private void parse_zTXt_chunk(int chunkLength) throws IOException { @@ -633,7 +648,7 @@ byte[] b = new byte[chunkLength - keyword.length() - 2]; stream.readFully(b); - metadata.zTXt_text.add(inflate(b)); + metadata.zTXt_text.add(new String(inflate(b))); } private void readMetadata() throws IIOException { @@ -1244,13 +1259,26 @@ destinationBands = param.getDestinationBands(); destinationOffset = param.getDestinationOffset(); } - + Inflater inf = null; try { stream.seek(imageStartPosition); Enumeration e = new PNGImageDataEnumeration(stream); InputStream is = new SequenceInputStream(e); - is = new InflaterInputStream(is, new Inflater()); + + /* InflaterInputStream uses an Inflater instance which consumes + * native (non-GC visible) resources. This is normally implicitly + * freed when the stream is closed. However since the + * InflaterInputStream wraps a client-supplied input stream, + * we cannot close it. + * But the app may depend on GC finalization to close the stream. + * Therefore to ensure timely freeing of native resources we + * explicitly create the Inflater instance and free its resources + * when we are done with the InflaterInputStream by calling + * inf.end(); + */ + inf = new Inflater(); + is = new InflaterInputStream(is, inf); is = new BufferedInputStream(is); this.pixelStream = new DataInputStream(is); @@ -1283,6 +1311,10 @@ } } catch (IOException e) { throw new IIOException("Error reading PNG image data", e); + } finally { + if (inf != null) { + inf.end(); + } } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java --- a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java Wed Jul 05 16:45:14 2017 +0200 @@ -244,13 +244,17 @@ } public void finish() throws IOException { - if (!def.finished()) { - def.finish(); - while (!def.finished()) { - deflate(); + try { + if (!def.finished()) { + def.finish(); + while (!def.finished()) { + deflate(); + } } + finishChunk(); + } finally { + def.end(); } - finishChunk(); } protected void finalize() throws Throwable { @@ -667,13 +671,13 @@ } } - private byte[] deflate(String s) throws IOException { + private byte[] deflate(byte[] b) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DeflaterOutputStream dos = new DeflaterOutputStream(baos); - int len = s.length(); + int len = b.length; for (int i = 0; i < len; i++) { - dos.write((int)s.charAt(i)); + dos.write((int)(0xff & b[i])); } dos.close(); @@ -681,38 +685,37 @@ } private void write_iTXt() throws IOException { - Iterator keywordIter = metadata.iTXt_keyword.iterator(); - Iterator flagIter = metadata.iTXt_compressionFlag.iterator(); - Iterator methodIter = metadata.iTXt_compressionMethod.iterator(); - Iterator languageIter = metadata.iTXt_languageTag.iterator(); - Iterator translatedKeywordIter = + Iterator keywordIter = metadata.iTXt_keyword.iterator(); + Iterator flagIter = metadata.iTXt_compressionFlag.iterator(); + Iterator methodIter = metadata.iTXt_compressionMethod.iterator(); + Iterator languageIter = metadata.iTXt_languageTag.iterator(); + Iterator translatedKeywordIter = metadata.iTXt_translatedKeyword.iterator(); - Iterator textIter = metadata.iTXt_text.iterator(); + Iterator textIter = metadata.iTXt_text.iterator(); while (keywordIter.hasNext()) { ChunkStream cs = new ChunkStream(PNGImageReader.iTXt_TYPE, stream); - String keyword = (String)keywordIter.next(); - cs.writeBytes(keyword); + + cs.writeBytes(keywordIter.next()); cs.writeByte(0); - int flag = ((Integer)flagIter.next()).intValue(); - cs.writeByte(flag); - int method = ((Integer)methodIter.next()).intValue(); - cs.writeByte(method); + Boolean compressed = flagIter.next(); + cs.writeByte(compressed ? 1 : 0); - String languageTag = (String)languageIter.next(); - cs.writeBytes(languageTag); + cs.writeByte(methodIter.next().intValue()); + + cs.writeBytes(languageIter.next()); cs.writeByte(0); - String translatedKeyword = (String)translatedKeywordIter.next(); - cs.writeBytes(translatedKeyword); + + cs.write(translatedKeywordIter.next().getBytes("UTF8")); cs.writeByte(0); - String text = (String)textIter.next(); - if (flag == 1) { - cs.write(deflate(text)); + String text = textIter.next(); + if (compressed) { + cs.write(deflate(text.getBytes("UTF8"))); } else { - cs.writeUTF(text); + cs.write(text.getBytes("UTF8")); } cs.finish(); } @@ -733,7 +736,7 @@ cs.writeByte(compressionMethod); String text = (String)textIter.next(); - cs.write(deflate(text)); + cs.write(deflate(text.getBytes())); cs.finish(); } } @@ -928,23 +931,24 @@ // Use sourceXOffset, etc. private void write_IDAT(RenderedImage image) throws IOException { IDATOutputStream ios = new IDATOutputStream(stream, 32768); - - if (metadata.IHDR_interlaceMethod == 1) { - for (int i = 0; i < 7; i++) { - encodePass(ios, image, - PNGImageReader.adam7XOffset[i], - PNGImageReader.adam7YOffset[i], - PNGImageReader.adam7XSubsampling[i], - PNGImageReader.adam7YSubsampling[i]); - if (abortRequested()) { - break; + try { + if (metadata.IHDR_interlaceMethod == 1) { + for (int i = 0; i < 7; i++) { + encodePass(ios, image, + PNGImageReader.adam7XOffset[i], + PNGImageReader.adam7YOffset[i], + PNGImageReader.adam7XSubsampling[i], + PNGImageReader.adam7YSubsampling[i]); + if (abortRequested()) { + break; + } } + } else { + encodePass(ios, image, 0, 0, 1, 1); } - } else { - encodePass(ios, image, 0, 0, 1, 1); + } finally { + ios.finish(); } - - ios.finish(); } private void writeIEND() throws IOException { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java --- a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java Wed Jul 05 16:45:14 2017 +0200 @@ -174,12 +174,12 @@ public byte[] iCCP_compressedProfile; // iTXt chunk - public ArrayList iTXt_keyword = new ArrayList(); // Strings - public ArrayList iTXt_compressionFlag = new ArrayList(); // Integers - public ArrayList iTXt_compressionMethod = new ArrayList(); // Integers - public ArrayList iTXt_languageTag = new ArrayList(); // Strings - public ArrayList iTXt_translatedKeyword = new ArrayList(); // Strings - public ArrayList iTXt_text = new ArrayList(); // Strings + public ArrayList iTXt_keyword = new ArrayList(); + public ArrayList iTXt_compressionFlag = new ArrayList(); + public ArrayList iTXt_compressionMethod = new ArrayList(); + public ArrayList iTXt_languageTag = new ArrayList(); + public ArrayList iTXt_translatedKeyword = new ArrayList(); + public ArrayList iTXt_text = new ArrayList(); // pHYs chunk public boolean pHYs_present; @@ -597,19 +597,17 @@ if (iTXt_keyword.size() > 0) { IIOMetadataNode iTXt_parent = new IIOMetadataNode("iTXt"); for (int i = 0; i < iTXt_keyword.size(); i++) { - Integer val; - IIOMetadataNode iTXt_node = new IIOMetadataNode("iTXtEntry"); - iTXt_node.setAttribute("keyword", (String)iTXt_keyword.get(i)); - val = (Integer)iTXt_compressionFlag.get(i); - iTXt_node.setAttribute("compressionFlag", val.toString()); - val = (Integer)iTXt_compressionMethod.get(i); - iTXt_node.setAttribute("compressionMethod", val.toString()); + iTXt_node.setAttribute("keyword", iTXt_keyword.get(i)); + iTXt_node.setAttribute("compressionFlag", + iTXt_compressionFlag.get(i) ? "1" : "0"); + iTXt_node.setAttribute("compressionMethod", + iTXt_compressionMethod.get(i).toString()); iTXt_node.setAttribute("languageTag", - (String)iTXt_languageTag.get(i)); + iTXt_languageTag.get(i)); iTXt_node.setAttribute("translatedKeyword", - (String)iTXt_translatedKeyword.get(i)); - iTXt_node.setAttribute("text", (String)iTXt_text.get(i)); + iTXt_translatedKeyword.get(i)); + iTXt_node.setAttribute("text", iTXt_text.get(i)); iTXt_parent.appendChild(iTXt_node); } @@ -1037,11 +1035,11 @@ for (int i = 0; i < iTXt_keyword.size(); i++) { node = new IIOMetadataNode("TextEntry"); - node.setAttribute("keyword", (String)iTXt_keyword.get(i)); - node.setAttribute("value", (String)iTXt_text.get(i)); + node.setAttribute("keyword", iTXt_keyword.get(i)); + node.setAttribute("value", iTXt_text.get(i)); node.setAttribute("language", - (String)iTXt_languageTag.get(i)); - if (((Integer)iTXt_compressionFlag.get(i)).intValue() == 1) { + iTXt_languageTag.get(i)); + if (iTXt_compressionFlag.get(i)) { node.setAttribute("compression", "deflate"); } else { node.setAttribute("compression", "none"); @@ -1427,11 +1425,11 @@ boolean compressionFlag = getBooleanAttribute(iTXt_node, "compressionFlag"); - iTXt_compressionFlag.add(new Boolean(compressionFlag)); + iTXt_compressionFlag.add(Boolean.valueOf(compressionFlag)); String compressionMethod = getAttribute(iTXt_node, "compressionMethod"); - iTXt_compressionMethod.add(compressionMethod); + iTXt_compressionMethod.add(Integer.valueOf(compressionMethod)); String languageTag = getAttribute(iTXt_node, "languageTag"); @@ -1950,13 +1948,10 @@ tEXt_text.add(value); } } else { - int flag = compression.equals("zip") ? - 1 : 0; - // Use an iTXt node iTXt_keyword.add(keyword); - iTXt_compressionFlag.add(new Integer(flag)); - iTXt_compressionMethod.add(new Integer(0)); + iTXt_compressionFlag.add(Boolean.valueOf(compression.equals("zip"))); + iTXt_compressionMethod.add(Integer.valueOf(0)); iTXt_languageTag.add(language); iTXt_translatedKeyword.add(keyword); // fake it iTXt_text.add(value); @@ -1993,12 +1988,12 @@ gAMA_present = false; hIST_present = false; iCCP_present = false; - iTXt_keyword = new ArrayList(); - iTXt_compressionFlag = new ArrayList(); - iTXt_compressionMethod = new ArrayList(); - iTXt_languageTag = new ArrayList(); - iTXt_translatedKeyword = new ArrayList(); - iTXt_text = new ArrayList(); + iTXt_keyword = new ArrayList(); + iTXt_compressionFlag = new ArrayList(); + iTXt_compressionMethod = new ArrayList(); + iTXt_languageTag = new ArrayList(); + iTXt_translatedKeyword = new ArrayList(); + iTXt_text = new ArrayList(); pHYs_present = false; sBIT_present = false; sPLT_present = false; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java --- a/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java Wed Jul 05 16:45:14 2017 +0200 @@ -919,6 +919,12 @@ DynamicMBean mbean = Introspector.makeDynamicMBean(object); + //Access the ObjectName template value only if the provided name is null + if(name == null) { + name = Introspector.templateToObjectName(mbean.getMBeanInfo(). + getDescriptor(), mbean); + } + return registerDynamicMBean(classname, mbean, name); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java --- a/jdk/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java Wed Jul 05 16:45:14 2017 +0200 @@ -44,7 +44,6 @@ import javax.management.MBeanInfo; import javax.management.MBeanRegistrationException; import javax.management.MBeanServer; -import javax.management.MalformedObjectNameException; import javax.management.NotCompliantMBeanException; import javax.management.NotificationFilter; import javax.management.NotificationListener; @@ -205,8 +204,7 @@ // Returns the ObjectName of the JMXNamespace (or JMXDomain) for that // key (a namespace or a domain name). - abstract ObjectName getHandlerNameFor(String key) - throws MalformedObjectNameException; + abstract ObjectName getHandlerNameFor(String key); // Creates an interceptor for the given key, name, JMXNamespace (or // JMXDomain). Note: this will be either a NamespaceInterceptor @@ -263,14 +261,10 @@ void validateHandlerNameFor(String key, ObjectName name) { if (key == null || key.equals("")) throw new IllegalArgumentException("invalid key for "+name+": "+key); - try { - final ObjectName handlerName = getHandlerNameFor(key); - if (!name.equals(handlerName)) - throw new IllegalArgumentException("bad handler name: "+name+ - ". Should be: "+handlerName); - } catch (MalformedObjectNameException x) { - throw new IllegalArgumentException(name.toString(),x); - } + final ObjectName handlerName = getHandlerNameFor(key); + if (!name.equals(handlerName)) + throw new IllegalArgumentException("bad handler name: "+name+ + ". Should be: "+handlerName); } // Called by the DefaultMBeanServerInterceptor when an instance diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java --- a/jdk/src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java Wed Jul 05 16:45:14 2017 +0200 @@ -38,7 +38,6 @@ import javax.management.MBeanServer; import javax.management.MBeanServerDelegate; -import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import javax.management.QueryExp; import javax.management.namespace.JMXDomain; @@ -248,21 +247,17 @@ if (pattern == null) return true; if (pattern.isDomainPattern()) return true; - try { - // case b) above. - // - // This is a bit of a hack. If there's any chance that a JMXDomain - // MBean name is selected by the given pattern then we must include - // the local namespace in our search. - // - // Returning true will have this effect. see 2. above. - // - if (pattern.apply(ALL_DOMAINS.withDomain(pattern.getDomain()))) - return true; - } catch (MalformedObjectNameException x) { - // should not happen - throw new IllegalArgumentException(String.valueOf(pattern), x); - } + // case b) above. + // + // This is a bit of a hack. If there's any chance that a JMXDomain + // MBean name is selected by the given pattern then we must include + // the local namespace in our search. + // + // Returning true will have this effect. see 2. above. + // + if (pattern.apply(ALL_DOMAINS.withDomain(pattern.getDomain()))) + return true; + return false; } @@ -291,8 +286,7 @@ } @Override - final ObjectName getHandlerNameFor(String key) - throws MalformedObjectNameException { + final ObjectName getHandlerNameFor(String key) { return JMXDomain.getDomainObjectName(key); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java --- a/jdk/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java Wed Jul 05 16:45:14 2017 +0200 @@ -37,8 +37,8 @@ import javax.management.MBeanServer; import javax.management.MBeanServerDelegate; -import javax.management.MalformedObjectNameException; import javax.management.ObjectName; +import javax.management.RuntimeOperationsException; import javax.management.namespace.JMXDomain; import javax.management.namespace.JMXNamespace; import static javax.management.namespace.JMXNamespaces.NAMESPACE_SEPARATOR; @@ -60,6 +60,7 @@ private static final int NAMESPACE_SEPARATOR_LENGTH = NAMESPACE_SEPARATOR.length(); + private static final ObjectName X3 = ObjectName.valueOf("x:x=x"); private final DomainDispatchInterceptor nextInterceptor; private final String serverName; @@ -89,27 +90,38 @@ serverName = Util.getMBeanServerSecurityName(delegate); } - // TODO: Should move that to JMXNamespace? or to ObjectName? /** * Get first name space in ObjectName path. Ignore leading namespace - * separators. + * separators. Includes the trailing //. + * + * Examples: + *
+     *  For ObjectName:                   Returns:
+     *  foo//bar//baz:x=x         ->      "foo//"
+     *  foo//:type=JMXNamespace   ->      "foo//"
+     *  foo//:x=x                 ->      "foo//"
+     *  foo////:x=x               ->      "foo//"
+     *  //foo//bar//baz:x=x       ->      "//"
+     *  ////foo//bar//baz:x=x     ->      "//"
+     *  //:x=x                    ->      "//"
+     *  foo:x=x                   ->      ""
+     *  (null)                    ->      ""
+     *  :x=x                      ->      ""
+     *
+     * 
**/ - static String getFirstNamespace(ObjectName name) { + static String getFirstNamespaceWithSlash(ObjectName name) { if (name == null) return ""; final String domain = name.getDomain(); if (domain.equals("")) return ""; - // skip leading separators - int first = 0; - while (domain.startsWith(NAMESPACE_SEPARATOR,first)) - first += NAMESPACE_SEPARATOR_LENGTH; - // go to next separator - final int end = domain.indexOf(NAMESPACE_SEPARATOR,first); + final int end = domain.indexOf(NAMESPACE_SEPARATOR); if (end == -1) return ""; // no namespace // This is the first element in the namespace path. - final String namespace = domain.substring(first,end); + final String namespace = + domain.substring(0,end+NAMESPACE_SEPARATOR_LENGTH); return namespace; } @@ -130,27 +142,49 @@ resource.getClass().getName()); } - final boolean isLocalHandlerNameFor(String namespace, - ObjectName handlerName) { - return handlerName.getDomain().equals(namespace+NAMESPACE_SEPARATOR) && - JMXNamespace.TYPE_ASSIGNMENT.equals( - handlerName.getKeyPropertyListString()); + // Removes the trailing //. namespaceWithSlash should be either + // "" or a namespace path ending with //. + // + private final String getKeyFor(String namespaceWithSlash) { + final int end = namespaceWithSlash.length() - + NAMESPACE_SEPARATOR_LENGTH; + if (end <= 0) return ""; + final String key = namespaceWithSlash.substring(0,end); + return key; } @Override final MBeanServer getInterceptorOrNullFor(ObjectName name) { - final String namespace = getFirstNamespace(name); - if (namespace.equals("") || isLocalHandlerNameFor(namespace,name) || - name.getDomain().equals(namespace+NAMESPACE_SEPARATOR)) { + final String namespace = getFirstNamespaceWithSlash(name); + + // Leading separators should trigger instance not found exception. + // returning null here has this effect. + // + if (namespace.equals(NAMESPACE_SEPARATOR)) { + LOG.finer("ObjectName starts with: "+namespace); + return null; + } + + // namespace="" means that there was no namespace path in the + // ObjectName. => delegate to the next interceptor (local MBS) + // name.getDomain()=namespace means that we have an ObjectName of + // the form blah//:x=x. This is either a JMXNamespace or a non + // existent MBean. => delegate to the next interceptor (local MBS) + if (namespace.equals("") || name.getDomain().equals(namespace)) { LOG.finer("dispatching to local name space"); return nextInterceptor; } - final NamespaceInterceptor ns = getInterceptor(namespace); + + // There was a namespace path in the ObjectName. Returns the + // interceptor that handles it, or null if there is no such + // interceptor. + final String key = getKeyFor(namespace); + final NamespaceInterceptor ns = getInterceptor(key); if (LOG.isLoggable(Level.FINER)) { if (ns != null) { - LOG.finer("dispatching to name space: " + namespace); + LOG.finer("dispatching to name space: " + key); } else { - LOG.finer("no handler for: " + namespace); + LOG.finer("no handler for: " + key); } } return ns; @@ -158,18 +192,44 @@ @Override final QueryInterceptor getInterceptorForQuery(ObjectName pattern) { - final String namespace = getFirstNamespace(pattern); - if (namespace.equals("") || isLocalHandlerNameFor(namespace,pattern) || - pattern.getDomain().equals(namespace+NAMESPACE_SEPARATOR)) { + final String namespace = getFirstNamespaceWithSlash(pattern); + + // Leading separators should trigger instance not found exception. + // returning null here has this effect. + // + if (namespace.equals(NAMESPACE_SEPARATOR)) { + LOG.finer("ObjectName starts with: "+namespace); + return null; + } + + // namespace="" means that there was no namespace path in the + // ObjectName. => delegate to the next interceptor (local MBS) + // name.getDomain()=namespace means that we have an ObjectName of + // the form blah//:x=x. This is either a JMXNamespace or a non + // existent MBean. => delegate to the next interceptor (local MBS) + if (namespace.equals("") || pattern.getDomain().equals(namespace)) { LOG.finer("dispatching to local name space"); return new QueryInterceptor(nextInterceptor); } - final NamespaceInterceptor ns = getInterceptor(namespace); + + // This is a 'hack' to check whether the first namespace is a pattern. + // We wan to throw RTOE wrapping IAE in that case + if (X3.withDomain(namespace).isDomainPattern()) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Pattern not allowed in namespace path")); + } + + // There was a namespace path in the ObjectName. Returns the + // interceptor that handles it, or null if there is no such + // interceptor. + // + final String key = getKeyFor(namespace); + final NamespaceInterceptor ns = getInterceptor(key); if (LOG.isLoggable(Level.FINER)) { if (ns != null) { - LOG.finer("dispatching to name space: " + namespace); + LOG.finer("dispatching to name space: " + key); } else { - LOG.finer("no handler for: " + namespace); + LOG.finer("no handler for: " + key); } } if (ns == null) return null; @@ -177,15 +237,16 @@ } @Override - final ObjectName getHandlerNameFor(String key) - throws MalformedObjectNameException { - return ObjectName.getInstance(key+NAMESPACE_SEPARATOR, + final ObjectName getHandlerNameFor(String key) { + return ObjectName.valueOf(key+NAMESPACE_SEPARATOR, "type", JMXNamespace.TYPE); } @Override final public String getHandlerKey(ObjectName name) { - return getFirstNamespace(name); + final String namespace = getFirstNamespaceWithSlash(name); + // namespace is either "" or a namespace ending with // + return getKeyFor(namespace); } @Override diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java Wed Jul 05 16:45:14 2017 +0200 @@ -53,7 +53,7 @@ } Descriptor getDescriptor() { - return Introspector.descriptorForElement(method); + return Introspector.descriptorForElement(method, false); } Type getGenericReturnType() { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Wed Jul 05 16:45:14 2017 +0200 @@ -63,7 +63,14 @@ import java.beans.PropertyDescriptor; import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; +import java.util.LinkedHashSet; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.management.AttributeNotFoundException; +import javax.management.JMX; +import javax.management.ObjectName; +import javax.management.ObjectNameTemplate; import javax.management.openmbean.CompositeData; import javax.management.openmbean.MXBeanMappingFactory; @@ -75,7 +82,13 @@ */ public class Introspector { - + /** + * Pattern used to extract Attribute Names from ObjectNameTemplate Annotation + * For example, in the following example, the Name attribute value is + * retrieved : ":type=MyType, name={Name}" + */ + private static Pattern OBJECT_NAME_PATTERN_TEMPLATE = + Pattern.compile("(\\{[^\\}]+\\})|(=\"\\{[^\\}]+\\}\")"); /* * ------------------------------------------ * PRIVATE CONSTRUCTORS @@ -389,6 +402,42 @@ return getStandardMBeanInterface(baseClass); } + public static ObjectName templateToObjectName(Descriptor descriptor, + DynamicMBean mbean) + throws NotCompliantMBeanException { + String template = (String) + descriptor.getFieldValue(JMX.OBJECT_NAME_TEMPLATE); + if(template == null) return null; + try { + Matcher m = OBJECT_NAME_PATTERN_TEMPLATE.matcher(template); + while (m.find()){ + String grp = m.group(); + System.out.println("GROUP " + grp); + String attributeName = null; + boolean quote = false; + if(grp.startsWith("=\"{")) { + attributeName = grp.substring(3, grp.length() - 2); + quote = true; + } else + attributeName = grp.substring(1, grp.length() - 1); + + Object attributeValue = mbean.getAttribute(attributeName); + String validValue = quote ? + "=" + ObjectName.quote(attributeValue.toString()) : + attributeValue.toString(); + template = template.replace(grp, validValue); + } + return new ObjectName(template); + }catch(Exception ex) { + NotCompliantMBeanException ncex = new + NotCompliantMBeanException(ObjectNameTemplate.class. + getSimpleName() + " annotation value [" + template + "] " + + "is invalid. " + ex); + ncex.initCause(ex); + throw ncex; + } + } + /* * ------------------------------------------ * PRIVATE METHODS @@ -462,11 +511,31 @@ return null; } - public static Descriptor descriptorForElement(final AnnotatedElement elmt) { + public static Descriptor descriptorForElement(final AnnotatedElement elmt, + boolean isSetter) { if (elmt == null) return ImmutableDescriptor.EMPTY_DESCRIPTOR; final Annotation[] annots = elmt.getAnnotations(); - return descriptorForAnnotations(annots); + Descriptor descr = descriptorForAnnotations(annots); + String[] exceptions = {}; + if(elmt instanceof Method) + exceptions = getAllExceptions(((Method) elmt).getExceptionTypes()); + else + if(elmt instanceof Constructor) + exceptions = getAllExceptions(((Constructor) elmt). + getExceptionTypes()); + + if(exceptions.length > 0 ) { + String fieldName = isSetter ? JMX.SET_EXCEPTIONS_FIELD : + JMX.EXCEPTIONS_FIELD; + + String[] fieldNames = {fieldName}; + Object[] fieldValues = {exceptions}; + descr = ImmutableDescriptor.union(descr, + new ImmutableDescriptor(fieldNames, fieldValues)); + } + + return descr; } public static Descriptor descriptorForAnnotation(Annotation annot) { @@ -489,6 +558,20 @@ return new ImmutableDescriptor(descriptorMap); } + /** + * Array of thrown excepions. + * @param exceptions can be null; + * @return An Array of Exception class names. Size is 0 if method is null. + */ + private static String[] getAllExceptions(Class[] exceptions) { + Set set = new LinkedHashSet(); + for(Classex : exceptions) + set.add(ex.getName()); + + String[] arr = new String[set.size()]; + return set.toArray(arr); + } + private static void addDescriptorFieldsToMap( Map descriptorMap, DescriptorFields df) { for (String field : df.value()) { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java Wed Jul 05 16:45:14 2017 +0200 @@ -47,6 +47,10 @@ import javax.management.SendNotification; public class MBeanInjector { + // There are no instances of this class + private MBeanInjector() { + } + private static Class[] injectedClasses = { MBeanServer.class, ObjectName.class, SendNotification.class, }; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Wed Jul 05 16:45:14 2017 +0200 @@ -614,6 +614,15 @@ } /** + * Returns the class of a primitive type. + * @param name The type for which we the associated class. + * @return the class, or null if name is not primitive. + */ + public static Class primitiveType(String name) { + return primitiveClasses.get(name); + } + + /** * Load a class with the specified loader, or with this object * class loader if the specified loader is null. **/ @@ -636,7 +645,7 @@ } } catch (ClassNotFoundException e) { throw new ReflectionException(e, - "The MBean class could not be loaded by the context classloader"); + "The MBean class could not be loaded"); } return theClass; } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java Wed Jul 05 16:45:14 2017 +0200 @@ -44,7 +44,6 @@ import javax.management.ImmutableDescriptor; import javax.management.IntrospectionException; import javax.management.InvalidAttributeValueException; -import javax.management.JMX; import javax.management.MBean; import javax.management.MBeanAttributeInfo; import javax.management.MBeanConstructorInfo; @@ -404,7 +403,7 @@ new ImmutableDescriptor(interfaceClassName); final Descriptor mbeanDescriptor = getBasicMBeanDescriptor(); final Descriptor annotatedDescriptor = - Introspector.descriptorForElement(mbeanInterface); + Introspector.descriptorForElement(mbeanInterface, false); final Descriptor descriptor = DescriptorCache.getInstance().union( classNameDescriptor, @@ -519,7 +518,7 @@ * see the version of the @ManagedAttribute (or ...Operation) annotation * from that method, which might have a different description or whatever. */ - private static void getAnnotatedMethods(Class c, List methods) + public static void getAnnotatedMethods(Class c, List methods) throws Exception { Class sup = c.getSuperclass(); if (sup != null) @@ -538,6 +537,14 @@ } } + /* + * Return the array of MBeanNotificationInfo for the given MBean object. + * If the object implements NotificationBroadcaster and its + * getNotificationInfo() method returns a non-empty array, then that + * is the result. Otherwise, if the object has a @NotificationInfo + * or @NotificationInfos annotation, then its contents form the result. + * Otherwise, the result is null. + */ static MBeanNotificationInfo[] findNotifications(Object moi) { if (moi instanceof NotificationBroadcaster) { MBeanNotificationInfo[] mbn = @@ -553,6 +560,13 @@ } return result; } + } else { + try { + if (!MBeanInjector.injectsSendNotification(moi)) + return null; + } catch (NotCompliantMBeanException e) { + throw new RuntimeException(e); + } } return findNotificationsFromAnnotations(moi.getClass()); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java Wed Jul 05 16:45:14 2017 +0200 @@ -292,7 +292,7 @@ Descriptor descriptor = typeDescriptor(returnType, originalReturnType); descriptor = ImmutableDescriptor.union(descriptor, - Introspector.descriptorForElement(method)); + Introspector.descriptorForElement(method, false)); final MBeanOperationInfo oi; if (openReturnType && openParameterTypes) { /* If the return value and all the parameters can be faithfully diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java Wed Jul 05 16:45:14 2017 +0200 @@ -37,7 +37,6 @@ import javax.management.JMX; import javax.management.MBeanServerConnection; import javax.management.MBeanServerInvocationHandler; -import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import javax.management.openmbean.OpenDataException; @@ -225,7 +224,7 @@ String domain = prefix + name.getDomain(); try { name = name.withDomain(domain); - } catch (MalformedObjectNameException e) { + } catch (IllegalArgumentException e) { throw EnvHelp.initCause( new InvalidObjectException(e.getMessage()), e); } @@ -239,12 +238,14 @@ String domain = name.getDomain(); if (!domain.startsWith(prefix)) { throw new OpenDataException( - "Proxy's name does not start with " + prefix + ": " + name); + "Proxy's name does not start with " + + prefix + ": " + name); } try { name = name.withDomain(domain.substring(prefix.length())); - } catch (MalformedObjectNameException e) { - throw EnvHelp.initCause(new OpenDataException(e.getMessage()), e); + } catch (IllegalArgumentException e) { + throw EnvHelp.initCause( + new OpenDataException(e.getMessage()), e); } return name; } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/mbeanserver/Util.java --- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/Util.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/Util.java Wed Jul 05 16:45:14 2017 +0200 @@ -48,7 +48,6 @@ import javax.management.MBeanServer; import javax.management.MBeanServerDelegate; import javax.management.MBeanServerFactory; -import javax.management.MalformedObjectNameException; import javax.management.ObjectInstance; import javax.management.ObjectName; import javax.management.loading.ClassLoaderRepository; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java --- a/jdk/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java Wed Jul 05 16:45:14 2017 +0200 @@ -42,7 +42,6 @@ import javax.management.MBeanPermission; import javax.management.MBeanServerDelegate; import javax.management.MBeanServerNotification; -import javax.management.MalformedObjectNameException; import javax.management.Notification; import javax.management.NotificationFilter; import javax.management.NotificationListener; @@ -268,13 +267,9 @@ // When we reach here, it has been verified that 'name' matches our domain // name (done by DomainDispatchInterceptor) private ObjectName getPatternFor(final ObjectName name) { - try { - if (name == null) return ALL; - if (name.getDomain().equals(domainName)) return name; - return name.withDomain(domainName); - } catch (MalformedObjectNameException x) { - throw new IllegalArgumentException(String.valueOf(name),x); - } + if (name == null) return ALL; + if (name.getDomain().equals(domainName)) return name; + return name.withDomain(domainName); } @Override diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java --- a/jdk/src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java Wed Jul 05 16:45:14 2017 +0200 @@ -24,15 +24,12 @@ */ package com.sun.jmx.namespace; -import com.sun.jmx.defaults.JmxProperties; import java.util.ArrayList; import java.util.List; -import java.util.logging.Logger; import javax.management.Attribute; import javax.management.AttributeList; import javax.management.MBeanServer; -import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import javax.management.namespace.JMXNamespace; import javax.management.namespace.JMXNamespacePermission; @@ -114,14 +111,12 @@ } @Override - protected ObjectName toSource(ObjectName targetName) - throws MalformedObjectNameException { + protected ObjectName toSource(ObjectName targetName) { return proc.toSourceContext(targetName, true); } @Override - protected ObjectName toTarget(ObjectName sourceName) - throws MalformedObjectNameException { + protected ObjectName toTarget(ObjectName sourceName) { return proc.toTargetContext(sourceName, false); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java --- a/jdk/src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java Wed Jul 05 16:45:14 2017 +0200 @@ -27,7 +27,6 @@ import static javax.management.namespace.JMXNamespaces.NAMESPACE_SEPARATOR; -import javax.management.MalformedObjectNameException; import javax.management.ObjectInstance; import javax.management.ObjectName; @@ -83,11 +82,7 @@ } final String targetDomain = (tlen>0?targetPrefix+NAMESPACE_SEPARATOR+srcDomain:srcDomain); - try { - return sourceName.withDomain(targetDomain); - } catch (MalformedObjectNameException x) { - throw new IllegalArgumentException(String.valueOf(sourceName),x); - } + return sourceName.withDomain(targetDomain); } public final ObjectName toSourceContext(ObjectName targetName, @@ -113,11 +108,7 @@ final String sourceDomain = (slen>0?sourcePrefix+NAMESPACE_SEPARATOR+targetDomain: targetDomain); - try { - return targetName.withDomain(sourceDomain); - } catch (MalformedObjectNameException x) { - throw new IllegalArgumentException(String.valueOf(targetName),x); - } + return targetName.withDomain(sourceDomain); } public final ObjectInstance toTargetContext(ObjectInstance sourceMoi, diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java --- a/jdk/src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java Wed Jul 05 16:45:14 2017 +0200 @@ -46,7 +46,6 @@ import javax.management.MBeanInfo; import javax.management.MBeanRegistrationException; import javax.management.MBeanServerConnection; -import javax.management.MalformedObjectNameException; import javax.management.NotCompliantMBeanException; import javax.management.NotificationFilter; import javax.management.NotificationListener; @@ -100,18 +99,17 @@ * the target name is "foo//X". * In the case of cascading - such as in NamespaceInterceptor, this method * will convert "foo//X" (the targetName) into "X", the source name. + * @throws IllegalArgumentException if the name cannot be converted. **/ - protected abstract ObjectName toSource(ObjectName targetName) - throws MalformedObjectNameException; - + protected abstract ObjectName toSource(ObjectName targetName); /** * Converts a source ObjectName to a target ObjectName. * (see description of toSource above for explanations) * In the case of cascading - such as in NamespaceInterceptor, this method * will convert "X" (the sourceName) into "foo//X", the target name. + * @throws IllegalArgumentException if the name cannot be converted. **/ - protected abstract ObjectName toTarget(ObjectName sourceName) - throws MalformedObjectNameException; + protected abstract ObjectName toTarget(ObjectName sourceName); /** * Can be overridden by subclasses to check the validity of a new @@ -128,17 +126,12 @@ } } - // Calls toSource(), Wraps MalformedObjectNameException. - ObjectName toSourceOrRuntime(ObjectName targetName) - throws RuntimeOperationsException { + // Calls toSource(), Wraps IllegalArgumentException. + ObjectName toSourceOrRuntime(ObjectName targetName) { try { return toSource(targetName); - } catch (MalformedObjectNameException x) { - final IllegalArgumentException x2 = - new IllegalArgumentException(String.valueOf(targetName),x); - final RuntimeOperationsException x3 = - new RuntimeOperationsException(x2); - throw x3; + } catch (RuntimeException x) { + throw makeCompliantRuntimeException(x); } } @@ -376,12 +369,8 @@ try { final ObjectName targetName = toTarget(sourceName); return new ObjectInstance(targetName,source.getClassName()); - } catch (MalformedObjectNameException x) { - final IllegalArgumentException x2 = - new IllegalArgumentException(String.valueOf(sourceName),x); - final RuntimeOperationsException x3 = - new RuntimeOperationsException(x2); - throw x3; + } catch (RuntimeException x) { + throw makeCompliantRuntimeException(x); } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/namespace/RoutingProxy.java --- a/jdk/src/share/classes/com/sun/jmx/namespace/RoutingProxy.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/namespace/RoutingProxy.java Wed Jul 05 16:45:14 2017 +0200 @@ -199,8 +199,7 @@ public T source() { return source; } @Override - public ObjectName toSource(ObjectName targetName) - throws MalformedObjectNameException { + public ObjectName toSource(ObjectName targetName) { if (targetName == null) return null; if (targetName.getDomain().equals("") && targetNs.equals("")) { try { @@ -229,8 +228,7 @@ } @Override - public ObjectName toTarget(ObjectName sourceName) - throws MalformedObjectNameException { + public ObjectName toTarget(ObjectName sourceName) { if (sourceName == null) return null; return router.toTargetContext(sourceName,false); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java --- a/jdk/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java Wed Jul 05 16:45:14 2017 +0200 @@ -1,3 +1,4 @@ + /* * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -798,6 +799,24 @@ JMXConnectorServer.DELEGATE_TO_EVENT_SERVICE, true, true); } + /** + *

Name of the attribute that specifies whether a connector server + * should not prevent the VM from exiting + */ + public static final String JMX_SERVER_DAEMON = "jmx.remote.x.daemon"; + + /** + * Returns true if {@value SERVER_DAEMON} is specified in the {@code env} + * as a key and its value is a String and it is equal to true ignoring case. + * + * @param env + * @return + */ + public static boolean isServerDaemon(Map env) { + return (env != null) && + ("true".equalsIgnoreCase((String)env.get(JMX_SERVER_DAEMON))); + } + // /** // *

Name of the attribute that specifies an EventRelay object to use. // */ diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/servicetag/Installer.java --- a/jdk/src/share/classes/com/sun/servicetag/Installer.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/servicetag/Installer.java Wed Jul 05 16:45:14 2017 +0200 @@ -475,7 +475,7 @@ String filename = "/com/sun/servicetag/resources/javase_" + version + "_swordfish.properties"; - InputStream in = Installer.class.getClass().getResourceAsStream(filename); + InputStream in = Installer.class.getResourceAsStream(filename); if (in == null) { return null; } @@ -813,7 +813,7 @@ locale, String.valueOf(version)).toString(); try { - in = Installer.class.getClass().getResourceAsStream(resource + ".html"); + in = Installer.class.getResourceAsStream(resource + ".html"); if (in == null) { // if the resource file is missing if (isVerbose()) { @@ -825,34 +825,39 @@ System.out.println("Generating " + f + " from " + resource + ".html"); } - br = new BufferedReader(new InputStreamReader(in, "UTF-8")); - pw = new PrintWriter(f, "UTF-8"); - String line = null; - while ((line = br.readLine()) != null) { - String output = line; - if (line.contains(JDK_VERSION_KEY)) { - output = line.replace(JDK_VERSION_KEY, jdkVersion); - } else if (line.contains(JDK_HEADER_PNG_KEY)) { - output = line.replace(JDK_HEADER_PNG_KEY, headerImageSrc); - } else if (line.contains(REGISTRATION_URL_KEY)) { - output = line.replace(REGISTRATION_URL_KEY, registerURL); - } else if (line.contains(REGISTRATION_PAYLOAD_KEY)) { - output = line.replace(REGISTRATION_PAYLOAD_KEY, payload.toString()); + try { + br = new BufferedReader(new InputStreamReader(in, "UTF-8")); + pw = new PrintWriter(f, "UTF-8"); + String line = null; + while ((line = br.readLine()) != null) { + String output = line; + if (line.contains(JDK_VERSION_KEY)) { + output = line.replace(JDK_VERSION_KEY, jdkVersion); + } else if (line.contains(JDK_HEADER_PNG_KEY)) { + output = line.replace(JDK_HEADER_PNG_KEY, headerImageSrc); + } else if (line.contains(REGISTRATION_URL_KEY)) { + output = line.replace(REGISTRATION_URL_KEY, registerURL); + } else if (line.contains(REGISTRATION_PAYLOAD_KEY)) { + output = line.replace(REGISTRATION_PAYLOAD_KEY, payload.toString()); + } + pw.println(output); } - pw.println(output); + f.setReadOnly(); + pw.flush(); + } finally { + // It's safe for this finally block to have two close statements + // consecutively as PrintWriter.close doesn't throw IOException. + if (pw != null) { + pw.close(); + } + if (br!= null) { + br.close(); + } } - f.setReadOnly(); - pw.flush(); } finally { - if (pw != null) { - pw.close(); - } if (in != null) { in.close(); } - if (br!= null) { - br.close(); - } } } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java --- a/jdk/src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java Wed Jul 05 16:45:14 2017 +0200 @@ -62,8 +62,8 @@ return "Sun Microsystems, Inc"; } - // if we're here, then we'll try smbios (type 3) - return getSmbiosData("3", "Manufacturer: "); + // if we're here, then we'll try smbios (type 4) + return getSmbiosData("4", "Manufacturer: "); } /** diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/servicetag/SunConnection.java --- a/jdk/src/share/classes/com/sun/servicetag/SunConnection.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/servicetag/SunConnection.java Wed Jul 05 16:45:14 2017 +0200 @@ -213,10 +213,16 @@ con.setRequestProperty("Content-Type", "text/xml;charset=\"utf-8\""); con.connect(); - OutputStream out = con.getOutputStream(); - registration.storeToXML(out); - out.flush(); - out.close(); + OutputStream out = null; + try { + out = con.getOutputStream(); + registration.storeToXML(out); + out.flush(); + } finally { + if (out != null) { + out.close(); + } + } int returnCode = con.getResponseCode(); if (Util.isVerbose()) { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/servicetag/Util.java --- a/jdk/src/share/classes/com/sun/servicetag/Util.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/servicetag/Util.java Wed Jul 05 16:45:14 2017 +0200 @@ -140,11 +140,14 @@ } return e.getMessage(); } finally { - if (r != null) { - r.close(); - } - if (err != null) { - err.close(); + try { + if (r != null) { + r.close(); + } + } finally { + if (err != null) { + err.close(); + } } } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java --- a/jdk/src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java Wed Jul 05 16:45:14 2017 +0200 @@ -107,11 +107,17 @@ Process p = pb.start(); // need this for executing windows commands (at least // needed for executing wmic command) - BufferedWriter bw = new BufferedWriter( - new OutputStreamWriter(p.getOutputStream())); - bw.write(13); - bw.flush(); - bw.close(); + BufferedWriter bw = null; + try { + bw = new BufferedWriter( + new OutputStreamWriter(p.getOutputStream())); + bw.write(13); + bw.flush(); + } finally { + if (bw != null) { + bw.close(); + } + } p.waitFor(); if (p.exitValue() == 0) { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/java/awt/print/PrinterJob.java --- a/jdk/src/share/classes/java/awt/print/PrinterJob.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/java/awt/print/PrinterJob.java Wed Jul 05 16:45:14 2017 +0200 @@ -117,15 +117,18 @@ * FileOutputStream outstream; * StreamPrintService psPrinter; * String psMimeType = "application/postscript"; + * PrinterJob pj = PrinterJob.getPrinterJob(); * * StreamPrintServiceFactory[] factories = * PrinterJob.lookupStreamPrintServices(psMimeType); * if (factories.length > 0) { * try { * outstream = new File("out.ps"); - * psPrinter = factories[0].getPrintService(fos); + * psPrinter = factories[0].getPrintService(outstream); * // psPrinter can now be set as the service on a PrinterJob - * } catch (FileNotFoundException e) { + * pj.setPrintService(psPrinter) + * } catch (Exception e) { + * e.printStackTrace(); * } * } * diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/crypto/Cipher.java --- a/jdk/src/share/classes/javax/crypto/Cipher.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/crypto/Cipher.java Wed Jul 05 16:45:14 2017 +0200 @@ -2377,7 +2377,7 @@ * For more information on default key size in JCE jurisdiction * policy files, please see Appendix E in the * + * "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppC"> * Java Cryptography Architecture Reference Guide. * * @param transformation the cipher transformation. diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/Descriptor.java --- a/jdk/src/share/classes/javax/management/Descriptor.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/Descriptor.java Wed Jul 05 16:45:14 2017 +0200 @@ -147,6 +147,31 @@ * might be disabled if it cannot currently be emitted but could be in * other circumstances. * + * exceptionsString[] + * MBeanAttributeInfo, MBeanConstructorInfo, MBeanOperationInfo + * + * The class names of the exceptions that can be thrown when invoking a + * constructor or operation, or getting an attribute. Exceptions thrown when + * setting an attribute are specified by the field + * {@code setExceptions}. + * + * exceptionErrorCodesString[] + * MBeanAttributeInfo
MBeanConstructorInfo
MBeanOperationInfo + * + * The {@linkplain GenericMBeanException#getErrorCode() error codes} + * that can appear in a {@link GenericMBeanException} thrown when getting + * this attribute or invoking this operation or constructor. See also + * {@code setExceptionErrorCodes}. + * + * exceptionUserDataTypes + * {@link javax.management.openmbean.CompositeType}[] + * MBeanAttributeInfo
MBeanConstructorInfo
MBeanOperationInfo + * + * The types of {@linkplain GenericMBeanException#getUserData() userData} + * that can appear in a {@link GenericMBeanException} thrown when getting + * this attribute or invoking this operation or constructor. See also + * {@code setExceptionUserDataTypes}. + * * immutableInfoString * MBeanInfo * @@ -237,6 +262,13 @@ * MXBean, if it was not the {@linkplain MXBeanMappingFactory#DEFAULT default} * one. * + * objectNameTemplate + * String + * MBeanInfo + * + * The template to use to name this MBean. Its value must be compliant with + * the specification of the {@link ObjectNameTemplate} annotation. + * * openType{@link OpenType} * MBeanAttributeInfo
MBeanOperationInfo
MBeanParameterInfo * @@ -270,6 +302,30 @@ * href="MXBean.html#type-names">Type Names of the MXBean * specification.

* + * setExceptionsString[] + * MBeanAttributeInfo + * + * The class names of the exceptions that can be thrown when setting + * an attribute. Exceptions thrown when getting an attribute are specified + * by the field {@code exceptions}. + * + * setExceptionErrorCodes + * String[]MBeanAttributeInfo + * + * The {@linkplain GenericMBeanException#getErrorCode() error codes} + * that can appear in a {@link GenericMBeanException} thrown when setting + * this attribute. See also + * {@code exceptionErrorCodes}. + * + * setExceptionUserDataTypes + * {@link javax.management.openmbean.CompositeType}[] + * MBeanAttributeInfo + * + * The types of {@linkplain GenericMBeanException#getUserData() userData} + * that can appear in a {@link GenericMBeanException} thrown when setting + * this attribute. See also + * {@code exceptionUserDataTypes}. + * * severityString
Integer * MBeanNotificationInfo * diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/GenericMBeanException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/share/classes/javax/management/GenericMBeanException.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,276 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package javax.management; + +import javax.management.openmbean.CompositeData; + +/** + *

A customizable exception that has an optional error code string and + * payload. By using this exception in an MBean, you can avoid requiring + * clients of the MBean to have custom exception classes.

+ * + *

An instance of this class has an optional {@linkplain #getErrorCode() + * error code}, and an optional {@linkplain #getUserData() payload} known as + * {@code userData}. This allows you to distinguish between different + * sorts of exception while still using this class for all of them.

+ * + *

To produce a suitable {@code userData}, it is often simplest to use + * the MXBean framework. For example, suppose you want to convey a severity + * and a subsystem with your exception, which are respectively an int and a + * String. You could define a class like this:

+ * + *
+ * public class ExceptionDetails {
+ *     private final int severity;
+ *     private final String subsystem;
+ *
+ *     {@link java.beans.ConstructorProperties @ConstructorProperties}({"severity", "subsystem"})
+ *     public ExceptionDetails(int severity, String subsystem) {
+ *         this.severity = severity;
+ *         this.subsystem = subsystem;
+ *     }
+ *
+ *     public int getSeverity() {
+ *         return severity;
+ *     }
+ *
+ *     public String getSubsystem() {
+ *         return subsystem;
+ *     }
+ * }
+ * 
+ * + *

Then you can get the MXBean framework to transform {@code ExceptionDetails} + * into {@link CompositeData} like this:

+ * + *
+ * static final {@link javax.management.openmbean.MXBeanMapping MXBeanMapping} exceptionDetailsMapping = {@link javax.management.openmbean.MXBeanMappingFactory#DEFAULT
+ *     MXBeanMappingFactory.DEFAULT}.mappingForType(
+ *         ExceptionDetails.class, MXBeanMappingFactory.DEFAULT);
+ *
+ * public static GenericMBeanException newGenericMBeanException(
+ *         String message, String errorCode, int severity, String subsystem) {
+ *     ExceptionDetails details = new ExceptionDetails(severity, subsystem);
+ *     CompositeData userData = (CompositeData)
+ *             exceptionDetailsMapping.toOpenValue(details);
+ *     return new GenericMBeanException(
+ *             message, errorCode, userData, (Throwable) null);
+ * }
+ *
+ * ...
+ *     throw newGenericMBeanException(message, errorCode, 25, "foosystem");
+ * 
+ * + *

A client that knows the {@code ExceptionDetails} class can convert + * back from the {@code userData} of a {@code GenericMBeanException} + * that was generated as above:

+ * + *
+ * ...
+ *     try {
+ *         mbeanProxy.foo();
+ *     } catch (GenericMBeanException e) {
+ *         CompositeData userData = e.getUserData();
+ *         ExceptionDetails details = (ExceptionDetails)
+ *                 exceptionDetailsMapping.fromOpenValue(userData);
+ *         System.out.println("Exception Severity: " + details.getSeverity());
+ *     }
+ * ...
+ * 
+ * + *

The Descriptor field exceptionErrorCodes can be used to specify in the + * {@link MBeanOperationInfo} for an operation what the possible + * {@linkplain #getErrorCode() error codes} are when that operation throws + * {@code GenericMBeanException}. It can also be used in an {@link + * MBeanConstructorInfo} or {@link MBeanAttributeInfo} to specify what the + * possible error codes are for {@code GenericMBeanException} when invoking + * that constructor or getting that attribute, respectively. The field + * setExceptionErrorCodes can be used to specify what the possible + * error codes are when setting an attribute.

+ * + *

You may want to use the {@link DescriptorKey @DescriptorKey} facility + * to define annotations that allow you to specify the error codes. If you + * define...

+ * + *
+ * {@link java.lang.annotation.Documented @Documented}
+ * {@link java.lang.annotation.Target @Target}(ElementType.METHOD)
+ * {@link java.lang.annotation.Retention @Retention}(RetentionPolicy.RUNTIME)
+ * public @interface ErrorCodes {
+ *     @DescriptorKey("exceptionErrorCodes")
+ *     String[] value();
+ * }
+ * 
+ * + *

...then you can write MBean interfaces like this...

+ * + *
+ * public interface FooMBean {  // or FooMXBean
+ *     @ErrorCodes({"com.example.bad", "com.example.worse"})
+ *     public void foo() throws GenericMBeanException;
+ * }
+ * 
+ * + *

The Descriptor field exceptionUserDataTypes can be used to specify in the + * {@link MBeanOperationInfo} for an operation what the possible types of + * {@linkplain #getUserData() userData} are when that operation throws + * {@code GenericMBeanException}. It is an array of + * {@link javax.management.openmbean.CompositeType CompositeType} values + * describing the possible {@link CompositeData} formats. This field can also be used + * in an {@link MBeanConstructorInfo} or {@link MBeanAttributeInfo} to specify + * the possible types of user data for {@code GenericMBeanException} when + * invoking that constructor or getting that attribute, respectively. The + * field + * setExceptionUserDataTypes + * can be used to specify the possible types of user data for exceptions when + * setting an attribute. If a Descriptor has both {@code exceptionErrorCodes} + * and {@code exceptionUserDataTypes} then the two arrays should be the + * same size; each pair of corresponding elements describes one kind + * of exception. Similarly for {@code setExceptionErrorCodes} and {@code + * setExceptionUserDataTypes}. + * + * + *

Serialization

+ * + *

For compatibility reasons, instances of this class are serialized as + * instances of {@link MBeanException}. Special logic in that class converts + * them back to instances of this class at deserialization time. If the + * serialized object is deserialized in an earlier version of the JMX API + * that does not include this class, then it will appear as just an {@code + * MBeanException} and the error code or userData will not be available.

+ * + * @since 1.7 + */ +public class GenericMBeanException extends MBeanException { + private static final long serialVersionUID = -1560202003985932823L; + + /** + *

Constructs a new {@code GenericMBeanException} with the given + * detail message. This constructor is + * equivalent to {@link #GenericMBeanException(String, String, + * CompositeData, Throwable) GenericMBeanException(message, "", + * null, null)}.

+ * + * @param message the exception detail message. + */ + public GenericMBeanException(String message) { + this(message, "", null, null); + } + + /** + *

Constructs a new {@code GenericMBeanException} with the given + * detail message and cause. This constructor is + * equivalent to {@link #GenericMBeanException(String, String, + * CompositeData, Throwable) GenericMBeanException(message, "", + * null, cause)}.

+ * + * @param message the exception detail message. + * @param cause the cause of this exception. Can be null. + */ + public GenericMBeanException(String message, Throwable cause) { + this(message, "", null, cause); + } + + /** + *

Constructs a new {@code GenericMBeanException} with the given + * detail message, error code, and user data. This constructor is + * equivalent to {@link #GenericMBeanException(String, String, + * CompositeData, Throwable) GenericMBeanException(message, errorCode, + * userData, null)}.

+ * + * @param message the exception detail message. + * @param errorCode the exception error code. Specifying a null value + * is equivalent to specifying an empty string. It is recommended to use + * the same reverse domain name convention as package names, for example + * "com.example.foo.UnexpectedFailure". There is no requirement that the + * error code be a syntactically valid Java identifier. + * @param userData extra information about the exception. Can be null. + */ + public GenericMBeanException( + String message, String errorCode, CompositeData userData) { + this(message, errorCode, userData, null); + } + + /** + *

Constructs a new {@code GenericMBeanException} with the given + * detail message, error code, user data, and cause.

+ * + * @param message the exception detail message. + * @param errorCode the exception error code. Specifying a null value + * is equivalent to specifying an empty string. It is recommended to use + * the same reverse domain name convention as package names, for example + * "com.example.foo.UnexpectedFailure". There is no requirement that the + * error code be a syntactically valid Java identifier. + * @param userData extra information about the exception. Can be null. + * @param cause the cause of this exception. Can be null. + */ + public GenericMBeanException( + String message, String errorCode, CompositeData userData, + Throwable cause) { + super(message, (errorCode == null) ? "" : errorCode, userData, cause); + } + + /** + *

Returns the error code of this exception.

+ * + * @return the error code. This value is never null. + */ + public String getErrorCode() { + return errorCode; + } + + /** + *

Returns the userData of this exception.

+ * + * @return the userData. Can be null. + */ + public CompositeData getUserData() { + return userData; + } + + /** + *

Instances of this class are serialized as instances of + * {@link MBeanException}. {@code MBeanException} has private fields that can + * not be set by its public constructors. They can only be set in objects + * returned by this method. When an {@code MBeanException} instance is + * deserialized, if those fields are present then its {@code readResolve} + * method will substitute a {@code GenericMBeanException} equivalent to + * this one.

+ */ + Object writeReplace() { + MBeanException x = new MBeanException( + getMessage(), errorCode, userData, getCause()); + x.setStackTrace(this.getStackTrace()); + return x; + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/JMX.java --- a/jdk/src/share/classes/javax/management/JMX.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/JMX.java Wed Jul 05 16:45:14 2017 +0200 @@ -76,6 +76,12 @@ "descriptionResourceKey"; /** + * The name of the {@code + * exceptions} field. + */ + public static final String EXCEPTIONS_FIELD = "exceptions"; + + /** * The name of the {@code * immutableInfo} field. */ @@ -138,6 +144,18 @@ public static final String ORIGINAL_TYPE_FIELD = "originalType"; /** + * The name of the {@code + * setExceptions} field. + */ + public static final String SET_EXCEPTIONS_FIELD = "setExceptions"; + + /** + * The name of the {@code + * objectNameTemplate} field. + */ + public static final String OBJECT_NAME_TEMPLATE = "objectNameTemplate"; + + /** *

Options to apply to an MBean proxy or to an instance of {@link * StandardMBean}.

* diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/MBeanAttributeInfo.java --- a/jdk/src/share/classes/javax/management/MBeanAttributeInfo.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/MBeanAttributeInfo.java Wed Jul 05 16:45:14 2017 +0200 @@ -186,8 +186,10 @@ (getter != null), (setter != null), isIs(getter), - ImmutableDescriptor.union(Introspector.descriptorForElement(getter), - Introspector.descriptorForElement(setter))); + ImmutableDescriptor.union(Introspector. + descriptorForElement(getter, false), + Introspector.descriptorForElement(setter, + true))); } /** diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/MBeanConstructorInfo.java --- a/jdk/src/share/classes/javax/management/MBeanConstructorInfo.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/MBeanConstructorInfo.java Wed Jul 05 16:45:14 2017 +0200 @@ -67,7 +67,7 @@ public MBeanConstructorInfo(String description, Constructor constructor) { this(constructor.getName(), description, constructorSignature(constructor), - Introspector.descriptorForElement(constructor)); + Introspector.descriptorForElement(constructor, false)); } /** diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/MBeanException.java --- a/jdk/src/share/classes/javax/management/MBeanException.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/MBeanException.java Wed Jul 05 16:45:14 2017 +0200 @@ -25,6 +25,8 @@ package javax.management; +import javax.management.openmbean.CompositeData; + /** * Represents "user defined" exceptions thrown by MBean methods @@ -41,6 +43,26 @@ private static final long serialVersionUID = 4066342430588744142L; /** + * @serial This field is null for instances of this class that were + * produced by its public constructors. It is non-null for instances + * of this class that represent serialized instances of {@link + * GenericMBeanException}. + * + * @see GenericMBeanException#getErrorCode() + */ + final String errorCode; + + /** + * @serial This field is null for instances of this class that were + * produced by its public constructors. It may be non-null for instances + * of this class that represent serialized instances of {@link + * GenericMBeanException}. + * + * @see GenericMBeanException#getUserData() + */ + final CompositeData userData; + + /** * @serial Encapsulated {@link Exception} */ private java.lang.Exception exception ; @@ -51,9 +73,8 @@ * * @param e the wrapped exception. */ - public MBeanException(java.lang.Exception e) { - super() ; - exception = e ; + public MBeanException(Exception e) { + this(null, null, null, e); } /** @@ -63,11 +84,19 @@ * @param e the wrapped exception. * @param message the detail message. */ - public MBeanException(java.lang.Exception e, String message) { - super(message) ; - exception = e ; + public MBeanException(Exception e, String message) { + this(message, null, null, e); } + MBeanException( + String message, String errorCode, CompositeData userData, Throwable cause) { + super(message); + initCause(cause); + if (cause instanceof Exception) + this.exception = (Exception) cause; + this.errorCode = errorCode; + this.userData = userData; + } /** * Return the actual {@link Exception} thrown. @@ -79,11 +108,24 @@ } /** - * Return the actual {@link Exception} thrown. - * - * @return the wrapped exception. + * This method is invoked when deserializing instances of this class. + * If the {@code errorCode} field of the deserialized instance is not + * null, this method returns an instance of {@link GenericMBeanException} + * instead. Otherwise it returns {@code this}. + * @return {@code this}, or a {@code GenericMBeanException}. */ - public Throwable getCause() { - return exception; + Object readResolve() { + if (errorCode == null) { + // serial compatibility: earlier versions did not set + // Throwable.cause because they overrode getCause(). + if (getCause() == null && exception != null) + initCause(exception); + return this; + } else { + Throwable t = new GenericMBeanException( + getMessage(), errorCode, userData, getCause()); + t.setStackTrace(this.getStackTrace()); + return t; + } } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/MBeanOperationInfo.java --- a/jdk/src/share/classes/javax/management/MBeanOperationInfo.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/MBeanOperationInfo.java Wed Jul 05 16:45:14 2017 +0200 @@ -113,7 +113,7 @@ methodSignature(method), method.getReturnType().getName(), UNKNOWN, - Introspector.descriptorForElement(method)); + Introspector.descriptorForElement(method, false)); } /** diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/MBeanRegistration.java --- a/jdk/src/share/classes/javax/management/MBeanRegistration.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/MBeanRegistration.java Wed Jul 05 16:45:14 2017 +0200 @@ -79,6 +79,9 @@ * } * * + *

(Listeners may be invoked in the same thread as the caller of + * {@code sender.sendNotification}.)

+ * *

A field to be injected must not be static. It is recommended that * such fields be declared {@code volatile}.

* diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/MBeanServer.java --- a/jdk/src/share/classes/javax/management/MBeanServer.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/MBeanServer.java Wed Jul 05 16:45:14 2017 +0200 @@ -186,11 +186,11 @@ * caller's permissions must imply {@link * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String) * MBeanPermission(mbeanServerName, null, null, null, "queryMBeans")}. - * Additionally, for each MBean that matches name, + * Additionally, for each MBean n that matches name, * if the caller's permissions do not imply {@link * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String) - * MBeanPermission(mbeanServerName, className, null, name, "queryMBeans")}, the - * MBean server will behave as if that MBean did not exist.

+ * MBeanPermission(mbeanServerName, className, null, n, "queryMBeans")}, + * the MBean server will behave as if that MBean did not exist.

* *

Certain query elements perform operations on the MBean server. * If the caller does not have the required permissions for a given @@ -351,11 +351,14 @@ /** *

Registers a pre-existing object as an MBean with the MBean - * server. If the object name given is null, the MBean must - * provide its own name by implementing the {@link + * server. If the object name given is null, the + * MBean must provide its own name in one or both of two ways: by implementing the {@link * javax.management.MBeanRegistration MBeanRegistration} interface * and returning the name from the {@link - * MBeanRegistration#preRegister preRegister} method.

+ * MBeanRegistration#preRegister preRegister} method; or by defining + * an {@code objectNameTemplate} field in its {@link Descriptor}, + * typically using the {@link ObjectNameTemplate @ObjectNameTemplate} + * annotation.

* *

If this method successfully registers an MBean, a notification * is sent as described above.

@@ -421,10 +424,16 @@ public ObjectInstance getObjectInstance(ObjectName name) throws InstanceNotFoundException; - // doc comment inherited from MBeanServerConnection + /** + * {@inheritDoc} + * @throws RuntimeOperationsException {@inheritDoc} + */ public Set queryMBeans(ObjectName name, QueryExp query); - // doc comment inherited from MBeanServerConnection + /** + * {@inheritDoc} + * @throws RuntimeOperationsException {@inheritDoc} + */ public Set queryNames(ObjectName name, QueryExp query); // doc comment inherited from MBeanServerConnection diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/MBeanServerConnection.java --- a/jdk/src/share/classes/javax/management/MBeanServerConnection.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/MBeanServerConnection.java Wed Jul 05 16:45:14 2017 +0200 @@ -46,11 +46,14 @@ * MBean server will use its {@link * javax.management.loading.ClassLoaderRepository Default Loader * Repository} to load the class of the MBean. An object name is - * associated to the MBean. If the object name given is null, the - * MBean must provide its own name by implementing the {@link + * associated with the MBean. If the object name given is null, the + * MBean must provide its own name in one or both of two ways: by implementing the {@link * javax.management.MBeanRegistration MBeanRegistration} interface * and returning the name from the {@link - * MBeanRegistration#preRegister preRegister} method.

+ * MBeanRegistration#preRegister preRegister} method; or by defining + * an {@code objectNameTemplate} field in its {@link Descriptor}, + * typically using the {@link ObjectNameTemplate @ObjectNameTemplate} + * annotation.

* *

This method is equivalent to {@link * #createMBean(String,ObjectName,Object[],String[]) @@ -117,13 +120,16 @@ /** *

Instantiates and registers an MBean in the MBean server. The * class loader to be used is identified by its object name. An - * object name is associated to the MBean. If the object name of + * object name is associated with the MBean. If the object name of * the loader is null, the ClassLoader that loaded the MBean - * server will be used. If the MBean's object name given is null, - * the MBean must provide its own name by implementing the {@link + * server will be used. If the object name given is null, the + * MBean must provide its own name in one or both of two ways: by implementing the {@link * javax.management.MBeanRegistration MBeanRegistration} interface * and returning the name from the {@link - * MBeanRegistration#preRegister preRegister} method.

+ * MBeanRegistration#preRegister preRegister} method; or by defining + * an {@code objectNameTemplate} field in its {@link Descriptor}, + * typically using the {@link ObjectNameTemplate @ObjectNameTemplate} + * annotation.

* *

This method is equivalent to {@link * #createMBean(String,ObjectName,ObjectName,Object[],String[]) @@ -198,11 +204,14 @@ * MBean server will use its {@link * javax.management.loading.ClassLoaderRepository Default Loader * Repository} to load the class of the MBean. An object name is - * associated to the MBean. If the object name given is null, the - * MBean must provide its own name by implementing the {@link + * associated with the MBean. If the object name given is null, the + * MBean must provide its own name in one or both of two ways: by implementing the {@link * javax.management.MBeanRegistration MBeanRegistration} interface * and returning the name from the {@link - * MBeanRegistration#preRegister preRegister} method. + * MBeanRegistration#preRegister preRegister} method; or by defining + * an {@code objectNameTemplate} field in its {@link Descriptor}, + * typically using the {@link ObjectNameTemplate @ObjectNameTemplate} + * annotation.

* * @param className The class name of the MBean to be instantiated. * @param name The object name of the MBean. May be null. @@ -267,15 +276,18 @@ NotCompliantMBeanException, IOException; /** - * Instantiates and registers an MBean in the MBean server. The + *

Instantiates and registers an MBean in the MBean server. The * class loader to be used is identified by its object name. An - * object name is associated to the MBean. If the object name of + * object name is associated with the MBean. If the object name of * the loader is not specified, the ClassLoader that loaded the - * MBean server will be used. If the MBean object name given is - * null, the MBean must provide its own name by implementing the - * {@link javax.management.MBeanRegistration MBeanRegistration} - * interface and returning the name from the {@link - * MBeanRegistration#preRegister preRegister} method. + * MBean server will be used. If the object name given is null, the + * MBean must provide its own name in one or both of two ways: by implementing the {@link + * javax.management.MBeanRegistration MBeanRegistration} interface + * and returning the name from the {@link + * MBeanRegistration#preRegister preRegister} method; or by defining + * an {@code objectNameTemplate} field in its {@link Descriptor}, + * typically using the {@link ObjectNameTemplate @ObjectNameTemplate} + * annotation.

* * @param className The class name of the MBean to be instantiated. * @param name The object name of the MBean. May be null. @@ -424,7 +436,17 @@ * specified, all the MBeans registered will be retrieved. * @param query The query expression to be applied for selecting * MBeans. If null no query expression will be applied for - * selecting MBeans. + * selecting MBeans. ObjectName patterns that may be contained in the + * query expression will be + * evaluated in the context of the + * {@link javax.management.namespace namespace} + * in which the MBeans selected by {@code name} are registered. + * Thus, in the {@code query} parameter, no ObjectName pattern containing a + * namespace path can match any of the MBean names selected by {@code name}. + * See the + * namespaces documentation for more details. * * @return A set containing the ObjectInstance * objects for the selected MBeans. If no MBean satisfies the @@ -432,6 +454,11 @@ * * @exception IOException A communication problem occurred when * talking to the MBean server. + * @exception RuntimeOperationsException Wraps a + * java.lang.IllegalArgumentException: The name + * parameter contains an invalid pattern. See the + * namespaces documentation for more details. */ public Set queryMBeans(ObjectName name, QueryExp query) throws IOException; @@ -452,7 +479,17 @@ * specified, the name of all registered MBeans will be retrieved. * @param query The query expression to be applied for selecting * MBeans. If null no query expression will be applied for - * selecting MBeans. + * selecting MBeans. ObjectName patterns that may be contained in the + * query expression will be + * evaluated in the context of the + * {@link javax.management.namespace namespace} + * in which the MBeans slected by {@code name} are registered. + * Thus, in the {@code query} parameter, no ObjectName pattern containing a + * namespace path can match any of the MBean names selected by {@code name}. + * See the + * namespaces documentation for more details. * * @return A set containing the ObjectNames for the MBeans * selected. If no MBean satisfies the query, an empty list is @@ -460,6 +497,11 @@ * * @exception IOException A communication problem occurred when * talking to the MBean server. + * @exception RuntimeOperationsException Wraps a + * java.lang.IllegalArgumentException: The name + * parameter contains an invalid pattern. See the + * namespaces documentation for more details. */ public Set queryNames(ObjectName name, QueryExp query) throws IOException; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/MBeanServerNotification.java --- a/jdk/src/share/classes/javax/management/MBeanServerNotification.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/MBeanServerNotification.java Wed Jul 05 16:45:14 2017 +0200 @@ -57,15 +57,55 @@ * what = "Unknown type " + n.getType(); * System.out.println("Received MBean Server notification: " + what + ": " + * mbsn.getMBeanName()); + * } * }; * * ... * mbeanServer.addNotificationListener( * MBeanServerDelegate.DELEGATE_NAME, printListener, null, null); * - * - *

The following code prints a message every time an MBean is registered - * or unregistered in the MBean Server {@code mbeanServer}:

+ *

+ * An MBean which is not an {@link MBeanServerDelegate} may also emit + * MBeanServerNotifications. In particular, a custom subclass of the + * {@link javax.management.namespace.JMXDomain JMXDomain} MBean or a custom + * subclass of the {@link javax.management.namespace.JMXNamespace JMXNamespace} + * MBean may emit an MBeanServerNotification for a group of MBeans.
+ * An MBeanServerNotification emitted to denote the registration or + * unregistration of a group of MBeans has the following characteristics: + *

  • Its {@linkplain Notification#getType() notification type} is + * {@code "JMX.mbean.registered.group"} or + * {@code "JMX.mbean.unregistered.group"}, which can also be written {@link + * MBeanServerNotification#REGISTRATION_NOTIFICATION}{@code + ".group"} or + * {@link + * MBeanServerNotification#UNREGISTRATION_NOTIFICATION}{@code + ".group"}. + *
  • + *
  • Its {@linkplain #getMBeanName() MBean name} is an ObjectName pattern + * that selects the set (or a superset) of the MBeans being registered + * or unregistered
  • + *
  • Its {@linkplain Notification#getUserData() user data} can optionally + * be set to an array of ObjectNames containing the names of all MBeans + * being registered or unregistered.
  • + *
+ *

+ *

+ * MBeans which emit these group registration/unregistration notifications will + * declare them in their {@link MBeanInfo#getNotifications() + * MBeanNotificationInfo}. + *

+ *

+ * To receive a group MBeanServerNotification, you need to register a listener + * with the MBean that emits it. For instance, assuming that the {@link + * javax.management.namespace.JMXNamespace JMXNamespace} MBean handling + * namespace {@code "foo"} has declared that it emits such a notification, + * you will need to register your notification listener with that MBean, which + * will be named {@link + * javax.management.namespace.JMXNamespaces#getNamespaceObjectName(java.lang.String) + * foo//:type=JMXNamespace}. + *

+ *

The following code prints a message every time a group of MBean is + * registered or unregistered in the namespace {@code "foo"}, assumimg its + * {@link javax.management.namespace.JMXNamespace handler} supports + * group MBeanServerNotifications:

* *
  * private static final NotificationListener printListener = new NotificationListener() {
@@ -76,19 +116,33 @@
  *         }
  *         MBeanServerNotification mbsn = (MBeanServerNotification) n;
  *         String what;
- *         if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION))
+ *         ObjectName[] names = null;
+ *         if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION)) {
  *             what = "MBean registered";
- *         else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION))
+ *         } else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION)) {
  *             what = "MBean unregistered";
- *         else
+ *         } else if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION+".group")) {
+ *             what = "Group of MBeans registered matching";
+ *             if (mbsn.getUserData() instanceof ObjectName[])
+ *                names =  (ObjectName[]) mbsn.getUserData();
+ *         } else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION+".group")) {
+ *             what = "Group of MBeans unregistered matching";
+ *             if (mbsn.getUserData() instanceof ObjectName[])
+ *                names = (ObjectName[]) mbsn.getUserData();
+ *         } else
  *             what = "Unknown type " + n.getType();
  *         System.out.println("Received MBean Server notification: " + what + ": " +
  *                 mbsn.getMBeanName());
+ *         if (names != null) {
+ *              for (ObjectName mb : names)
+ *                  System.out.println("\t"+mb);
+ *         }
+ *     }
  * };
  *
  * ...
  *     mbeanServer.addNotificationListener(
- *             MBeanServerDelegate.DELEGATE_NAME, printListener, null, null);
+ *             JMXNamespaces.getNamespaceObjectName("foo"), printListener, null, null);
  * 
* * @since 1.5 diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/NotificationBroadcasterSupport.java --- a/jdk/src/share/classes/javax/management/NotificationBroadcasterSupport.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/NotificationBroadcasterSupport.java Wed Jul 05 16:45:14 2017 +0200 @@ -249,6 +249,26 @@ } } } + /** + * Returns true if there are any listeners. + * + * @return true if there is at least one listener that has been added with + * {@code addNotificationListener} and not subsequently removed with + * {@code removeNotificationListener} or {@code removeAllNotificationListeners}. + * @since 1.7 + */ + public boolean isListenedTo() { + return listenerList.size() > 0; + } + + /** + * Removes all listeners. + * + * @since 1.7 + */ + public void removeAllNotificationListeners() { + listenerList.clear(); + } /** *

This method is called by {@link #sendNotification diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/NotificationInfo.java --- a/jdk/src/share/classes/javax/management/NotificationInfo.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/NotificationInfo.java Wed Jul 05 16:45:14 2017 +0200 @@ -44,7 +44,13 @@ * "com.example.notifs.destroy"}) * public interface CacheMBean {...} * - * public class Cache implements CacheMBean {...} + * public class Cache + * extends NotificationBroadcasterSupport implements CacheMBean { + * public Cache() { + * super(); // do not supply any MBeanNotificationInfo[] + * } + * ... + * } * * *

@@ -52,7 +58,11 @@
  * {@link MBean @MBean}
  * {@code @NotificationInfo}(types={"com.example.notifs.create",
  *                          "com.example.notifs.destroy"})
- * public class Cache {...}
+ * public class Cache {
+ *     {@code @Resource}
+ *     private volatile SendNotification sendNotification;
+ *     ...
+ * }
  * 
* *

Each {@code @NotificationInfo} produces an {@link @@ -64,6 +74,13 @@ * several {@code @NotificationInfo} annotations into a containing * {@link NotificationInfos @NotificationInfos} annotation. * + *

The {@code @NotificationInfo} and {@code @NotificationInfos} annotations + * are ignored on an MBean that is not a {@linkplain JMX#isNotificationSource + * notification source} or that implements {@link NotificationBroadcaster} and + * returns a non-empty array from its {@link + * NotificationBroadcaster#getNotificationInfo() getNotificationInfo()} + * method.

+ * *

The {@code NotificationInfo} and {@code NotificationInfos} * annotations can be applied to the MBean implementation class, or to * any parent class or interface. These annotations on a class take @@ -71,7 +88,8 @@ * If an MBean does not have these annotations on its class or any * superclass, then superinterfaces are examined. It is an error for * more than one superinterface to have these annotations, unless one - * of them is a child of all the others.

+ * of them is a descendant of all the others; registering such an erroneous + * MBean will cause a {@link NotCompliantMBeanException}.

*/ @Documented @Inherited diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/ObjectName.java --- a/jdk/src/share/classes/javax/management/ObjectName.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/ObjectName.java Wed Jul 05 16:45:14 2017 +0200 @@ -56,14 +56,38 @@ * properties.

* *

The domain is a string of characters not including - * the character colon (:). It is recommended that the domain - * should not contain the string "{@code //}", which is reserved for future use. + * the character colon (:).

+ *

Starting with the version 2.0 of the JMX specification, the + * domain can also start with a {@linkplain + * javax.management.namespace#NamespacePrefix namespace prefix} identifying + * the {@linkplain javax.management.namespace namespace} in which the + * MBean is registered. A namespace prefix is a path string where + * elements are separated by a double slash (//). + * It identifies the {@linkplain javax.management.namespace namespace} in + * which the MBean so named is registered.

+ * + *

For instance the ObjectName bar//baz:k=v identifiies an MBean + * named baz:k=v in the namespace bar. Similarly the + * ObjectName foo//bar//baz:k=v identifiies an MBean named + * baz:k=v in the namespace foo//bar. See the {@linkplain + * javax.management.namespace namespace} documentation for more details.

* *

If the domain includes at least one occurrence of the wildcard * characters asterisk (*) or question mark * (?), then the object name is a pattern. The asterisk * matches any sequence of zero or more characters, while the question - * mark matches any single character.

+ * mark matches any single character.
+ * A namespace separator // does not match wildcard + * characters unless it is at the very end of the domain string. + * So foo*bar*:* does not match foo//bar:k=v but it + * does match fooxbar//:k=v. + *

+ * + *

When included in a namespace path the special path element + * ** matches any number of sub namespaces + * recursively, but only if used as a complete namespace path element, + * as in **//b//c//D:k=v or a//**//c//D:k=v + * - see below. * *

If the domain is empty, it will be replaced in certain contexts * by the default domain of the MBean server in which the @@ -171,6 +195,51 @@ * with {@code \}. * * + *

Pattern and namespaces:

+ *

In an object name pattern, a path element + * of exactly ** corresponds to a meta + * wildcard that will match any number of sub namespaces.
Hence:

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
patternmatchesdoesn't match
  • **//D:k=v
a//D:k=v
+ * a//b//D:k=v
+ * a//b//c//D:k=v
D:k=v
  • a//**//D:k=v
a//b//D:k=v
+ * a//b//c//D:k=v
b//b//c//D:k=v
+ * a//D:k=v
+ * D:k=v
  • a//**//e//D:k=v
a//b//e//D:k=v
+ * a//b//c//e//D:k=v
a//b//c//c//D:k=v
+ * b//b//c//e//D:k=v
+ * a//e//D:k=v
+ * e//D:k=v
  • a//b**//e//D:k=v
a//b//e//D:k=va//b//c//e//D:k=v
+ * because in that case b**
+ * is not a meta-wildcard - and b**
+ * is thus equivalent to b*.
+ * + *

+ *

+ * Note: Although ObjectName patterns where the characters + * * and ? appear in the namespace path are legal, + * they are not valid in the {@code name} parameter of the MBean Server's + * {@link MBeanServer#queryNames queryNames} and {@link MBeanServer#queryMBeans + * queryMBeans} methods. See the + * namespaces documentation for more details. + *

+ * *

An ObjectName can be written as a String with the following * elements in order:

* @@ -439,11 +508,6 @@ _propertyList = aname._propertyList; _property_list_pattern = aname._property_list_pattern; _property_value_pattern = aname._property_value_pattern; - // TODO remove this hack - // if (toString().endsWith("//javax.management.service:type1=event_client_delegeate_mbean,type2=default")) { - // Thread.currentThread().dumpStack(); - // throw new Error("************************ Gotcha!"); - //} } // Instance private fields <======================================= @@ -1096,11 +1160,10 @@ */ private boolean isDomain(String domain) { if (domain == null) return true; - final char[] d=domain.toCharArray(); - final int len = d.length; + final int len = domain.length(); int next = 0; while (next < len) { - final char c = d[next++]; + final char c = domain.charAt(next++); switch (c) { case ':' : case '\n' : @@ -1234,12 +1297,6 @@ if (!nw.equals("")) { nameString = nw + NAMESPACE_SEPARATOR + nameString; } - // TODO remove this hack - // if (nameString.endsWith("//javax.management.service:type1=event_client_delegeate_mbean,type2=default")) { - // System.err.println("old="+old+", nw="+nw); - // Thread.currentThread().dumpStack(); - // throw new Error("************************ Gotcha!"); - // } return nameString; } @@ -1584,13 +1641,18 @@ * @return A new {@code ObjectName} that is the same as {@code this} * except the domain is {@code newDomain}. * @throws NullPointerException if {@code newDomain} is null. - * @throws MalformedObjectNameException if the new domain is syntactically - * illegal. + * @exception IllegalArgumentException The {@code newDomain} passed as a + * parameter does not have the right format. The {@linkplain + * Throwable#getCause() cause} of this exception will be a + * {@link MalformedObjectNameException}. * @since 1.7 **/ - public final ObjectName withDomain(String newDomain) - throws MalformedObjectNameException { - return new ObjectName(newDomain, this); + public final ObjectName withDomain(String newDomain) { + try { + return new ObjectName(newDomain, this); + } catch (MalformedObjectNameException x) { + throw new IllegalArgumentException(x.getMessage(),x); + } } /** diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/ObjectNameTemplate.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/share/classes/javax/management/ObjectNameTemplate.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,131 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ +package javax.management; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Annotation to allow an MBean to provide its name. + * This annotation can be used on the following types: + *
    + *
  • MBean or MXBean Java interface.
  • + *
  • Java class annotated with {@link javax.management.MBean @MBean} + * annotation.
  • + *
  • Java class annotated with {@link javax.management.MXBean @MXBean} + * annotation.
  • + *
+ * + *

The value of this annotation is used to build the ObjectName + * when instances of the annotated type are registered in + * an MBeanServer and no explicit name is given to the + * {@code createMBean} or {@code registerMBean} method (the {@code ObjectName} + * is {@code null}).

+ * + *

For Dynamic MBeans, which define their own {@code MBeanInfo}, you can + * produce the same effect as this annotation by including a field + * {@code objectNameTemplate} + * in the {@link Descriptor} for the {@code MBeanInfo} returned by + * {@link DynamicMBean#getMBeanInfo()}.

+ * + *

For Standard MBeans and MXBeans, this annotation automatically produces + * an {@code objectNameTemplate} field in the {@code Descriptor}.

+ * + *

The template can contain variables so that the name of the MBean + * depends on the value of one or more of its attributes. + * A variable that identifies an MBean attribute is of the form + * {attribute name}. For example, to make an MBean name + * depend on the Name attribute, use the variable + * {Name}. Attribute names are case sensitive. + * Naming attributes can be of any type. The String returned by + * toString() is included in the constructed name.

+ * + *

If you need the attribute value to be quoted + * by a call to {@link ObjectName#quote(String) ObjectName.quote}, + * surround the variable with quotes. Quoting only applies to key values. + * For example, @ObjectNameTemplate("java.lang:type=MemoryPool,name=\"{Name}\""), + * quotes the Name attribute value. You can notice the "\" + * character needed to escape a quote within a String. A name + * produced by this template might look like + * {@code java.lang:type=MemoryPool,name="Code Cache"}.

+ * + *

Variables can be used anywhere in the String. + * Be sure to make the template derived name comply with + * {@link ObjectName ObjectName} syntax.

+ * + *

If an MBean is registered with a null name and it implements + * {@link javax.management.MBeanRegistration MBeanRegistration}, then + * the computed name is provided to the preRegister method. + * Similarly, + * if the MBean uses resource + * injection to discover its name, it is the computed name that will + * be injected.

+ *

All of the above can be used with the {@link StandardMBean} class and + * the annotation is effective in that case too.

+ *

If any exception occurs (such as unknown attribute, invalid syntax or + * exception + * thrown by the MBean) when the name is computed it is wrapped in a + * NotCompliantMBeanException.

+ *

Some ObjectName template examples: + *

  • "com.example:type=Memory". Fixed ObjectName. Used to name a + * singleton MBean.
  • + *
  • "com.example:type=MemoryPool,name={Name}". Variable ObjectName. + * Name attribute is retrieved to compose the name + * key value.
  • + *
  • "com.example:type=SomeType,name={InstanceName},id={InstanceId}". + * Variable ObjectName. + * InstanceName and InstanceId attributes are + * retrieved to compose respectively + * the name and id key values.
  • + *
  • "com.example:type=OtherType,name=\"{ComplexName}\"". Variable ObjectName. + * ComplexName attribute is retrieved to compose the + * name key quoted value.
  • + *
  • "com.example:{TypeKey}=SomeOtherType". Variable ObjectName. + * TypeKey attribute is retrieved to compose the + * first key name.
  • + * *
  • "{Domain}:type=YetAnotherType". Variable ObjectName. + * Domain attribute is retrieved to compose the + * management domain.
  • + *
  • "{Naming}". Variable ObjectName. + * Naming attribute is retrieved to compose the + * complete name.
  • + *
+ *

+ */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface ObjectNameTemplate { + + /** + * The MBean name template. + * @return The MBean name template. + */ + @DescriptorKey("objectNameTemplate") + public String value(); +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/StandardMBean.java --- a/jdk/src/share/classes/javax/management/StandardMBean.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/StandardMBean.java Wed Jul 05 16:45:14 2017 +0200 @@ -28,14 +28,21 @@ import com.sun.jmx.mbeanserver.DescriptorCache; import com.sun.jmx.mbeanserver.Introspector; import com.sun.jmx.mbeanserver.MBeanInjector; +import com.sun.jmx.mbeanserver.MBeanInstantiator; +import com.sun.jmx.mbeanserver.MBeanIntrospector; import com.sun.jmx.mbeanserver.MBeanSupport; import com.sun.jmx.mbeanserver.MXBeanSupport; import com.sun.jmx.mbeanserver.StandardMBeanSupport; import com.sun.jmx.mbeanserver.Util; +import java.lang.reflect.Method; import java.security.AccessController; import java.security.PrivilegedAction; +import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; +import java.util.List; import java.util.Map; +import java.util.Set; import java.util.WeakHashMap; import java.util.logging.Level; import javax.management.openmbean.MXBeanMappingFactory; @@ -135,6 +142,7 @@ private static final long serialVersionUID = 5107355471177517164L; private boolean wrappedVisible; + private boolean forwardRegistration; /** *

Construct an {@code Options} object where all options have @@ -177,15 +185,56 @@ this.wrappedVisible = visible; } - // Canonical objects for each of (MXBean,!MXBean) x (WVisible,!WVisible) + /** + *

Defines whether the {@link MBeanRegistration MBeanRegistration} + * callbacks are forwarded to the wrapped object.

+ * + *

If this option is true, then + * {@link #preRegister(MBeanServer, ObjectName) preRegister}, + * {@link #postRegister(Boolean) postRegister}, + * {@link #preDeregister preDeregister} and + * {@link #postDeregister postDeregister} methods are forwarded + * to the wrapped object, in addition to the behaviour specified + * for the StandardMBean instance itself. + * The default value is false for compatibility reasons, but true + * is a better value for most new code.

+ * + * @return true if the MBeanRegistration callbacks + * are forwarded to the wrapped object. + */ + public boolean isMBeanRegistrationForwarded() { + return this.forwardRegistration; + } + + /** + *

Set the + * {@link #isMBeanRegistrationForwarded MBeanRegistrationForwarded} + * option to the given value.

+ * @param forward the new value. + */ + public void setMBeanRegistrationForwarded(boolean forward) { + this.forwardRegistration = forward; + } + + // Canonical objects for each of + // (MXBean,!MXBean) x (WVisible,!WVisible) x (Forward,!Forward) private static final Options[] CANONICALS = { new Options(), new Options(), new Options(), new Options(), + new Options(), new Options(), new Options(), new Options(), }; static { CANONICALS[1].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT); CANONICALS[2].setWrappedObjectVisible(true); CANONICALS[3].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT); CANONICALS[3].setWrappedObjectVisible(true); + CANONICALS[4].setMBeanRegistrationForwarded(true); + CANONICALS[5].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT); + CANONICALS[5].setMBeanRegistrationForwarded(true); + CANONICALS[6].setWrappedObjectVisible(true); + CANONICALS[6].setMBeanRegistrationForwarded(true); + CANONICALS[7].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT); + CANONICALS[7].setWrappedObjectVisible(true); + CANONICALS[7].setMBeanRegistrationForwarded(true); } @Override MBeanOptions[] canonicals() { @@ -195,7 +244,8 @@ @Override boolean same(MBeanOptions opts) { return (super.same(opts) && opts instanceof Options && - ((Options) opts).wrappedVisible == wrappedVisible); + ((Options) opts).wrappedVisible == wrappedVisible && + ((Options) opts).forwardRegistration ==forwardRegistration); } } @@ -477,7 +527,9 @@ * * @exception IllegalArgumentException if the given * implementation is null. - * + * @exception IllegalStateException if the + * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded} + * option is true. * @exception NotCompliantMBeanException if the given * implementation does not implement the * Standard MBean (or MXBean) interface that was @@ -490,6 +542,12 @@ if (implementation == null) throw new IllegalArgumentException("implementation is null"); + + if(options instanceof Options && + ((Options) options).isMBeanRegistrationForwarded()) + throw new IllegalStateException("Implementation can't be changed " + + "because MBeanRegistrationForwarded option is true"); + setImplementation2(implementation); } @@ -1265,6 +1323,145 @@ return natts; } + // ------------------------------------------------------------------ + // Resolve from a type name to a Class. + // ------------------------------------------------------------------ + private static Class resolveClass(MBeanFeatureInfo info, String type, + Class mbeanItf) + throws ClassNotFoundException { + String t = (String) info.getDescriptor(). + getFieldValue(JMX.ORIGINAL_TYPE_FIELD); + if (t == null) { + t = type; + } + Class clazz = MBeanInstantiator.primitiveType(t); + if(clazz == null) + clazz = Class.forName(t, false, mbeanItf.getClassLoader()); + return clazz; + } + + // ------------------------------------------------------------------ + // Return the subset of valid Management methods + // ------------------------------------------------------------------ + private static Method getManagementMethod(final Class mbeanType, + String opName, Class... parameters) throws NoSuchMethodException, + SecurityException { + Method m = mbeanType.getMethod(opName, parameters); + if (mbeanType.isInterface()) { + return m; + } + final List methods = new ArrayList(); + try { + MBeanIntrospector.getAnnotatedMethods(mbeanType, methods); + }catch (SecurityException ex) { + throw ex; + }catch (NoSuchMethodException ex) { + throw ex; + }catch (Exception ex) { + NoSuchMethodException nsme = + new NoSuchMethodException(ex.toString()); + nsme.initCause(ex); + throw nsme; + } + + if(methods.contains(m)) return m; + + throw new NoSuchMethodException("Operation " + opName + + " not found in management interface " + mbeanType.getName()); + } + /** + * Retrieve the set of MBean attribute accessor Methods + * located in the mbeanInterface MBean interface that + * correspond to the attr MBeanAttributeInfo + * parameter. + * @param mbeanInterface the management interface. + * Can be a standard MBean or MXBean interface, or a Java class + * annotated with {@link MBean @MBean} or {@link MXBean @MXBean}. + * @param attr The attribute we want the accessors for. + * @return The set of accessors. + * @throws java.lang.NoSuchMethodException if no accessor exists + * for the given {@link MBeanAttributeInfo MBeanAttributeInfo}. + * @throws java.lang.IllegalArgumentException if at least one + * of the two parameters is null. + * @throws java.lang.ClassNotFoundException if the class named in the + * attribute type is not found. + * @throws java.lang.SecurityException if this exception is + * encountered while introspecting the MBean interface. + */ + public static Set findAttributeAccessors(Class mbeanInterface, + MBeanAttributeInfo attr) + throws NoSuchMethodException, + ClassNotFoundException { + if (mbeanInterface == null || attr == null) { + throw new IllegalArgumentException("mbeanInterface or attr " + + "parameter is null"); + } + String attributeName = attr.getName(); + Set methods = new HashSet(); + Class clazz = resolveClass(attr, attr.getType(), mbeanInterface); + if (attr.isReadable()) { + String radical = "get"; + if(attr.isIs()) radical = "is"; + Method getter = getManagementMethod(mbeanInterface, radical + + attributeName); + if (getter.getReturnType().equals(clazz)) { + methods.add(getter); + } else { + throw new NoSuchMethodException("Invalid getter return type, " + + "should be " + clazz + ", found " + + getter.getReturnType()); + } + } + if (attr.isWritable()) { + Method setter = getManagementMethod(mbeanInterface, "set" + + attributeName, + clazz); + if (setter.getReturnType().equals(Void.TYPE)) { + methods.add(setter); + } else { + throw new NoSuchMethodException("Invalid setter return type, " + + "should be void, found " + setter.getReturnType()); + } + } + return methods; + } + + /** + * Retrieve the MBean operation Method + * located in the mbeanInterface MBean interface that + * corresponds to the provided op + * MBeanOperationInfo parameter. + * @param mbeanInterface the management interface. + * Can be a standard MBean or MXBean interface, or a Java class + * annotated with {@link MBean @MBean} or {@link MXBean @MXBean}. + * @param op The operation we want the method for. + * @return the method corresponding to the provided MBeanOperationInfo. + * @throws java.lang.NoSuchMethodException if no method exists + * for the given {@link MBeanOperationInfo MBeanOperationInfo}. + * @throws java.lang.IllegalArgumentException if at least one + * of the two parameters is null. + * @throws java.lang.ClassNotFoundException if one of the + * classes named in the operation signature array is not found. + * @throws java.lang.SecurityException if this exception is + * encountered while introspecting the MBean interface. + */ + public static Method findOperationMethod(Class mbeanInterface, + MBeanOperationInfo op) + throws ClassNotFoundException, NoSuchMethodException { + if (mbeanInterface == null || op == null) { + throw new IllegalArgumentException("mbeanInterface or op " + + "parameter is null"); + } + List> classes = new ArrayList>(); + for (MBeanParameterInfo info : op.getSignature()) { + Class clazz = resolveClass(info, info.getType(), mbeanInterface); + classes.add(clazz); + } + Class[] signature = new Class[classes.size()]; + classes.toArray(signature); + return getManagementMethod(mbeanInterface, op.getName(), signature); + } + /** *

Allows the MBean to perform any operations it needs before * being registered in the MBean server. If the name of the MBean @@ -1273,10 +1470,14 @@ * registered in the MBean server.

* *

The default implementation of this method returns the {@code name} - * parameter. It does nothing else for - * Standard MBeans. For MXBeans, it records the {@code MBeanServer} - * and {@code ObjectName} parameters so they can be used to translate - * inter-MXBean references.

+ * parameter. If the + * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded} + * option is set to true, then this method is forwarded to the object + * returned by the {@link #getImplementation getImplementation()} method. + * The name returned by this call is then returned by this method. + * It does nothing else for Standard MBeans. For MXBeans, it records + * the {@code MBeanServer} and {@code ObjectName} parameters so they can + * be used to translate inter-MXBean references.

* *

It is good practice for a subclass that overrides this method * to call the overridden method via {@code super.preRegister(...)}. @@ -1311,6 +1512,11 @@ */ public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception { + // Forward preRegister before to call register and + // inject parameters. + if(shouldForwardMBeanRegistration()) + name = ((MBeanRegistration)getImplementation()). + preRegister(server, name); mbean.register(server, name); MBeanInjector.inject(mbean.getWrappedObject(), server, name); return name; @@ -1320,7 +1526,11 @@ *

Allows the MBean to perform any operations needed after having been * registered in the MBean server or after the registration has failed.

* - *

The default implementation of this method does nothing for + *

If the + * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded} + * option is set to true, then this method is forwarded to the object + * returned by the {@link #getImplementation getImplementation()} method. + * The default implementation of this method does nothing else for * Standard MBeans. For MXBeans, it undoes any work done by * {@link #preRegister preRegister} if registration fails.

* @@ -1338,16 +1548,24 @@ public void postRegister(Boolean registrationDone) { if (!registrationDone) mbean.unregister(); + if(shouldForwardMBeanRegistration()) + ((MBeanRegistration)getImplementation()). + postRegister(registrationDone); } /** *

Allows the MBean to perform any operations it needs before * being unregistered by the MBean server.

* - *

The default implementation of this method does nothing.

+ *

If the + * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded} + * option is set to true, then this method is forwarded to the object + * returned by the {@link #getImplementation getImplementation()} method. + * Other than that, the default implementation of this method does nothing. + *

* *

It is good practice for a subclass that overrides this method - * to call the overridden method via {@code super.preDeegister(...)}.

+ * to call the overridden method via {@code super.preDeregister(...)}.

* * @throws Exception no checked exceptions are throw by this method * but {@code Exception} is declared so that subclasses can override @@ -1356,13 +1574,19 @@ * @since 1.6 */ public void preDeregister() throws Exception { + if(shouldForwardMBeanRegistration()) + ((MBeanRegistration)getImplementation()).preDeregister(); } /** *

Allows the MBean to perform any operations needed after having been * unregistered in the MBean server.

* - *

The default implementation of this method does nothing for + *

If the + * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded} + * option is set to true, then this method is forwarded to the object + * returned by the {@link #getImplementation getImplementation()} method. + * The default implementation of this method does nothing else for * Standard MBeans. For MXBeans, it removes any information that * was recorded by the {@link #preRegister preRegister} method.

* @@ -1375,8 +1599,15 @@ */ public void postDeregister() { mbean.unregister(); + if(shouldForwardMBeanRegistration()) + ((MBeanRegistration)getImplementation()).postDeregister(); } + private boolean shouldForwardMBeanRegistration() { + return (getImplementation() instanceof MBeanRegistration) && + (options instanceof Options && + ((Options) options).isMBeanRegistrationForwarded()); + } // // MBeanInfo immutability // diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/event/EventClient.java --- a/jdk/src/share/classes/javax/management/event/EventClient.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/event/EventClient.java Wed Jul 05 16:45:14 2017 +0200 @@ -187,9 +187,10 @@ * forwarded by the {@link EventClientDelegateMBean}. If {@code null}, a * {@link FetchingEventRelay} object will be used. * @param distributingExecutor Used to distribute notifications to local - * listeners. If {@code null}, the thread that calls {@link - * EventReceiver#receive EventReceiver.receive} from the {@link EventRelay} - * object is used. + * listeners. Only one job at a time will be submitted to this Executor. + * If {@code distributingExecutor} is {@code null}, the thread that calls + * {@link EventReceiver#receive EventReceiver.receive} from the {@link + * EventRelay} object is used. * @param leaseScheduler An object that will be used to schedule the * periodic {@linkplain EventClientDelegateMBean#lease lease updates}. * If {@code null}, a default scheduler will be used. @@ -545,7 +546,7 @@ * *

The method returns the listeners which were added successfully. The * elements in the returned collection are a subset of the elements in - * {@code infoList}. If all listeners were added successfully, the two + * {@code listeners}. If all listeners were added successfully, the two * collections are the same. If no listener was added successfully, the * returned collection is empty.

* diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/event/FetchingEventRelay.java --- a/jdk/src/share/classes/javax/management/event/FetchingEventRelay.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/event/FetchingEventRelay.java Wed Jul 05 16:45:14 2017 +0200 @@ -39,10 +39,18 @@ import javax.management.remote.NotificationResult; /** - * This class is an implementation of the {@link EventRelay} interface. It calls + *

This class is an implementation of the {@link EventRelay} interface. It calls * {@link EventClientDelegateMBean#fetchNotifications * fetchNotifications(String, long, int, long)} to get - * notifications and then forwards them to an {@link EventReceiver} object. + * notifications and then forwards them to an {@link EventReceiver} object.

+ * + *

A {@code fetchExecutor} parameter can be specified when creating a + * {@code FetchingEventRelay}. That is then the {@code Executor} that will + * be used to perform the {@code fetchNotifications} operation. Only one + * job at a time will be submitted to this {@code Executor}. The behavior + * is unspecified if {@link Executor#execute} throws an exception, including + * {@link java.util.concurrent.RejectedExecutionException + * RejectedExecutionException}. * * @since JMX 2.0 */ diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/loading/MLet.java --- a/jdk/src/share/classes/javax/management/loading/MLet.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/loading/MLet.java Wed Jul 05 16:45:14 2017 +0200 @@ -1165,9 +1165,10 @@ file.deleteOnExit(); FileOutputStream fileOutput = new FileOutputStream(file); try { - int c; - while ((c = is.read()) != -1) { - fileOutput.write(c); + byte[] buf = new byte[4096]; + int n; + while ((n = is.read(buf)) >= 0) { + fileOutput.write(buf, 0, n); } } finally { fileOutput.close(); diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java --- a/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java Wed Jul 05 16:45:14 2017 +0200 @@ -229,9 +229,10 @@ init(inDescr.descriptorMap); } - /** - *

Descriptor constructor taking an XML String.

+ *

Descriptor constructor taking an XML String or a + * fieldName=fieldValue format String. The String parameter is + * parsed as XML if it begins with a '<' character.

* *

The format of the XML string is not defined, but an * implementation must ensure that the string returned by @@ -244,17 +245,20 @@ * programmer will have to reset or convert these fields * correctly.

* - * @param inStr An XML-formatted string used to populate this - * Descriptor. The format is not defined, but any + * @param inStr An XML-format or a fieldName=fieldValue formatted string + * used to populate this Descriptor. The XML format is not defined, but any * implementation must ensure that the string returned by * method {@link #toXMLString toXMLString} on an existing * descriptor can be used to instantiate an equivalent * descriptor when instantiated using this constructor. * - * @exception RuntimeOperationsException If the String inStr - * passed in parameter is null + * @exception RuntimeOperationsException If the String inStr passed in + * parameter is null or, when it is not an XML string, if the field name or + * field value is illegal. If inStr is not an XML string then it must + * contain an "=". "fieldValue", "fieldName", and "fieldValue" are illegal. + * FieldName cannot be empty. "fieldName=" will cause the value to be empty. * @exception XMLParseException XML parsing problem while parsing - * the input String + * the XML-format input String * @exception MBeanException Wraps a distributed communication Exception. */ /* At some stage we should rewrite this code to be cleverer. Using @@ -283,14 +287,27 @@ throw new RuntimeOperationsException(iae, msg); } + // parse parameter string into structures + + init(null); + + if(!inStr.startsWith("<")) { + parseNamesValues(inStr); + if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) { + MODELMBEAN_LOGGER.logp(Level.FINEST, + DescriptorSupport.class.getName(), + "Descriptor(name=value)", "Exit"); + } + return; + } + final String lowerInStr = inStr.toLowerCase(); if (!lowerInStr.startsWith("") || !lowerInStr.endsWith("")) { throw new XMLParseException("No , pair"); } - // parse xmlstring into structures - init(null); + // create dummy descriptor: should have same size // as number of fields in xmlstring // loop through structures and put them in descriptor @@ -454,6 +471,16 @@ init(null); + parseNamesValues(fields); + + if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) { + MODELMBEAN_LOGGER.logp(Level.FINEST, + DescriptorSupport.class.getName(), + "Descriptor(String... fields)", "Exit"); + } + } + + private void parseNamesValues(String... fields) { for (int i=0; i < fields.length; i++) { if ((fields[i] == null) || (fields[i].equals(""))) { continue; @@ -495,11 +522,6 @@ setField(fieldName,fieldValue); } - if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) { - MODELMBEAN_LOGGER.logp(Level.FINEST, - DescriptorSupport.class.getName(), - "Descriptor(String... fields)", "Exit"); - } } private void init(Map initMap) { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/monitor/MonitorNotification.java --- a/jdk/src/share/classes/javax/management/monitor/MonitorNotification.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/monitor/MonitorNotification.java Wed Jul 05 16:45:14 2017 +0200 @@ -201,7 +201,7 @@ * @param derGauge The derived gauge. * @param trigger The threshold/string (depending on the monitor type) that triggered the notification. */ - MonitorNotification(String type, Object source, long sequenceNumber, long timeStamp, String msg, + public MonitorNotification(String type, Object source, long sequenceNumber, long timeStamp, String msg, ObjectName obsObj, String obsAtt, Object derGauge, Object trigger) { super(type, source, sequenceNumber, timeStamp, msg); diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/namespace/JMXDomain.java --- a/jdk/src/share/classes/javax/management/namespace/JMXDomain.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/namespace/JMXDomain.java Wed Jul 05 16:45:14 2017 +0200 @@ -35,7 +35,6 @@ import javax.management.InstanceNotFoundException; import javax.management.MBeanServer; import javax.management.MBeanServerDelegate; -import javax.management.MalformedObjectNameException; import javax.management.ObjectName; /** @@ -291,12 +290,9 @@ public static ObjectName getDomainObjectName(String domain) { if (domain == null) return null; if (domain.contains(NAMESPACE_SEPARATOR)) - throw new IllegalArgumentException(domain); - try { - return ObjectName.getInstance(domain, "type", TYPE); - } catch (MalformedObjectNameException x) { - throw new IllegalArgumentException(domain,x); - } + throw new IllegalArgumentException("domain contains " + + NAMESPACE_SEPARATOR+": "+domain); + return ObjectName.valueOf(domain, "type", TYPE); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/namespace/JMXNamespacePermission.java --- a/jdk/src/share/classes/javax/management/namespace/JMXNamespacePermission.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/namespace/JMXNamespacePermission.java Wed Jul 05 16:45:14 2017 +0200 @@ -136,7 +136,8 @@ * ** matches any number of sub namespaces * recursively, but only if used as a complete namespace path element, * as in **//b//c//D:k=v or a//**//c//D:k=v - * - see below. + * - see ObjectName documentation + * for more details. *

* * @@ -270,38 +271,9 @@ * *

Note on wildcards: In an object name pattern, a path element * of exactly ** corresponds to a meta - * wildcard that will match any number of sub namespaces. Hence:

- *
    - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
    patternmatchesdoesn't match
    **//D:k=va//D:k=v
    - * a//b//D:k=v
    - * a//b//c//D:k=v
    D:k=v
    a//**//D:k=va//b//D:k=v
    - * a//b//c//D:k=v
    b//b//c//D:k=v
    - * a//D:k=v
    - * D:k=v
    a//**//e//D:k=va//b//e//D:k=v
    - * a//b//c//e//D:k=v
    a//b//c//c//D:k=v
    - * b//b//c//e//D:k=v
    - * a//e//D:k=v
    - * e//D:k=v
    a//b**//e//D:k=va//b//e//D:k=va//b//c//e//D:k=v
    - * because in that case b**
    - * is not a meta-wildcard - and b**
    - * is thus equivalent to b*.
    - *
+ * wildcard that will match any number of sub namespaces. + * See ObjectName documentation + * for more details.

* *

If {@code ::} is omitted, then one of * member or object name may be omitted. diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/namespace/JMXNamespaces.java --- a/jdk/src/share/classes/javax/management/namespace/JMXNamespaces.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/namespace/JMXNamespaces.java Wed Jul 05 16:45:14 2017 +0200 @@ -292,17 +292,13 @@ if (path == null || to == null) throw new IllegalArgumentException("Null argument"); checkTrailingSlashes(path); - try { - String prefix = path; - if (!prefix.equals("")) prefix = - ObjectNameRouter.normalizeNamespacePath( + String prefix = path; + if (!prefix.equals("")) + prefix = ObjectNameRouter.normalizeNamespacePath( prefix + NAMESPACE_SEPARATOR,false,false,false); - return to.withDomain( + return to.withDomain( ObjectNameRouter.normalizeDomain( prefix+to.getDomain(),false)); - } catch (MalformedObjectNameException x) { - throw new IllegalArgumentException(path+": "+x,x); - } } /** diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/namespace/package-info.java --- a/jdk/src/share/classes/javax/management/namespace/package-info.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/namespace/package-info.java Wed Jul 05 16:45:14 2017 +0200 @@ -204,7 +204,38 @@ * * An easier way to access MBeans contained in a name space is to * cd inside the name space, as shown in the following paragraph. - *

+ *

+ * Although ObjectName patterns where the characters + * * and ? appear in the namespace path are + * legal, they are not valid in the {@code name} parameter of the + * MBean Server {@link + * javax.management.MBeanServer#queryNames queryNames} and {@link + * javax.management.MBeanServer#queryMBeans queryMBeans} methods.
+ * When invoking queryNames or queryMBeans, + * only ObjectNames of the form:
+ * [namespace-without-pattern//]*[pattern-without-namespace]:key-properties-with-or-without-pattern + * are valid.
+ * In other words: in the case of {@link + * javax.management.MBeanServer#queryNames queryNames} and {@link + * javax.management.MBeanServer#queryMBeans queryMBeans}, if a + * namespace path is present, it must not contain any pattern. + *

+ * There is no such restriction for the {@code query} parameter of these + * methods. However, it must be noted that the {@code query} parameter + * will be evaluated in the context of the namespace where the MBeans + * selected by the pattern specified in {@code name} are located. + * This means that if {@code query} parameter is an ObjectName pattern that + * contains a namespace path, no MBean name will match and the result of + * the query will be empty.
+ * In other words:

+ *
  • {@code queryNames("foo//bar//?a?:*","b?z:type=Monitor,*")} will select + * all MBeans in namespace foo//bar whose names match both + * ?a?:* and b?z:type=Monitor,*, but
  • + *
  • {@code queryNames("foo//bar//?a?:*","foo//bar//b?z:type=Monitor,*")} + * will select nothing because no name matching ?a?:* will + * also match foo//bar//b?z:type=Monitor,*. + *
  • + *
* *

Narrowing Down Into a Name Spaces

*

@@ -228,7 +259,8 @@ * to name space {@code "foo"} behaves just like a regular MBean server. * However, it may sometimes throw an {@link * java.lang.UnsupportedOperationException UnsupportedOperationException} - * wrapped in a JMX exception if you try to call an operation which is not + * wrapped in a {@link javax.management.RuntimeOperationsException + * RuntimeOperationsException} if you try to call an operation which is not * supported by the underlying name space handler. *
For instance, {@link javax.management.MBeanServer#registerMBean * registerMBean} is not supported for name spaces mounted from remote diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/remote/JMXConnectorServer.java --- a/jdk/src/share/classes/javax/management/remote/JMXConnectorServer.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/remote/JMXConnectorServer.java Wed Jul 05 16:45:14 2017 +0200 @@ -387,6 +387,34 @@ } /** + * Closes a client connection. If the connection is successfully closed, + * the method {@link #connectionClosed} is called to notify interested parties. + *

Not all connector servers support this method. For those that do, it + * should be possible to cause a new client connection to fail before it + * can be used, by calling this method from within a + * {@link javax.management.NotificationListener} + * when it receives a {@link JMXConnectionNotification#OPENED} notification. + * This allows the owner of a connector server to deny certain connections, + * typically based on the information in the connection id. + *

The implementation of this method in {@code JMXConnectorServer} throws + * {@code UnsupportedOperationException}. Subclasses can override this + * method to support closing a specified client connection. + * + * @param connectionId the id of the client connection to be closed. + * @throws IllegalStateException if the server is not started or is closed. + * @throws IllegalArgumentException if {@code connectionId} is null or is + * not the id of any open connection. + * @throws java.io.IOException if an I/O error appears when closing the + * connection. + * + * @since 1.7 + */ + public void closeConnection(String connectionId) + throws IOException { + throw new UnsupportedOperationException(); + } + + /** *

Install {@link MBeanServerForwarder}s in the system chain * based on the attributes in the given {@code Map}. A connector * server that {@linkplain #supportsSystemMBeanServerForwarder supports} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java --- a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java Wed Jul 05 16:45:14 2017 +0200 @@ -602,6 +602,26 @@ return true; } + /** + * {@inheritDoc} + *

The {@code RMIConnectorServer} class does support closing a specified + * client connection. + * @throws IllegalStateException if the server is not started or is closed. + * @throws IllegalArgumentException if {@code connectionId} is null or is + * not the id of any open connection. + * @since 1.7 + */ + @Override + public void closeConnection(String connectionId) + throws IOException { + if (isActive()) { + rmiServerImpl.closeConnection(connectionId); + } else { + throw new IllegalStateException( + "The server is not started or is closed."); + } + } + /* We repeat the definitions of connection{Opened,Closed,Failed} here so that they are accessible to other classes in this package even though they have protected access. */ diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java --- a/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java Wed Jul 05 16:45:14 2017 +0200 @@ -38,6 +38,9 @@ import javax.security.auth.Subject; import com.sun.jmx.remote.internal.RMIExporter; +import com.sun.jmx.remote.util.EnvHelp; +import sun.rmi.server.UnicastServerRef; +import sun.rmi.server.UnicastServerRef2; /** *

An {@link RMIServer} object that is exported through JRMP and that @@ -93,12 +96,27 @@ } private void export(Remote obj) throws RemoteException { - RMIExporter exporter = + final RMIExporter exporter = (RMIExporter) env.get(RMIExporter.EXPORTER_ATTRIBUTE); - if (exporter == null) + final boolean daemon = EnvHelp.isServerDaemon(env); + + if (daemon && exporter != null) { + throw new IllegalArgumentException("If "+EnvHelp.JMX_SERVER_DAEMON+ + " is specified as true, "+RMIExporter.EXPORTER_ATTRIBUTE+ + " cannot be used to specify an exporter!"); + } + + if (daemon) { + if (csf == null && ssf == null) { + new UnicastServerRef(port).exportObject(obj, null, true); + } else { + new UnicastServerRef2(port, csf, ssf).exportObject(obj, null, true); + } + } else if (exporter != null) { + exporter.exportObject(obj, port, csf, ssf); + } else { UnicastRemoteObject.exportObject(obj, port, csf, ssf); - else - exporter.exportObject(obj, port, csf, ssf); + } } private void unexport(Remote obj, boolean force) diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java --- a/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java Wed Jul 05 16:45:14 2017 +0200 @@ -249,14 +249,21 @@ RMIConnection client = makeClient(connectionId, subject); - connServer.connectionOpened(connectionId, "Connection opened", null); - dropDeadReferences(); WeakReference wr = new WeakReference(client); synchronized (clientList) { clientList.add(wr); } + connServer.connectionOpened(connectionId, "Connection opened", null); + + synchronized (clientList) { + if (!clientList.contains(wr)) { + // can be removed only by a JMXConnectionNotification listener + throw new IOException("The connection is refused."); + } + } + if (tracing) logger.trace("newClient","new connection done: " + connectionId ); @@ -264,6 +271,52 @@ } /** + * Closes a client connection. + * @param connectionId the id of the client connection to be closed. + * @throws IllegalArgumentException if {@code connectionId} is null or is + * not the id of any open connection. + * @throws java.io.IOException if an I/O error appears when closing the + * connection. + * + * @since 1.7 + */ + public void closeConnection(String connectionId) + throws IOException { + final boolean debug = logger.debugOn(); + + if (debug) logger.trace("closeConnection","cconnectionId="+connectionId); + + if (connectionId == null) + throw new IllegalArgumentException("Null connectionId."); + + RMIConnection client = null; + synchronized (clientList) { + dropDeadReferences(); + for (Iterator> it = clientList.iterator(); + it.hasNext(); ) { + client = it.next().get(); + if (client != null && connectionId.equals(client.getConnectionId())) { + it.remove(); + break; + } + } + } + + if (client == null) { + throw new IllegalArgumentException("Unknown id: "+connectionId); + } + + if (debug) logger.trace("closeConnection", "closing client connection."); + closeClient(client); + + if (debug) logger.trace("closeConnection", "sending notif"); + connServer.connectionClosed(connectionId, + "Client connection closed", null); + + if (debug) logger.trace("closeConnection","done"); + } + + /** *

Creates a new client connection. This method is called by * the public method {@link #newClient(Object)}.

* diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/print/Doc.java --- a/jdk/src/share/classes/javax/print/Doc.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/print/Doc.java Wed Jul 05 16:45:14 2017 +0200 @@ -28,9 +28,7 @@ import java.io.InputStream; import java.io.IOException; import java.io.Reader; -import java.io.UnsupportedEncodingException; -import javax.print.attribute.AttributeSet; import javax.print.attribute.DocAttributeSet; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/print/DocFlavor.java --- a/jdk/src/share/classes/javax/print/DocFlavor.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/print/DocFlavor.java Wed Jul 05 16:45:14 2017 +0200 @@ -30,7 +30,6 @@ import java.io.ObjectOutputStream; import java.io.Serializable; -import java.util.Map; /** * Class DocFlavor encapsulates an object that specifies the diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/print/DocPrintJob.java --- a/jdk/src/share/classes/javax/print/DocPrintJob.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/print/DocPrintJob.java Wed Jul 05 16:45:14 2017 +0200 @@ -25,7 +25,6 @@ package javax.print; -import javax.print.attribute.AttributeSet; import javax.print.attribute.PrintJobAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.event.PrintJobAttributeListener; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/print/MultiDocPrintService.java --- a/jdk/src/share/classes/javax/print/MultiDocPrintService.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/print/MultiDocPrintService.java Wed Jul 05 16:45:14 2017 +0200 @@ -25,11 +25,6 @@ package javax.print; -import java.util.Map; - -import javax.print.attribute.Attribute; -import javax.print.event.PrintServiceAttributeListener; - /** Interface MultiPrintService is the factory for a MultiDocPrintJob. * A MultiPrintService diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/print/PrintServiceLookup.java --- a/jdk/src/share/classes/javax/print/PrintServiceLookup.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/print/PrintServiceLookup.java Wed Jul 05 16:45:14 2017 +0200 @@ -28,7 +28,6 @@ import java.util.ArrayList; import java.util.Iterator; -import java.util.List; import javax.print.attribute.AttributeSet; import sun.awt.AppContext; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/print/attribute/URISyntax.java --- a/jdk/src/share/classes/javax/print/attribute/URISyntax.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/print/attribute/URISyntax.java Wed Jul 05 16:45:14 2017 +0200 @@ -28,7 +28,6 @@ import java.io.Serializable; import java.net.URI; -import java.net.URISyntaxException; /** * Class URISyntax is an abstract base class providing the common diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/javax/print/event/PrintServiceAttributeEvent.java --- a/jdk/src/share/classes/javax/print/event/PrintServiceAttributeEvent.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/javax/print/event/PrintServiceAttributeEvent.java Wed Jul 05 16:45:14 2017 +0200 @@ -25,7 +25,6 @@ package javax.print.event; -import java.util.List; import javax.print.PrintService; import javax.print.attribute.AttributeSetUtilities; import javax.print.attribute.PrintServiceAttributeSet; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/font/Decoration.java --- a/jdk/src/share/classes/sun/font/Decoration.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/font/Decoration.java Wed Jul 05 16:45:14 2017 +0200 @@ -267,7 +267,9 @@ CoreMetrics cm = label.getCoreMetrics(); if (strikethrough) { Stroke savedStroke = g2d.getStroke(); - g2d.setStroke(new BasicStroke(cm.strikethroughThickness)); + g2d.setStroke(new BasicStroke(cm.strikethroughThickness, + BasicStroke.CAP_BUTT, + BasicStroke.JOIN_MITER)); float strikeY = y + cm.strikethroughOffset; g2d.draw(new Line2D.Float(x1, strikeY, x2, strikeY)); g2d.setStroke(savedStroke); @@ -341,7 +343,7 @@ Rectangle2D visBounds = label.handleGetVisualBounds(); - if (swapColors || bgPaint != null + if (swapColors || bgPaint != null || strikethrough || stdUnderline != null || imUnderline != null) { float minX = 0; @@ -377,6 +379,7 @@ // NOTE: The performace of the following code may // be very poor. float ulThickness = cm.underlineThickness; + float ulOffset = cm.underlineOffset; Rectangle2D lb = label.getLogicalBounds(); float x1 = x; @@ -385,12 +388,15 @@ Area area = null; if (stdUnderline != null) { - Shape ul = stdUnderline.getUnderlineShape(ulThickness, x1, x2, y); + Shape ul = stdUnderline.getUnderlineShape(ulThickness, + x1, x2, y+ulOffset); area = new Area(ul); } if (strikethrough) { - Stroke stStroke = new BasicStroke(cm.strikethroughThickness); + Stroke stStroke = new BasicStroke(cm.strikethroughThickness, + BasicStroke.CAP_BUTT, + BasicStroke.JOIN_MITER); float shiftY = y + cm.strikethroughOffset; Line2D line = new Line2D.Float(x1, shiftY, x2, shiftY); Area slArea = new Area(stStroke.createStrokedShape(line)); @@ -402,7 +408,8 @@ } if (imUnderline != null) { - Shape ul = imUnderline.getUnderlineShape(ulThickness, x1, x2, y); + Shape ul = imUnderline.getUnderlineShape(ulThickness, + x1, x2, y+ulOffset); Area ulArea = new Area(ul); if (area == null) { area = ulArea; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/font/FontManager.java --- a/jdk/src/share/classes/sun/font/FontManager.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/font/FontManager.java Wed Jul 05 16:45:14 2017 +0200 @@ -3344,7 +3344,7 @@ int fontFormat = FONTFORMAT_NONE; int fontRank = Font2D.UNKNOWN_RANK; - if (ext.equals(".ttf") || isTTC) { + if (ext.equals(".ttf") || ext.equals(".otf") || isTTC) { fontFormat = FONTFORMAT_TRUETYPE; fontRank = Font2D.TTF_RANK; } else if (ext.equals(".pfa") || ext.equals(".pfb")) { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/font/TrueTypeFont.java --- a/jdk/src/share/classes/sun/font/TrueTypeFont.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/font/TrueTypeFont.java Wed Jul 05 16:45:14 2017 +0200 @@ -90,6 +90,7 @@ public static final int ttcfTag = 0x74746366; // 'ttcf' - TTC file public static final int v1ttTag = 0x00010000; // 'v1tt' - Version 1 TT font public static final int trueTag = 0x74727565; // 'true' - Version 2 TT font + public static final int ottoTag = 0x4f54544f; // 'otto' - OpenType font /* -- ID's used in the 'name' table */ public static final int MS_PLATFORM_ID = 3; @@ -490,6 +491,7 @@ case v1ttTag: case trueTag: + case ottoTag: break; default: diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/font/Underline.java --- a/jdk/src/share/classes/sun/font/Underline.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/font/Underline.java Wed Jul 05 16:45:14 2017 +0200 @@ -126,7 +126,9 @@ private BasicStroke createStroke(float lineThickness) { if (dashPattern == null) { - return new BasicStroke(lineThickness); + return new BasicStroke(lineThickness, + BasicStroke.CAP_BUTT, + BasicStroke.JOIN_MITER); } else { return new BasicStroke(lineThickness, diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/io/ByteToCharCp850.java --- a/jdk/src/share/classes/sun/io/ByteToCharCp850.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/io/ByteToCharCp850.java Wed Jul 05 16:45:14 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright 1996-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1996-2002 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,6 @@ * have any questions. */ - package sun.io; import sun.nio.cs.IBM850; @@ -32,6 +31,7 @@ * A table to convert to Cp850 to Unicode * * @author ConverterGenerator tool + * @version >= JDK1.1.6 */ public class ByteToCharCp850 extends ByteToCharSingleByte { @@ -41,6 +41,6 @@ } public ByteToCharCp850() { - super.byteToCharTable = IBM850.getDecoderSingleByteMappings(); + super.byteToCharTable = new IBM850().getDecoderSingleByteMappings(); } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/io/CharToByteJIS0201.java --- a/jdk/src/share/classes/sun/io/CharToByteJIS0201.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/io/CharToByteJIS0201.java Wed Jul 05 16:45:14 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright 1997-1998 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,7 @@ * Tables and data to convert Unicode to JIS0201 * * @author ConverterGenerator tool + * @version >= JDK1.1.6 */ class CharToByteJIS0201 extends CharToByteSingleByte { @@ -41,8 +42,21 @@ super.mask1 = 0xFF00; super.mask2 = 0x00FF; super.shift = 8; + /* super.index1 = index1; super.index2 = index2; + */ + } + + public byte getNative(char inputChar) { + return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] + + (inputChar & mask2)); + } + + public boolean canConvert(char ch) { + if (index2.charAt(index1[((ch & mask1) >> shift)] + (ch & mask2)) != '\u0000') + return true; + return (ch == '\u0000'); } private final static String index2 = diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/io/CharToByteSingleByte.java --- a/jdk/src/share/classes/sun/io/CharToByteSingleByte.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/io/CharToByteSingleByte.java Wed Jul 05 16:45:14 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright 1996-2002 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,6 +25,8 @@ package sun.io; +import static sun.nio.cs.CharsetMapping.*; + /** * A table driven conversion from char to byte for single byte * character sets. Tables will reside in the class CharToByteYYYYY, @@ -35,6 +37,7 @@ * * @author Lloyd Honomichl * @author Asmus Freytag +* @version 8/28/96 */ public abstract class CharToByteSingleByte extends CharToByteConverter { @@ -42,12 +45,12 @@ /* * 1st level index, provided by subclass */ - protected short index1[]; + protected char[] index1; /* * 2nd level index, provided by subclass */ - protected String index2; + protected char[] index2; /* * Mask to isolate bits for 1st level index, from subclass @@ -66,11 +69,11 @@ private char highHalfZoneCode; - public short[] getIndex1() { + public char[] getIndex1() { return index1; } - public String getIndex2() { + public char[] getIndex2() { return index2; } public int flush(byte[] output, int outStart, int outEnd) @@ -229,9 +232,18 @@ return 1; } + int encodeChar(char ch) { + char index = index1[ch >> 8]; + if (index == UNMAPPABLE_ENCODING) + return UNMAPPABLE_ENCODING; + return index2[index + (ch & 0xff)]; + } + public byte getNative(char inputChar) { - return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] - + (inputChar & mask2)); + int b = encodeChar(inputChar); + if (b == UNMAPPABLE_ENCODING) + return 0; + return (byte)b; } /** @@ -248,11 +260,6 @@ * @return true if a character is mappable */ public boolean canConvert(char ch) { - // Look it up in the table - if (index2.charAt(index1[((ch & mask1) >> shift)] + (ch & mask2)) != '\u0000') - return true; - - // Nulls are always mappable - return (ch == '\u0000'); + return encodeChar(ch) != UNMAPPABLE_ENCODING; } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java --- a/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java Wed Jul 05 16:45:14 2017 +0200 @@ -812,7 +812,9 @@ return(name.startsWith(".ttf", offset) || name.startsWith(".TTF", offset) || name.startsWith(".ttc", offset) || - name.startsWith(".TTC", offset)); + name.startsWith(".TTC", offset) || + name.startsWith(".otf", offset) || + name.startsWith(".OTF", offset)); } } } @@ -835,31 +837,11 @@ } } - public static class TTorT1Filter implements FilenameFilter { - public boolean accept(File dir, String name) { - - /* all conveniently have the same suffix length */ - int offset = name.length()-4; - if (offset <= 0) { /* must be at least A.ttf or A.pfa */ - return false; - } else { - boolean isTT = - name.startsWith(".ttf", offset) || - name.startsWith(".TTF", offset) || - name.startsWith(".ttc", offset) || - name.startsWith(".TTC", offset); - if (isTT) { - return true; - } else if (noType1Font) { - return false; - } else { - return(name.startsWith(".pfa", offset) || - name.startsWith(".pfb", offset) || - name.startsWith(".PFA", offset) || - name.startsWith(".PFB", offset)); - } - } - } + public static class TTorT1Filter implements FilenameFilter { + public boolean accept(File dir, String name) { + return SunGraphicsEnvironment.ttFilter.accept(dir, name) || + SunGraphicsEnvironment.t1Filter.accept(dir, name); + } } /* No need to keep consing up new instances - reuse a singleton. @@ -1290,6 +1272,13 @@ displayChanger.notifyPaletteChanged(); } + /** + * Returns true when the display is local, false for remote displays. + * + * @return true when the display is local, false for remote displays + */ + public abstract boolean isDisplayLocal(); + /* * ----DISPLAY CHANGE SUPPORT---- */ diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/java2d/SurfaceData.java --- a/jdk/src/share/classes/sun/java2d/SurfaceData.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/java2d/SurfaceData.java Wed Jul 05 16:45:14 2017 +0200 @@ -449,7 +449,8 @@ // For now the answer can only be true in the following cases: if (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY && sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR && - sg2d.clipState <= SunGraphics2D.CLIP_RECTANGULAR) + sg2d.clipState <= SunGraphics2D.CLIP_RECTANGULAR && + sg2d.surfaceData.getTransparency() == Transparency.OPAQUE) { if (haveLCDLoop == LCDLOOP_UNKNOWN) { DrawGlyphListLCD loop = diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/java2d/opengl/OGLBlitLoops.java --- a/jdk/src/share/classes/sun/java2d/opengl/OGLBlitLoops.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/java2d/opengl/OGLBlitLoops.java Wed Jul 05 16:45:14 2017 +0200 @@ -25,17 +25,13 @@ package sun.java2d.opengl; -import java.awt.AlphaComposite; -import java.awt.Color; import java.awt.Composite; import java.awt.Transparency; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.awt.image.BufferedImageOp; -import java.awt.image.ColorModel; import java.lang.ref.WeakReference; -import sun.awt.image.BufImgSurfaceData; import sun.java2d.SurfaceData; import sun.java2d.loops.Blit; import sun.java2d.loops.CompositeType; @@ -84,6 +80,8 @@ OGLSurfaceData.PF_INT_BGR), new OGLSwToSurfaceBlit(SurfaceType.IntBgrx, OGLSurfaceData.PF_INT_BGRX), + new OGLSwToSurfaceBlit(SurfaceType.ThreeByteBgr, + OGLSurfaceData.PF_3BYTE_BGR), new OGLSwToSurfaceBlit(SurfaceType.Ushort565Rgb, OGLSurfaceData.PF_USHORT_565_RGB), new OGLSwToSurfaceBlit(SurfaceType.Ushort555Rgb, @@ -106,6 +104,8 @@ OGLSurfaceData.PF_INT_BGR), new OGLSwToSurfaceScale(SurfaceType.IntBgrx, OGLSurfaceData.PF_INT_BGRX), + new OGLSwToSurfaceScale(SurfaceType.ThreeByteBgr, + OGLSurfaceData.PF_3BYTE_BGR), new OGLSwToSurfaceScale(SurfaceType.Ushort565Rgb, OGLSurfaceData.PF_USHORT_565_RGB), new OGLSwToSurfaceScale(SurfaceType.Ushort555Rgb, @@ -127,6 +127,8 @@ OGLSurfaceData.PF_INT_BGR), new OGLSwToSurfaceTransform(SurfaceType.IntBgrx, OGLSurfaceData.PF_INT_BGRX), + new OGLSwToSurfaceTransform(SurfaceType.ThreeByteBgr, + OGLSurfaceData.PF_3BYTE_BGR), new OGLSwToSurfaceTransform(SurfaceType.Ushort565Rgb, OGLSurfaceData.PF_USHORT_565_RGB), new OGLSwToSurfaceTransform(SurfaceType.Ushort555Rgb, @@ -155,6 +157,8 @@ OGLSurfaceData.PF_INT_BGR), new OGLSwToTextureBlit(SurfaceType.IntBgrx, OGLSurfaceData.PF_INT_BGRX), + new OGLSwToTextureBlit(SurfaceType.ThreeByteBgr, + OGLSurfaceData.PF_3BYTE_BGR), new OGLSwToTextureBlit(SurfaceType.Ushort565Rgb, OGLSurfaceData.PF_USHORT_565_RGB), new OGLSwToTextureBlit(SurfaceType.Ushort555Rgb, diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java --- a/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java Wed Jul 05 16:45:14 2017 +0200 @@ -120,6 +120,7 @@ public static final int PF_USHORT_555_RGBX = 8; public static final int PF_BYTE_GRAY = 9; public static final int PF_USHORT_GRAY = 10; + public static final int PF_3BYTE_BGR = 11; /** * SurfaceTypes @@ -401,6 +402,7 @@ * - the fragment shader extension is available, and * - blending is disabled, and * - the source color is opaque + * - and the destination is opaque * * Eventually, we could enhance the native OGL text rendering code * and remove the above restrictions, but that would require significantly @@ -410,7 +412,8 @@ return graphicsConfig.isCapPresent(CAPS_EXT_LCD_SHADER) && sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY && - sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR; + sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR && + sg2d.surfaceData.getTransparency() == Transparency.OPAQUE; } public void validatePipe(SunGraphics2D sg2d) { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/java2d/pipe/BufferedContext.java --- a/jdk/src/share/classes/sun/java2d/pipe/BufferedContext.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/java2d/pipe/BufferedContext.java Wed Jul 05 16:45:14 2017 +0200 @@ -90,7 +90,8 @@ private Region validatedClip; private Composite validatedComp; private Paint validatedPaint; - private boolean isValidatedPaintAColor; + // renamed from isValidatedPaintAColor as part of a work around for 6764257 + private boolean isValidatedPaintJustAColor; private int validatedRGB; private int validatedFlags; private boolean xformInUse; @@ -182,7 +183,7 @@ if (paint instanceof Color) { // REMIND: not 30-bit friendly int newRGB = ((Color)paint).getRGB(); - if (isValidatedPaintAColor) { + if (isValidatedPaintJustAColor) { if (newRGB != validatedRGB) { validatedRGB = newRGB; updatePaint = true; @@ -190,13 +191,13 @@ } else { validatedRGB = newRGB; updatePaint = true; - isValidatedPaintAColor = true; + isValidatedPaintJustAColor = true; } } else if (validatedPaint != paint) { updatePaint = true; // this should be set when we are switching from paint to color // in which case this condition will be true - isValidatedPaintAColor = false; + isValidatedPaintJustAColor = false; } if ((currentContext != this) || @@ -281,7 +282,7 @@ txChanged = true; } // non-Color paints may require paint revalidation - if (!isValidatedPaintAColor && txChanged) { + if (!isValidatedPaintJustAColor && txChanged) { updatePaint = true; } @@ -427,10 +428,12 @@ resetTransform(); resetComposite(); resetClip(); + BufferedPaints.resetPaint(rq); invalidateSurfaces(); validatedComp = null; validatedClip = null; validatedPaint = null; + isValidatedPaintJustAColor = false; xformInUse = false; } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM437.java --- a/jdk/src/share/classes/sun/nio/cs/IBM437.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,368 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM437 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM437() { - super("IBM437", StandardCharsets.aliases_IBM437); - } - - public String historicalName() { - return "Cp437"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM437); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" + // 0x80 - 0x87 - "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" + // 0x88 - 0x8F - "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" + // 0x90 - 0x97 - "\u00FF\u00D6\u00DC\u00A2\u00A3\u00A5\u20A7\u0192" + // 0x98 - 0x9F - "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" + // 0xA0 - 0xA7 - "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + // 0xB0 - 0xB7 - "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" + // 0xC8 - 0xCF - "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" + // 0xD0 - 0xD7 - "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" + // 0xE0 - 0xE7 - "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" + // 0xE8 - 0xEF - "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u00AD\u009B\u009C\u0000\u009D\u0000\u0000" + - "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" + - "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" + - "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" + - "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0080" + - "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00A5\u0000\u0000\u0000\u0000\u0099\u0000" + - "\u0000\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" + - "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" + - "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" + - "\u0000\u00A4\u0095\u00A2\u0093\u0000\u0094\u00F6" + - "\u0000\u0097\u00A3\u0096\u0081\u0000\u0000\u0098" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E2\u0000\u0000\u0000\u0000" + - "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000" + - "\u0000\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E3\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00FC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" + - "\u00FB\u0000\u0000\u0000\u00EC\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F7\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" + - "\u0000\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" + - "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" + - "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" + - "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" + - "\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3" + - "\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5" + - "\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA" + - "\u00D8\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" + - "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" + - "\u0000\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0" + - "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 403, 512, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 711, 403, 942, 1182, 403, 1438, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM737.java --- a/jdk/src/share/classes/sun/nio/cs/IBM737.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,321 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM737 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM737() { - super("x-IBM737", StandardCharsets.aliases_IBM737); - } - - public String historicalName() { - return "Cp737"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM737); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398" + // 0x80 - 0x87 - "\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0" + // 0x88 - 0x8F - "\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9" + // 0x90 - 0x97 - "\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8" + // 0x98 - 0x9F - "\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0" + // 0xA0 - 0xA7 - "\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + // 0xB0 - 0xB7 - "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" + // 0xC8 - 0xCF - "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" + // 0xD0 - 0xD7 - "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD" + // 0xE0 - 0xE7 - "\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E" + // 0xE8 - 0xEF - "\u038F\u00B1\u2265\u2264\u03AA\u03AB\u00F7\u2248" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00F8\u00F1\u00FD\u0000\u0000\u0000\u0000\u00FA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F6" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00EA\u0000\u00EB\u00EC\u00ED\u0000\u00EE\u0000" + - "\u00EF\u00F0\u0000\u0080\u0081\u0082\u0083\u0084" + - "\u0085\u0086\u0087\u0088\u0089\u008A\u008B\u008C" + - "\u008D\u008E\u008F\u0090\u0000\u0091\u0092\u0093" + - "\u0094\u0095\u0096\u0097\u00F4\u00F5\u00E1\u00E2" + - "\u00E3\u00E5\u0000\u0098\u0099\u009A\u009B\u009C" + - "\u009D\u009E\u009F\u00A0\u00A1\u00A2\u00A3\u00A4" + - "\u00A5\u00A6\u00A7\u00A8\u00AA\u00A9\u00AB\u00AC" + - "\u00AD\u00AE\u00AF\u00E0\u00E4\u00E8\u00E6\u00E7" + - "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F9\u00FB\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00F7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F3\u00F2\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" + - "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" + - "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" + - "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" + - "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" + - "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" + - "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 248, 370, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 577, 248, 808, 248, 248, 1064, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM775.java --- a/jdk/src/share/classes/sun/nio/cs/IBM775.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,326 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM775 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM775() { - super("IBM775", StandardCharsets.aliases_IBM775); - } - - public String historicalName() { - return "Cp775"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM775); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0106\u00FC\u00E9\u0101\u00E4\u0123\u00E5\u0107" + // 0x80 - 0x87 - "\u0142\u0113\u0156\u0157\u012B\u0179\u00C4\u00C5" + // 0x88 - 0x8F - "\u00C9\u00E6\u00C6\u014D\u00F6\u0122\u00A2\u015A" + // 0x90 - 0x97 - "\u015B\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u00A4" + // 0x98 - 0x9F - "\u0100\u012A\u00F3\u017B\u017C\u017A\u201D\u00A6" + // 0xA0 - 0xA7 - "\u00A9\u00AE\u00AC\u00BD\u00BC\u0141\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118" + // 0xB0 - 0xB7 - "\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D" + // 0xC8 - 0xCF - "\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B" + // 0xD0 - 0xD7 - "\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u00D3\u00DF\u014C\u0143\u00F5\u00D5\u00B5\u0144" + // 0xE0 - 0xE7 - "\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019" + // 0xE8 - 0xEF - "\u00AD\u00B1\u201C\u00BE\u00B6\u00A7\u00F7\u201E" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0096\u009C\u009F\u0000\u00A7\u00F5" + - "\u0000\u00A8\u0000\u00AE\u00AA\u00F0\u00A9\u0000" + - "\u00F8\u00F1\u00FD\u00FC\u0000\u00E6\u00F4\u00FA" + - "\u0000\u00FB\u0000\u00AF\u00AC\u00AB\u00F3\u0000" + - "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0000" + - "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E0\u0000\u00E5\u0099\u009E" + - "\u009D\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" + - "\u0000\u0000\u0000\u0000\u0084\u0086\u0091\u0000" + - "\u0000\u0082\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00A2\u0000\u00E4\u0094\u00F6" + - "\u009B\u0000\u0000\u0000\u0081\u0000\u0000\u0000" + - "\u00A0\u0083\u0000\u0000\u00B5\u00D0\u0080\u0087" + - "\u0000\u0000\u0000\u0000\u00B6\u00D1\u0000\u0000" + - "\u0000\u0000\u00ED\u0089\u0000\u0000\u00B8\u00D3" + - "\u00B7\u00D2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0095\u0085\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00A1\u008C\u0000\u0000\u00BD\u00D4" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00E8\u00E9" + - "\u0000\u0000\u0000\u00EA\u00EB\u0000\u0000\u0000" + - "\u0000\u00AD\u0088\u00E3\u00E7\u00EE\u00EC\u0000" + - "\u0000\u0000\u0000\u0000\u00E2\u0093\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u008A\u008B" + - "\u0000\u0000\u0097\u0098\u0000\u0000\u0000\u0000" + - "\u00BE\u00D5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C7\u00D7\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C6\u00D6\u0000\u0000\u0000\u0000" + - "\u0000\u008D\u00A5\u00A3\u00A4\u00CF\u00D8\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" + - "\u0000\u0000\u00F2\u00A6\u00F7\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" + - "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" + - "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" + - "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" + - "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" + - "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" + - "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" + - "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" + - "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" + - "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 614, 383, 845, 383, 383, 1101, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM850.java --- a/jdk/src/share/classes/sun/nio/cs/IBM850.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,299 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM850 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM850() { - super("IBM850", StandardCharsets.aliases_IBM850); - } - - public String historicalName() { - return "Cp850"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM850); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public static String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" + // 0x80 - 0x87 - "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" + // 0x88 - 0x8F - "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" + // 0x90 - 0x97 - "\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192" + // 0x98 - 0x9F - "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" + // 0xA0 - 0xA7 - "\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u00C0" + // 0xB0 - 0xB7 - "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u00E3\u00C3" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" + // 0xC8 - 0xCF - "\u00F0\u00D0\u00CA\u00CB\u00C8\u0131\u00CD\u00CE" + // 0xD0 - 0xD7 - "\u00CF\u2518\u250C\u2588\u2584\u00A6\u00CC\u2580" + // 0xD8 - 0xDF - "\u00D3\u00DF\u00D4\u00D2\u00F5\u00D5\u00B5\u00FE" + // 0xE0 - 0xE7 - "\u00DE\u00DA\u00DB\u00D9\u00FD\u00DD\u00AF\u00B4" + // 0xE8 - 0xEF - "\u00AD\u00B1\u2017\u00BE\u00B6\u00A7\u00F7\u00B8" + // 0xF0 - 0xF7 - "\u00B0\u00A8\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - protected static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" + - "\u00F9\u00B8\u00A6\u00AE\u00AA\u00F0\u00A9\u00EE" + - "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" + - "\u00F7\u00FB\u00A7\u00AF\u00AC\u00AB\u00F3\u00A8" + - "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" + - "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" + - "\u00D1\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u009E" + - "\u009D\u00EB\u00E9\u00EA\u009A\u00ED\u00E8\u00E1" + - "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" + - "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" + - "\u00D0\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" + - "\u009B\u0097\u00A3\u0096\u0081\u00EC\u00E7\u0098" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00D5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" + - "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" + - "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" + - "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" + - "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" + - "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" + - "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" + - "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 636, 403, 403, 403, 403, 892, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM852.java --- a/jdk/src/share/classes/sun/nio/cs/IBM852.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,274 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM852 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM852() { - super("IBM852", StandardCharsets.aliases_IBM852); - } - - public String historicalName() { - return "Cp852"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM852); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C7\u00FC\u00E9\u00E2\u00E4\u016F\u0107\u00E7" + // 0x80 - 0x87 - "\u0142\u00EB\u0150\u0151\u00EE\u0179\u00C4\u0106" + // 0x88 - 0x8F - "\u00C9\u0139\u013A\u00F4\u00F6\u013D\u013E\u015A" + // 0x90 - 0x97 - "\u015B\u00D6\u00DC\u0164\u0165\u0141\u00D7\u010D" + // 0x98 - 0x9F - "\u00E1\u00ED\u00F3\u00FA\u0104\u0105\u017D\u017E" + // 0xA0 - 0xA7 - "\u0118\u0119\u00AC\u017A\u010C\u015F\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u011A" + // 0xB0 - 0xB7 - "\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" + // 0xC8 - 0xCF - "\u0111\u0110\u010E\u00CB\u010F\u0147\u00CD\u00CE" + // 0xD0 - 0xD7 - "\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580" + // 0xD8 - 0xDF - "\u00D3\u00DF\u00D4\u0143\u0144\u0148\u0160\u0161" + // 0xE0 - 0xE7 - "\u0154\u00DA\u0155\u0170\u00FD\u00DD\u0163\u00B4" + // 0xE8 - 0xEF - "\u00AD\u02DD\u02DB\u02C7\u02D8\u00A7\u00F7\u00B8" + // 0xF0 - 0xF7 - "\u00B0\u00A8\u02D9\u0171\u0158\u0159\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0000\u0000\u00CF\u0000\u0000\u00F5" + - "\u00F9\u0000\u0000\u00AE\u00AA\u00F0\u0000\u0000" + - "\u00F8\u0000\u0000\u0000\u00EF\u0000\u0000\u0000" + - "\u00F7\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" + - "\u0000\u00B5\u00B6\u0000\u008E\u0000\u0000\u0080" + - "\u0000\u0090\u0000\u00D3\u0000\u00D6\u00D7\u0000" + - "\u0000\u0000\u0000\u00E0\u00E2\u0000\u0099\u009E" + - "\u0000\u0000\u00E9\u0000\u009A\u00ED\u0000\u00E1" + - "\u0000\u00A0\u0083\u0000\u0084\u0000\u0000\u0087" + - "\u0000\u0082\u0000\u0089\u0000\u00A1\u008C\u0000" + - "\u0000\u0000\u0000\u00A2\u0093\u0000\u0094\u00F6" + - "\u0000\u0000\u00A3\u0000\u0081\u00EC\u0000\u0000" + - "\u00C6\u00C7\u00A4\u00A5\u008F\u0086\u0000\u0000" + - "\u0000\u0000\u00AC\u009F\u00D2\u00D4\u00D1\u00D0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A8\u00A9" + - "\u00B7\u00D8\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0091" + - "\u0092\u0000\u0000\u0095\u0096\u0000\u0000\u009D" + - "\u0088\u00E3\u00E4\u0000\u0000\u00D5\u00E5\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u008A\u008B" + - "\u0000\u0000\u00E8\u00EA\u0000\u0000\u00FC\u00FD" + - "\u0097\u0098\u0000\u0000\u00B8\u00AD\u00E6\u00E7" + - "\u00DD\u00EE\u009B\u009C\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DE\u0085\u00EB\u00FB" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008D" + - "\u00AB\u00BD\u00BE\u00A6\u00A7\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F3\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00FA" + - "\u0000\u00F2\u0000\u00F1\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" + - "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" + - "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" + - "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" + - "\u0000\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000" + - "\u00C8\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000" + - "\u0000\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA" + - "\u0000\u0000\u00CE\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" + - "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B0" + - "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 694, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM855.java --- a/jdk/src/share/classes/sun/nio/cs/IBM855.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,304 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM855 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM855() { - super("IBM855", StandardCharsets.aliases_IBM855); - } - - public String historicalName() { - return "Cp855"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM855); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404" + // 0x80 - 0x87 - "\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408" + // 0x88 - 0x8F - "\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C" + // 0x90 - 0x97 - "\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A" + // 0x98 - 0x9F - "\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414" + // 0xA0 - 0xA7 - "\u0435\u0415\u0444\u0424\u0433\u0413\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438" + // 0xB0 - 0xB7 - "\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" + // 0xC8 - 0xCF - "\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E" + // 0xD0 - 0xD7 - "\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580" + // 0xD8 - 0xDF - "\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443" + // 0xE0 - 0xE7 - "\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116" + // 0xE8 - 0xEF - "\u00AD\u044B\u042B\u0437\u0417\u0448\u0428\u044D" + // 0xF0 - 0xF7 - "\u042D\u0449\u0429\u0447\u0427\u00A7\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0000\u0000\u00CF\u0000\u0000\u00FD" + - "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0085\u0081\u0083\u0087" + - "\u0089\u008B\u008D\u008F\u0091\u0093\u0095\u0097" + - "\u0000\u0099\u009B\u00A1\u00A3\u00EC\u00AD\u00A7" + - "\u00A9\u00EA\u00F4\u00B8\u00BE\u00C7\u00D1\u00D3" + - "\u00D5\u00D7\u00DD\u00E2\u00E4\u00E6\u00E8\u00AB" + - "\u00B6\u00A5\u00FC\u00F6\u00FA\u009F\u00F2\u00EE" + - "\u00F8\u009D\u00E0\u00A0\u00A2\u00EB\u00AC\u00A6" + - "\u00A8\u00E9\u00F3\u00B7\u00BD\u00C6\u00D0\u00D2" + - "\u00D4\u00D6\u00D8\u00E1\u00E3\u00E5\u00E7\u00AA" + - "\u00B5\u00A4\u00FB\u00F5\u00F9\u009E\u00F1\u00ED" + - "\u00F7\u009C\u00DE\u0000\u0084\u0080\u0082\u0086" + - "\u0088\u008A\u008C\u008E\u0090\u0092\u0094\u0096" + - "\u0000\u0098\u009A\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00EF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" + - "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" + - "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" + - "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" + - "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" + - "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" + - "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" + - "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1" + - "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 188, 188, 188, 443, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 677, 188, 188, 188, 933, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM857.java --- a/jdk/src/share/classes/sun/nio/cs/IBM857.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,263 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM857 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM857() { - super("IBM857", StandardCharsets.aliases_IBM857); - } - - public String historicalName() { - return "Cp857"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM857); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" + // 0x80 - 0x87 - "\u00EA\u00EB\u00E8\u00EF\u00EE\u0131\u00C4\u00C5" + // 0x88 - 0x8F - "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" + // 0x90 - 0x97 - "\u0130\u00D6\u00DC\u00F8\u00A3\u00D8\u015E\u015F" + // 0x98 - 0x9F - "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u011E\u011F" + // 0xA0 - 0xA7 - "\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u00C0" + // 0xB0 - 0xB7 - "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u00E3\u00C3" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" + // 0xC8 - 0xCF - "\u00BA\u00AA\u00CA\u00CB\u00C8\uFFFD\u00CD\u00CE" + // 0xD0 - 0xD7 - "\u00CF\u2518\u250C\u2588\u2584\u00A6\u00CC\u2580" + // 0xD8 - 0xDF - "\u00D3\u00DF\u00D4\u00D2\u00F5\u00D5\u00B5\uFFFD" + // 0xE0 - 0xE7 - "\u00D7\u00DA\u00DB\u00D9\u00EC\u00FF\u00AF\u00B4" + // 0xE8 - 0xEF - "\u00AD\u00B1\uFFFD\u00BE\u00B6\u00A7\u00F7\u00B8" + // 0xF0 - 0xF7 - "\u00B0\u00A8\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" + - "\u00F9\u00B8\u00D1\u00AE\u00AA\u00F0\u00A9\u00EE" + - "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" + - "\u00F7\u00FB\u00D0\u00AF\u00AC\u00AB\u00F3\u00A8" + - "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" + - "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" + - "\u0000\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u00E8" + - "\u009D\u00EB\u00E9\u00EA\u009A\u0000\u0000\u00E1" + - "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" + - "\u008A\u0082\u0088\u0089\u00EC\u00A1\u008C\u008B" + - "\u0000\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" + - "\u009B\u0097\u00A3\u0096\u0081\u0000\u0000\u00ED" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A6\u00A7" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0098\u008D\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u009F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" + - "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CD\u00BA\u0000\u0000\u00C9\u0000\u0000\u00BB" + - "\u0000\u0000\u00C8\u0000\u0000\u00BC\u0000\u0000" + - "\u00CC\u0000\u0000\u00B9\u0000\u0000\u00CB\u0000" + - "\u0000\u00CA\u0000\u0000\u00CE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" + - "\u00DB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 608, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM858.java --- a/jdk/src/share/classes/sun/nio/cs/IBM858.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,264 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM858 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM858() { - super("IBM00858", StandardCharsets.aliases_IBM858); - } - - public String historicalName() { - return "Cp858"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM858); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public static String getDecoderSingleByteMappings() { - return IBM850.getDecoderSingleByteMappings(); - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends IBM850.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0xD5) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" + - "\u00F9\u00B8\u00A6\u00AE\u00AA\u00F0\u00A9\u00EE" + - "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" + - "\u00F7\u00FB\u00A7\u00AF\u00AC\u00AB\u00F3\u00A8" + - "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" + - "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" + - "\u00D1\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u009E" + - "\u009D\u00EB\u00E9\u00EA\u009A\u00ED\u00E8\u00E1" + - "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" + - "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" + - "\u00D0\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" + - "\u009B\u0097\u00A3\u0096\u0081\u00EC\u00E7\u0098" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" + - "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" + - "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" + - "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" + - "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" + - "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" + - "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" + - "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 636, 403, 403, 403, 403, 892, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM862.java --- a/jdk/src/share/classes/sun/nio/cs/IBM862.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,396 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM862 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM862() { - super("IBM862", StandardCharsets.aliases_IBM862); - } - - public String historicalName() { - return "Cp862"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM862); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" + // 0x80 - 0x87 - "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" + // 0x88 - 0x8F - "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" + // 0x90 - 0x97 - "\u05E8\u05E9\u05EA\u00A2\u00A3\u00A5\u20A7\u0192" + // 0x98 - 0x9F - "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" + // 0xA0 - 0xA7 - "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + // 0xB0 - 0xB7 - "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" + // 0xC8 - 0xCF - "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" + // 0xD0 - 0xD7 - "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" + // 0xE0 - 0xE7 - "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" + // 0xE8 - 0xEF - "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u00AD\u009B\u009C\u0000\u009D\u0000\u0000" + - "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" + - "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" + - "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00A5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" + - "\u0000\u00A0\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A1\u0000\u0000" + - "\u0000\u00A4\u0000\u00A2\u0000\u0000\u0000\u00F6" + - "\u0000\u0000\u00A3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u009F\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00E2\u0000" + - "\u0000\u0000\u0000\u00E9\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00E4\u0000" + - "\u0000\u00E8\u0000\u0000\u00EA\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00E0\u0000\u0000\u00EB" + - "\u00EE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E3\u0000\u0000\u00E5\u00E7" + - "\u0000\u00ED\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0080\u0081\u0082\u0083\u0084\u0085" + - "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" + - "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" + - "\u0096\u0097\u0098\u0099\u009A\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u009E\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB\u0000" + - "\u0000\u0000\u00EC\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00EF\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F7\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" + - "\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00A9\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" + - "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" + - "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5\u00D6" + - "\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8\u00BE" + - "\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6\u00B9" + - "\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8\u00D7" + - "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" + - "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" + - "\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1\u00B2" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 251, 398, 507, 398, 706, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 941, 398, 1172, 1412, 398, 1668, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM866.java --- a/jdk/src/share/classes/sun/nio/cs/IBM866.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,332 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM866 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM866() { - super("IBM866", StandardCharsets.aliases_IBM866); - } - - public String historicalName() { - return "Cp866"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM866); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" + // 0x80 - 0x87 - "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" + // 0x88 - 0x8F - "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" + // 0x90 - 0x97 - "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" + // 0x98 - 0x9F - "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" + // 0xA0 - 0xA7 - "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + // 0xB0 - 0xB7 - "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" + // 0xC8 - 0xCF - "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" + // 0xD0 - 0xD7 - "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" + // 0xE0 - 0xE7 - "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + // 0xE8 - 0xEF - "\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u221A\u2116\u00A4\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0000\u0000\u00FD\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00F8\u0000\u0000\u0000\u0000\u0000\u0000\u00FA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00F0\u0000\u0000\u00F2\u0000\u0000\u00F4\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F6\u0000\u0080" + - "\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088" + - "\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090" + - "\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098" + - "\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0" + - "\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8" + - "\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00E0" + - "\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8" + - "\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u0000" + - "\u00F1\u0000\u0000\u00F3\u0000\u0000\u00F5\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FC" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F9\u00FB\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" + - "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" + - "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" + - "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" + - "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" + - "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" + - "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 184, 184, 184, 439, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 673, 904, 184, 184, 1160, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/IBM874.java --- a/jdk/src/share/classes/sun/nio/cs/IBM874.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,252 +0,0 @@ -/* - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM874 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM874() { - super("x-IBM874", StandardCharsets.aliases_IBM874); - } - - public String historicalName() { - return "Cp874"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM874); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x80 - 0x87 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x90 - 0x97 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x98 - 0x9F - "\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" + // 0xA0 - 0xA7 - "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" + // 0xA8 - 0xAF - "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" + // 0xB0 - 0xB7 - "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" + // 0xB8 - 0xBF - "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" + // 0xC0 - 0xC7 - "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" + // 0xC8 - 0xCF - "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" + // 0xD0 - 0xD7 - "\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u0E4C\u0E3F" + // 0xD8 - 0xDF - "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" + // 0xE0 - 0xE7 - "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" + // 0xE8 - 0xEF - "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" + // 0xF0 - 0xF7 - "\u0E58\u0E59\u0E5A\u0E5B\u00A2\u00AC\u00A6\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u00FC\u0000\u0000\u0000\u00FE\u0000" + - "\u0000\u0000\u0000\u0000\u00FD\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2\u00A3" + - "\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB" + - "\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3" + - "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB" + - "\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3" + - "\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB" + - "\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3" + - "\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u0000" + - "\u0000\u0000\u0000\u00DF\u00E0\u00E1\u00E2\u00E3" + - "\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB" + - "\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3" + - "\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 428, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 520, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ISO_8859_13.java --- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_13.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,266 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class ISO_8859_13 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_13() { - super("ISO-8859-13", StandardCharsets.aliases_ISO_8859_13); - } - - public String historicalName() { - return "ISO8859_13"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_13)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u201D\u00A2\u00A3\u00A4\u201E\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u201C\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" + // 0xB8 - 0xBF - "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" + // 0xC0 - 0xC7 - "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" + // 0xC8 - 0xCF - "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" + // 0xD8 - 0xDF - "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" + // 0xE0 - 0xE7 - "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" + // 0xE8 - 0xEF - "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u2019" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" + - "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" + - "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" + - "\u0000\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" + - "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" + - "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" + - "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" + - "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" + - "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" + - "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" + - "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" + - "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" + - "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" + - "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" + - "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" + - "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" + - "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" + - "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" + - "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" + - "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" + - "\u0000\u0000\u00B4\u00A1\u00A5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ISO_8859_15.java --- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_15.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,249 +0,0 @@ - -/* - * Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; - - -public class ISO_8859_15 extends Charset implements HistoricallyNamedCharset -{ - - public ISO_8859_15() { - super("ISO-8859-15", StandardCharsets.aliases_ISO_8859_15); - } - - public String historicalName() { - return "ISO8859_15"; - } - - public boolean contains(Charset cs) { - return ((cs instanceof US_ASCII) - || (cs instanceof ISO_8859_1) - || (cs instanceof ISO_8859_15)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u00A1\u00A2\u00A3\u20AC\u00A5\u0160\u00A7" + // 0xA0 - 0xA7 - "\u0161\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u017D\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u017E\u00B9\u00BA\u00BB\u0152\u0153\u0178\u00BF" + // 0xB8 - 0xBF - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + // 0xC0 - 0xC7 - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + // 0xC8 - 0xCF - "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" + // 0xD8 - 0xDF - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + // 0xE0 - 0xE7 - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + // 0xE8 - 0xEF - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u00A1\u00A2\u00A3\u0000\u00A5\u0000\u00A7" + - "\u0000\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" + - "\u0000\u00B9\u00BA\u00BB\u0000\u0000\u0000\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00BC\u00BD\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A6\u00A8\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00BE\u0000\u0000\u0000\u0000\u00B4\u00B8\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00A4" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 467, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - }; - - } - -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ISO_8859_2.java --- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_2.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,246 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - - -public class ISO_8859_2 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_2() { - super("ISO-8859-2", StandardCharsets.aliases_ISO_8859_2); - } - - public String historicalName() { - return "ISO8859_2"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_2)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u0104\u02D8\u0141\u00A4\u013D\u015A\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u0160\u015E\u0164\u0179\u00AD\u017D\u017B" + // 0xA8 - 0xAF - "\u00B0\u0105\u02DB\u0142\u00B4\u013E\u015B\u02C7" + // 0xB0 - 0xB7 - "\u00B8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C" + // 0xB8 - 0xBF - "\u0154\u00C1\u00C2\u0102\u00C4\u0139\u0106\u00C7" + // 0xC0 - 0xC7 - "\u010C\u00C9\u0118\u00CB\u011A\u00CD\u00CE\u010E" + // 0xC8 - 0xCF - "\u0110\u0143\u0147\u00D3\u00D4\u0150\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u0158\u016E\u00DA\u0170\u00DC\u00DD\u0162\u00DF" + // 0xD8 - 0xDF - "\u0155\u00E1\u00E2\u0103\u00E4\u013A\u0107\u00E7" + // 0xE0 - 0xE7 - "\u010D\u00E9\u0119\u00EB\u011B\u00ED\u00EE\u010F" + // 0xE8 - 0xEF - "\u0111\u0144\u0148\u00F3\u00F4\u0151\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u0159\u016F\u00FA\u0171\u00FC\u00FD\u0163\u02D9" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u00A7" + - "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" + - "\u00B0\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" + - "\u00B8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" + - "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" + - "\u0000\u0000\u0000\u00D3\u00D4\u0000\u00D6\u00D7" + - "\u0000\u0000\u00DA\u0000\u00DC\u00DD\u0000\u00DF" + - "\u0000\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" + - "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" + - "\u0000\u0000\u0000\u00F3\u00F4\u0000\u00F6\u00F7" + - "\u0000\u0000\u00FA\u0000\u00FC\u00FD\u0000\u0000" + - "\u00C3\u00E3\u00A1\u00B1\u00C6\u00E6\u0000\u0000" + - "\u0000\u0000\u00C8\u00E8\u00CF\u00EF\u00D0\u00F0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CA\u00EA" + - "\u00CC\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" + - "\u00E5\u0000\u0000\u00A5\u00B5\u0000\u0000\u00A3" + - "\u00B3\u00D1\u00F1\u0000\u0000\u00D2\u00F2\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00D5\u00F5" + - "\u0000\u0000\u00C0\u00E0\u0000\u0000\u00D8\u00F8" + - "\u00A6\u00B6\u0000\u0000\u00AA\u00BA\u00A9\u00B9" + - "\u00DE\u00FE\u00AB\u00BB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00D9\u00F9\u00DB\u00FB" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AC" + - "\u00BC\u00AF\u00BF\u00AE\u00BE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00B7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A2\u00FF" + - "\u0000\u00B2\u0000\u00BD\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ISO_8859_4.java --- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_4.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class ISO_8859_4 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_4() { - super("ISO-8859-4", StandardCharsets.aliases_ISO_8859_4); - } - - public String historicalName() { - return "ISO8859_4"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_4)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u0104\u0138\u0156\u00A4\u0128\u013B\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u0160\u0112\u0122\u0166\u00AD\u017D\u00AF" + // 0xA8 - 0xAF - "\u00B0\u0105\u02DB\u0157\u00B4\u0129\u013C\u02C7" + // 0xB0 - 0xB7 - "\u00B8\u0161\u0113\u0123\u0167\u014A\u017E\u014B" + // 0xB8 - 0xBF - "\u0100\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u012E" + // 0xC0 - 0xC7 - "\u010C\u00C9\u0118\u00CB\u0116\u00CD\u00CE\u012A" + // 0xC8 - 0xCF - "\u0110\u0145\u014C\u0136\u00D4\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u00D8\u0172\u00DA\u00DB\u00DC\u0168\u016A\u00DF" + // 0xD8 - 0xDF - "\u0101\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u012F" + // 0xE0 - 0xE7 - "\u010D\u00E9\u0119\u00EB\u0117\u00ED\u00EE\u012B" + // 0xE8 - 0xEF - "\u0111\u0146\u014D\u0137\u00F4\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u00F8\u0173\u00FA\u00FB\u00FC\u0169\u016B\u02D9" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u00A7" + - "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u00AF" + - "\u00B0\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" + - "\u00B8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u0000" + - "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" + - "\u0000\u0000\u0000\u0000\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u0000\u00DA\u00DB\u00DC\u0000\u0000\u00DF" + - "\u0000\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u0000" + - "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" + - "\u0000\u0000\u0000\u0000\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u0000\u00FA\u00FB\u00FC\u0000\u0000\u0000" + - "\u00C0\u00E0\u0000\u0000\u00A1\u00B1\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" + - "\u00D0\u00F0\u00AA\u00BA\u0000\u0000\u00CC\u00EC" + - "\u00CA\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00AB\u00BB\u0000\u0000\u0000\u0000" + - "\u00A5\u00B5\u00CF\u00EF\u0000\u0000\u00C7\u00E7" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00D3\u00F3" + - "\u00A2\u0000\u0000\u00A6\u00B6\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00D1\u00F1\u0000" + - "\u0000\u0000\u00BD\u00BF\u00D2\u00F2\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A3\u00B3" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A9\u00B9\u0000\u0000\u0000\u0000\u00AC\u00BC" + - "\u00DD\u00FD\u00DE\u00FE\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00D9\u00F9\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00AE\u00BE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B7" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00FF\u0000\u00B2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ISO_8859_5.java --- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_5.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,271 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class ISO_8859_5 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_5() { - super("ISO-8859-5", StandardCharsets.aliases_ISO_8859_5); - } - - public String historicalName() { - return "ISO8859_5"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_5)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u0401\u0402\u0403\u0404\u0405\u0406\u0407" + // 0xA0 - 0xA7 - "\u0408\u0409\u040A\u040B\u040C\u00AD\u040E\u040F" + // 0xA8 - 0xAF - "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" + // 0xB0 - 0xB7 - "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" + // 0xB8 - 0xBF - "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" + // 0xC0 - 0xC7 - "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" + // 0xC8 - 0xCF - "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" + // 0xD0 - 0xD7 - "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" + // 0xD8 - 0xDF - "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" + // 0xE0 - 0xE7 - "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + // 0xE8 - 0xEF - "\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457" + // 0xF0 - 0xF7 - "\u0458\u0459\u045A\u045B\u045C\u00A7\u045E\u045F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u00FD" + - "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2" + - "\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" + - "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" + - "\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA" + - "\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2" + - "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" + - "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2" + - "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" + - "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" + - "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" + - "\u00EB\u00EC\u00ED\u00EE\u00EF\u0000\u00F1\u00F2" + - "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" + - "\u00FB\u00FC\u0000\u00FE\u00FF\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ISO_8859_7.java --- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_7.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,255 +0,0 @@ -/* - * Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class ISO_8859_7 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_7() { - super("ISO-8859-7", StandardCharsets.aliases_ISO_8859_7); - } - - public String historicalName() { - return "ISO8859_7"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_7)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u2018\u2019\u00A3\u20AC\u20AF\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u037A\u00AB\u00AC\u00AD\uFFFD\u2015" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u0384\u0385\u0386\u00B7" + // 0xB0 - 0xB7 - "\u0388\u0389\u038A\u00BB\u038C\u00BD\u038E\u038F" + // 0xB8 - 0xBF - "\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397" + // 0xC0 - 0xC7 - "\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F" + // 0xC8 - 0xCF - "\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7" + // 0xD0 - 0xD7 - "\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF" + // 0xD8 - 0xDF - "\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7" + // 0xE0 - 0xE7 - "\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF" + // 0xE8 - 0xEF - "\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7" + // 0xF0 - 0xF7 - "\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u00A3\u0000\u0000\u00A6\u00A7" + - "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u0000\u0000" + - "\u00B0\u00B1\u00B2\u00B3\u0000\u0000\u0000\u00B7" + - "\u0000\u0000\u0000\u00BB\u0000\u00BD\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B4\u00B5\u00B6\u0000\u00B8\u00B9\u00BA\u0000" + - "\u00BC\u0000\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3" + - "\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB" + - "\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u0000\u00D3" + - "\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB" + - "\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3" + - "\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB" + - "\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3" + - "\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB" + - "\u00FC\u00FD\u00FE\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00AF\u0000\u0000\u00A1" + - "\u00A2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00A4\u0000\u0000\u00A5\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 190, 190, 324, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 559, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ISO_8859_9.java --- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_9.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,233 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class ISO_8859_9 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_9() { - super("ISO-8859-9", StandardCharsets.aliases_ISO_8859_9); - } - - public String historicalName() { - return "ISO8859_9"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_9)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + // 0xB8 - 0xBF - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + // 0xC0 - 0xC7 - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + // 0xC8 - 0xCF - "\u011E\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u00D8\u00D9\u00DA\u00DB\u00DC\u0130\u015E\u00DF" + // 0xD8 - 0xDF - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + // 0xE0 - 0xE7 - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + // 0xE8 - 0xEF - "\u011F\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u00F8\u00F9\u00FA\u00FB\u00FC\u0131\u015F\u00FF" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00D0\u00F0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/KOI8_R.java --- a/jdk/src/share/classes/sun/nio/cs/KOI8_R.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,344 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; - - -public class KOI8_R - extends Charset - implements HistoricallyNamedCharset -{ - - public KOI8_R() { - super("KOI8-R", StandardCharsets.aliases_KOI8_R); - } - - public String historicalName() { - return "KOI8_R"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof KOI8_R)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524" + // 0x80 - 0x87 - "\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590" + // 0x88 - 0x8F - "\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248" + // 0x90 - 0x97 - "\u2264\u2265\u00A0\u2321\u00B0\u00B2\u00B7\u00F7" + // 0x98 - 0x9F - "\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556" + // 0xA0 - 0xA7 - "\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E" + // 0xA8 - 0xAF - "\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565" + // 0xB0 - 0xB7 - "\u2566\u2567\u2568\u2569\u256A\u256B\u256C\u00A9" + // 0xB8 - 0xBF - "\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433" + // 0xC0 - 0xC7 - "\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E" + // 0xC8 - 0xCF - "\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432" + // 0xD0 - 0xD7 - "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" + // 0xD8 - 0xDF - "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" + // 0xE0 - 0xE7 - "\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E" + // 0xE8 - 0xEF - "\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412" + // 0xF0 - 0xF7 - "\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009C\u0000\u009D\u0000\u0000\u0000\u0000\u009E" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" + - "\u00E2\u00F7\u00E7\u00E4\u00E5\u00F6\u00FA\u00E9" + - "\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F2" + - "\u00F3\u00F4\u00F5\u00E6\u00E8\u00E3\u00FE\u00FB" + - "\u00FD\u00FF\u00F9\u00F8\u00FC\u00E0\u00F1\u00C1" + - "\u00C2\u00D7\u00C7\u00C4\u00C5\u00D6\u00DA\u00C9" + - "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D2" + - "\u00D3\u00D4\u00D5\u00C6\u00C8\u00C3\u00DE\u00DB" + - "\u00DD\u00DF\u00D9\u00D8\u00DC\u00C0\u00D1\u0000" + - "\u00A3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0095" + - "\u0096\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0097\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0098\u0099\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0093\u009B" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" + - "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0082\u0000\u0000\u0000\u0083\u0000" + - "\u0000\u0000\u0084\u0000\u0000\u0000\u0085\u0000" + - "\u0000\u0000\u0086\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0087\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0088\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u008A\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A0\u00A1" + - "\u00A2\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" + - "\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2" + - "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB" + - "\u00BC\u00BD\u00BE\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u0000" + - "\u0000\u0000\u008C\u0000\u0000\u0000\u008D\u0000" + - "\u0000\u0000\u008E\u0000\u0000\u0000\u008F\u0090" + - "\u0091\u0092\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0094\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 248, 248, 503, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 734, 958, 248, 1214, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/KOI8_U.java --- a/jdk/src/share/classes/sun/nio/cs/KOI8_U.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,323 +0,0 @@ -/* - * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; - -/* - * An implementation of charset KOI8_U as specified by - * http://www.net.ua/KOI8-U - */ - -public class KOI8_U - extends Charset - implements HistoricallyNamedCharset -{ - - public KOI8_U() { - super("KOI8-U", StandardCharsets.aliases_KOI8_U); - } - - public String historicalName() { - return "KOI8_U"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof KOI8_U)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - private static class Decoder extends SingleByteDecoder { - - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524" + // 0x80 - 0x87 - "\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590" + // 0x88 - 0x8F - "\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248" + // 0x90 - 0x97 - "\u2264\u2265\u00A0\u2321\u00B0\u00B2\u00B7\u00F7" + // 0x98 - 0x9F - "\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457" + // 0xA0 - 0xA7 - "\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E" + // 0xA8 - 0xAF - "\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407" + // 0xB0 - 0xB7 - "\u2566\u2567\u2568\u2569\u256A\u0490\u256C\u00A9" + // 0xB8 - 0xBF - "\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433" + // 0xC0 - 0xC7 - "\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E" + // 0xC8 - 0xCF - "\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432" + // 0xD0 - 0xD7 - "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" + // 0xD8 - 0xDF - "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" + // 0xE0 - 0xE7 - "\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E" + // 0xE8 - 0xEF - "\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412" + // 0xF0 - 0xF7 - "\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009C\u0000\u009D\u0000\u0000\u0000\u0000\u009E" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B3\u0000\u0000\u00B4\u0000\u00B6\u00B7\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" + - "\u00E2\u00F7\u00E7\u00E4\u00E5\u00F6\u00FA\u00E9" + - "\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F2" + - "\u00F3\u00F4\u00F5\u00E6\u00E8\u00E3\u00FE\u00FB" + - "\u00FD\u00FF\u00F9\u00F8\u00FC\u00E0\u00F1\u00C1" + - "\u00C2\u00D7\u00C7\u00C4\u00C5\u00D6\u00DA\u00C9" + - "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D2" + - "\u00D3\u00D4\u00D5\u00C6\u00C8\u00C3\u00DE\u00DB" + - "\u00DD\u00DF\u00D9\u00D8\u00DC\u00C0\u00D1\u0000" + - "\u00A3\u0000\u0000\u00A4\u0000\u00A6\u00A7\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BD" + - "\u00AD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0095" + - "\u0096\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0097\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0098\u0099\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0093\u009B" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" + - "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0082\u0000\u0000\u0000\u0083\u0000" + - "\u0000\u0000\u0084\u0000\u0000\u0000\u0085\u0000" + - "\u0000\u0000\u0086\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0087\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0088\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u008A\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A0\u00A1" + - "\u00A2\u0000\u00A5\u0000\u0000\u00A8\u00A9\u00AA" + - "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" + - "\u0000\u00B5\u0000\u0000\u00B8\u00B9\u00BA\u00BB" + - "\u00BC\u0000\u00BE\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u0000" + - "\u0000\u0000\u008C\u0000\u0000\u0000\u008D\u0000" + - "\u0000\u0000\u008E\u0000\u0000\u0000\u008F\u0090" + - "\u0091\u0092\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0094\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 248, 248, 503, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 734, 958, 248, 1214, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/MS1250.java --- a/jdk/src/share/classes/sun/nio/cs/MS1250.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,304 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - - -public class MS1250 - extends Charset - implements HistoricallyNamedCharset -{ - - public String historicalName() { - return "Cp1250"; - } - - public MS1250() { - super("windows-1250", StandardCharsets.aliases_MS1250); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS1250)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179" + // 0x88 - 0x8F - "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A" + // 0x98 - 0x9F - "\u00A0\u02C7\u02D8\u0141\u00A4\u0104\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u015E\u00AB\u00AC\u00AD\u00AE\u017B" + // 0xA8 - 0xAF - "\u00B0\u00B1\u02DB\u0142\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u0105\u015F\u00BB\u013D\u02DD\u013E\u017C" + // 0xB8 - 0xBF - "\u0154\u00C1\u00C2\u0102\u00C4\u0139\u0106\u00C7" + // 0xC0 - 0xC7 - "\u010C\u00C9\u0118\u00CB\u011A\u00CD\u00CE\u010E" + // 0xC8 - 0xCF - "\u0110\u0143\u0147\u00D3\u00D4\u0150\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u0158\u016E\u00DA\u0170\u00DC\u00DD\u0162\u00DF" + // 0xD8 - 0xDF - "\u0155\u00E1\u00E2\u0103\u00E4\u013A\u0107\u00E7" + // 0xE0 - 0xE7 - "\u010D\u00E9\u0119\u00EB\u011B\u00ED\u00EE\u010F" + // 0xE8 - 0xEF - "\u0111\u0144\u0148\u00F3\u00F4\u0151\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u0159\u016F\u00FA\u0171\u00FC\u00FD\u0163\u02D9" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u0000\u0000\u00A4\u0000\u00A6\u00A7" + - "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" + - "\u00B0\u00B1\u0000\u0000\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u0000\u0000\u00BB\u0000\u0000\u0000\u0000" + - "\u0000\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" + - "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" + - "\u0000\u0000\u0000\u00D3\u00D4\u0000\u00D6\u00D7" + - "\u0000\u0000\u00DA\u0000\u00DC\u00DD\u0000\u00DF" + - "\u0000\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" + - "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" + - "\u0000\u0000\u0000\u00F3\u00F4\u0000\u00F6\u00F7" + - "\u0000\u0000\u00FA\u0000\u00FC\u00FD\u0000\u0000" + - "\u00C3\u00E3\u00A5\u00B9\u00C6\u00E6\u0000\u0000" + - "\u0000\u0000\u00C8\u00E8\u00CF\u00EF\u00D0\u00F0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CA\u00EA" + - "\u00CC\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" + - "\u00E5\u0000\u0000\u00BC\u00BE\u0000\u0000\u00A3" + - "\u00B3\u00D1\u00F1\u0000\u0000\u00D2\u00F2\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00D5\u00F5" + - "\u0000\u0000\u00C0\u00E0\u0000\u0000\u00D8\u00F8" + - "\u008C\u009C\u0000\u0000\u00AA\u00BA\u008A\u009A" + - "\u00DE\u00FE\u008D\u009D\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00D9\u00F9\u00DB\u00FB" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008F" + - "\u009F\u00AF\u00BF\u008E\u009E\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A1\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A2\u00FF" + - "\u0000\u00B2\u0000\u00BD\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0096\u0097" + - "\u0000\u0000\u0000\u0091\u0092\u0082\u0000\u0093" + - "\u0094\u0084\u0000\u0086\u0087\u0095\u0000\u0000" + - "\u0000\u0085\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0089\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u008B\u009B\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0080" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0099\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000"; - - private final static short index1[] = { - 0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 675, 897, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/MS1251.java --- a/jdk/src/share/classes/sun/nio/cs/MS1251.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,306 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - - -public class MS1251 - extends Charset - implements HistoricallyNamedCharset -{ - - public String historicalName() { - return "Cp1251"; - } - - public MS1251() { - super("windows-1251", StandardCharsets.aliases_MS1251); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS1251)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F" + // 0x88 - 0x8F - "\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F" + // 0x98 - 0x9F - "\u00A0\u040E\u045E\u0408\u00A4\u0490\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u0401\u00A9\u0404\u00AB\u00AC\u00AD\u00AE\u0407" + // 0xA8 - 0xAF - "\u00B0\u00B1\u0406\u0456\u0491\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u0451\u2116\u0454\u00BB\u0458\u0405\u0455\u0457" + // 0xB8 - 0xBF - "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" + // 0xC0 - 0xC7 - "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" + // 0xC8 - 0xCF - "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" + // 0xD0 - 0xD7 - "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" + // 0xD8 - 0xDF - "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" + // 0xE0 - 0xE7 - "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" + // 0xE8 - 0xEF - "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" + // 0xF0 - 0xF7 - "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u0000\u0000\u00A4\u0000\u00A6\u00A7" + - "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" + - "\u00B0\u00B1\u0000\u0000\u0000\u00B5\u00B6\u00B7" + - "\u0000\u0000\u0000\u00BB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00A8\u0080\u0081\u00AA" + - "\u00BD\u00B2\u00AF\u00A3\u008A\u008C\u008E\u008D" + - "\u0000\u00A1\u008F\u00C0\u00C1\u00C2\u00C3\u00C4" + - "\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC" + - "\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4" + - "\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC" + - "\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4" + - "\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC" + - "\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4" + - "\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC" + - "\u00FD\u00FE\u00FF\u0000\u00B8\u0090\u0083\u00BA" + - "\u00BE\u00B3\u00BF\u00BC\u009A\u009C\u009E\u009D" + - "\u0000\u00A2\u009F\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00A5\u00B4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0096\u0097\u0000\u0000\u0000" + - "\u0091\u0092\u0082\u0000\u0093\u0094\u0084\u0000" + - "\u0086\u0087\u0095\u0000\u0000\u0000\u0085\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0089\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u008B\u009B\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0088\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0099\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000"; - - private final static short index1[] = { - 0, 188, 188, 188, 443, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 680, 914, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/MS1252.java --- a/jdk/src/share/classes/sun/nio/cs/MS1252.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,304 +0,0 @@ -/* - * Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; - - -public class MS1252 - extends Charset - implements HistoricallyNamedCharset -{ - - public MS1252() { - super("windows-1252", StandardCharsets.aliases_MS1252); - } - - public String historicalName() { - return "Cp1252"; - } - - public boolean contains(Charset cs) { - return ((cs instanceof MS1252) - || (cs instanceof US_ASCII)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD" + // 0x88 - 0x8F - "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178" + // 0x98 - 0x9F - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + // 0xB8 - 0xBF - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + // 0xC0 - 0xC7 - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + // 0xC8 - 0xCF - "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" + // 0xD8 - 0xDF - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + // 0xE0 - 0xE7 - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + // 0xE8 - 0xEF - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u008A\u009A\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u008E\u009E\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u0000" + - "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" + - "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" + - "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 461, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 698, 920, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/MS1253.java --- a/jdk/src/share/classes/sun/nio/cs/MS1253.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,303 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - - -public class MS1253 - extends Charset - implements HistoricallyNamedCharset -{ - - public String historicalName() { - return "Cp1253"; - } - - public MS1253() { - super("windows-1253", StandardCharsets.aliases_MS1253); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS1253)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x98 - 0x9F - "\u00A0\u0385\u0386\u00A3\u00A4\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\uFFFD\u00AB\u00AC\u00AD\u00AE\u2015" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u0384\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u0388\u0389\u038A\u00BB\u038C\u00BD\u038E\u038F" + // 0xB8 - 0xBF - "\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397" + // 0xC0 - 0xC7 - "\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F" + // 0xC8 - 0xCF - "\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7" + // 0xD0 - 0xD7 - "\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF" + // 0xD8 - 0xDF - "\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7" + // 0xE0 - 0xE7 - "\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF" + // 0xE8 - 0xEF - "\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7" + // 0xF0 - 0xF7 - "\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - private final static String index2 = - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u0000\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" + - "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" + - "\u0000\u0000\u0000\u00BB\u0000\u00BD\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0083\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B4\u00A1\u00A2\u0000\u00B8\u00B9\u00BA" + - "\u0000\u00BC\u0000\u00BE\u00BF\u00C0\u00C1\u00C2" + - "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" + - "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u0000" + - "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" + - "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" + - "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" + - "\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2" + - "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" + - "\u00FB\u00FC\u00FD\u00FE\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u00AF" + - "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" + - "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" + - "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 190, 337, 461, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 698, 920, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/MS1254.java --- a/jdk/src/share/classes/sun/nio/cs/MS1254.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,305 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - - -public class MS1254 - extends Charset - implements HistoricallyNamedCharset -{ - - public String historicalName() { - return "Cp1254"; - } - - public MS1254() { - super("windows-1254", StandardCharsets.aliases_MS1254); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS1254)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178" + // 0x98 - 0x9F - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + // 0xB8 - 0xBF - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + // 0xC0 - 0xC7 - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + // 0xC8 - 0xCF - "\u011E\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u00D8\u00D9\u00DA\u00DB\u00DC\u0130\u015E\u00DF" + // 0xD8 - 0xDF - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + // 0xE0 - 0xE7 - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + // 0xE8 - 0xEF - "\u011F\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u00F8\u00F9\u00FA\u00FB\u00FC\u0131\u015F\u00FF" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00D0\u00F0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE" + - "\u008A\u009A\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u0000" + - "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" + - "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" + - "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 461, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 698, 920, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/MS1257.java --- a/jdk/src/share/classes/sun/nio/cs/MS1257.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,304 +0,0 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - - -public class MS1257 - extends Charset - implements HistoricallyNamedCharset -{ - - public String historicalName() { - return "Cp1257"; - } - - public MS1257() { - super("windows-1257", StandardCharsets.aliases_MS1257); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS1257)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\uFFFD\u2030\uFFFD\u2039\uFFFD\u00A8\u02C7\u00B8" + // 0x88 - 0x8F - "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\uFFFD\u2122\uFFFD\u203A\uFFFD\u00AF\u02DB\uFFFD" + // 0x98 - 0x9F - "\u00A0\uFFFD\u00A2\u00A3\u00A4\uFFFD\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" + // 0xB8 - 0xBF - "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" + // 0xC0 - 0xC7 - "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" + // 0xC8 - 0xCF - "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" + // 0xD8 - 0xDF - "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" + // 0xE0 - 0xE7 - "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" + // 0xE8 - 0xEF - "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u02D9" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" + - "\u008D\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u009D" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u008F\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" + - "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" + - "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" + - "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" + - "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" + - "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" + - "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" + - "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" + - "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" + - "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" + - "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" + - "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" + - "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" + - "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" + - "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" + - "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" + - "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008E" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00FF\u0000\u009E\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0096\u0097\u0000\u0000\u0000\u0091\u0092\u0082" + - "\u0000\u0093\u0094\u0084\u0000\u0086\u0087\u0095" + - "\u0000\u0000\u0000\u0085\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0089\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u009B" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0080\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0099\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 677, 899, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/SingleByte.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/share/classes/sun/nio/cs/SingleByte.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,241 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.nio.cs; + +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CharsetEncoder; +import java.nio.charset.CoderResult; +import static sun.nio.cs.CharsetMapping.*; + +public class SingleByte +{ + private static final CoderResult withResult(CoderResult cr, + Buffer src, int sp, + Buffer dst, int dp) + { + src.position(sp - src.arrayOffset()); + dst.position(dp - dst.arrayOffset()); + return cr; + } + + public static class Decoder extends CharsetDecoder { + private final char[] b2c; + + public Decoder(Charset cs, char[] b2c) { + super(cs, 1.0f, 1.0f); + this.b2c = b2c; + } + + private CoderResult decodeArrayLoop(ByteBuffer src, CharBuffer dst) { + byte[] sa = src.array(); + int sp = src.arrayOffset() + src.position(); + int sl = src.arrayOffset() + src.limit(); + + char[] da = dst.array(); + int dp = dst.arrayOffset() + dst.position(); + int dl = dst.arrayOffset() + dst.limit(); + + CoderResult cr = CoderResult.UNDERFLOW; + if ((dl - dp) < (sl - sp)) { + sl = sp + (dl - dp); + cr = CoderResult.OVERFLOW; + } + + while (sp < sl) { + char c = decode(sa[sp]); + if (c == UNMAPPABLE_DECODING) { + return withResult(CoderResult.unmappableForLength(1), + src, sp, dst, dp); + } + da[dp++] = c; + sp++; + } + return withResult(cr, src, sp, dst, dp); + } + + private CoderResult decodeBufferLoop(ByteBuffer src, CharBuffer dst) { + int mark = src.position(); + try { + while (src.hasRemaining()) { + char c = decode(src.get()); + if (c == UNMAPPABLE_DECODING) + return CoderResult.unmappableForLength(1); + if (!dst.hasRemaining()) + return CoderResult.OVERFLOW; + dst.put(c); + mark++; + } + return CoderResult.UNDERFLOW; + } finally { + src.position(mark); + } + } + + protected CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) { + if (src.hasArray() && dst.hasArray()) + return decodeArrayLoop(src, dst); + else + return decodeBufferLoop(src, dst); + } + + private final char decode(int b) { + return b2c[b + 128]; + } + } + + public static class Encoder extends CharsetEncoder { + private Surrogate.Parser sgp; + private final char[] c2b; + private final char[] c2bIndex; + + public Encoder(Charset cs, char[] c2b, char[] c2bIndex) { + super(cs, 1.0f, 1.0f); + this.c2b = c2b; + this.c2bIndex = c2bIndex; + } + + public boolean canEncode(char c) { + return encode(c) != UNMAPPABLE_ENCODING; + } + + private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) { + char[] sa = src.array(); + int sp = src.arrayOffset() + src.position(); + int sl = src.arrayOffset() + src.limit(); + + byte[] da = dst.array(); + int dp = dst.arrayOffset() + dst.position(); + int dl = dst.arrayOffset() + dst.limit(); + + CoderResult cr = CoderResult.UNDERFLOW; + if ((dl - dp) < (sl - sp)) { + sl = sp + (dl - dp); + cr = CoderResult.OVERFLOW; + } + + while (sp < sl) { + char c = sa[sp]; + int b = encode(c); + if (b == UNMAPPABLE_ENCODING) { + if (Surrogate.is(c)) { + if (sgp == null) + sgp = new Surrogate.Parser(); + if (sgp.parse(c, sa, sp, sl) < 0) + return withResult(sgp.error(), src, sp, dst, dp); + return withResult(sgp.unmappableResult(), src, sp, dst, dp); + } + return withResult(CoderResult.unmappableForLength(1), + src, sp, dst, dp); + } + da[dp++] = (byte)b; + sp++; + } + return withResult(cr, src, sp, dst, dp); + } + + private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) { + int mark = src.position(); + try { + while (src.hasRemaining()) { + char c = src.get(); + int b = encode(c); + if (b == UNMAPPABLE_ENCODING) { + if (Surrogate.is(c)) { + if (sgp == null) + sgp = new Surrogate.Parser(); + if (sgp.parse(c, src) < 0) + return sgp.error(); + return sgp.unmappableResult(); + } + return CoderResult.unmappableForLength(1); + } + if (!dst.hasRemaining()) + return CoderResult.OVERFLOW; + dst.put((byte)b); + mark++; + } + return CoderResult.UNDERFLOW; + } finally { + src.position(mark); + } + } + + protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) { + if (src.hasArray() && dst.hasArray()) + return encodeArrayLoop(src, dst); + else + return encodeBufferLoop(src, dst); + } + + private final int encode(char ch) { + char index = c2bIndex[ch >> 8]; + if (index == UNMAPPABLE_ENCODING) + return UNMAPPABLE_ENCODING; + return c2b[index + (ch & 0xff)]; + } + } + + // init the c2b and c2bIndex tables from b2c. + public static void initC2B(char[] b2c, char[] c2bNR, + char[] c2b, char[] c2bIndex) { + for (int i = 0; i < c2bIndex.length; i++) + c2bIndex[i] = UNMAPPABLE_ENCODING; + for (int i = 0; i < c2b.length; i++) + c2b[i] = UNMAPPABLE_ENCODING; + int off = 0; + for (int i = 0; i < b2c.length; i++) { + char c = b2c[i]; + if (c == UNMAPPABLE_DECODING) + continue; + int index = (c >> 8); + if (c2bIndex[index] == UNMAPPABLE_ENCODING) { + c2bIndex[index] = (char)off; + off += 0x100; + } + index = c2bIndex[index] + (c & 0xff); + c2b[index] = (char)((i>=0x80)?(i-0x80):(i+0x80)); + } + if (c2bNR != null) { + // c-->b nr entries + int i = 0; + while (i < c2bNR.length) { + char b = c2bNR[i++]; + char c = c2bNR[i++]; + int index = (c >> 8); + if (c2bIndex[index] == UNMAPPABLE_ENCODING) { + c2bIndex[index] = (char)off; + off += 0x100; + } + index = c2bIndex[index] + (c & 0xff); + c2b[index] = b; + } + } + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM037.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM037.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM037 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM037() { - super("IBM037", ExtendedCharsets.aliasesFor("IBM037")); - } - - public String historicalName() { - return "Cp037"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM037); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u005E\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u005B\u005D\u00AF\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\u00E7\u00F1\u00A2\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u0021\u0024\u002A\u0029\u003B\u00AC" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - protected static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u004A\u00B1\u009F\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1006.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1006.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,336 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1006 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1006() { - super("x-IBM1006", ExtendedCharsets.aliasesFor("x-IBM1006")); - } - - public String historicalName() { - return "Cp1006"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1006); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6" + // 0xA0 - 0xA7 - "\u06F7\u06F8\u06F9\u060C\u061B\u00AD\u061F\uFE81" + // 0xA8 - 0xAF - "\uFE8D\uFE8E\uF8FB\uFE8F\uFE91\uFB56\uFB58\uFE93" + // 0xB0 - 0xB7 - "\uFE95\uFE97\uFB66\uFB68\uFE99\uFE9B\uFE9D\uFE9F" + // 0xB8 - 0xBF - "\uFB7A\uFB7C\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFB88" + // 0xC0 - 0xC7 - "\uFEAB\uFEAD\uFB8C\uFEAF\uFB8A\uFEB1\uFEB3\uFEB5" + // 0xC8 - 0xCF - "\uFEB7\uFEB9\uFEBB\uFEBD\uFEBF\uFEC3\uFEC7\uFEC9" + // 0xD0 - 0xD7 - "\uFECA\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1" + // 0xD8 - 0xDF - "\uFED3\uFED5\uFED7\uFB8E\uFEDB\uFB92\uFB94\uFEDD" + // 0xE0 - 0xE7 - "\uFEDF\uFEE0\uFEE1\uFEE3\uFB9E\uFEE5\uFEE7\uFE85" + // 0xE8 - 0xEF - "\uFEED\uFBA6\uFBA8\uFBA9\uFBAA\uFE80\uFE89\uFE8A" + // 0xF0 - 0xF7 - "\uFE8B\uFBFC\uFBFD\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AB\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00AC\u0000\u0000" + - "\u0000\u00AE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00AA\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B2" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00B5\u0000" + - "\u00B6\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00BA\u0000" + - "\u00BB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C0\u0000\u00C1\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C7\u0000\u00CC\u0000\u00CA\u0000\u00E3\u0000" + - "\u0000\u0000\u00E5\u0000\u00E6\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00EC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F1\u0000" + - "\u00F2\u00F3\u00F4\u0000\u0000\u0000\u00FD\u0000" + - "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00FE\u00FF\u0000\u0000\u00F5" + - "\u00AF\u0000\u0000\u0000\u00EF\u0000\u0000\u0000" + - "\u00F6\u00F7\u00F8\u0000\u00B0\u00B1\u00B3\u0000" + - "\u00B4\u0000\u00B7\u0000\u00B8\u0000\u00B9\u0000" + - "\u00BC\u0000\u00BD\u0000\u00BE\u0000\u00BF\u0000" + - "\u00C2\u0000\u00C3\u0000\u00C4\u0000\u00C5\u0000" + - "\u00C6\u0000\u00C8\u0000\u00C9\u0000\u00CB\u0000" + - "\u00CD\u0000\u00CE\u0000\u00CF\u0000\u00D0\u0000" + - "\u00D1\u0000\u00D2\u0000\u00D3\u0000\u00D4\u0000" + - "\u0000\u0000\u00D5\u0000\u0000\u0000\u00D6\u0000" + - "\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE" + - "\u00DF\u0000\u00E0\u0000\u00E1\u0000\u00E2\u0000" + - "\u0000\u0000\u00E4\u0000\u00E7\u0000\u00E8\u00E9" + - "\u00EA\u0000\u00EB\u0000\u00ED\u0000\u00EE\u0000" + - "\u0000\u0000\u0000\u0000\u00F0\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 668, 174, 174, 920, 174, 174, 1175, 174, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1025.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1025.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,272 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1025 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1025() { - super("x-IBM1025", ExtendedCharsets.aliasesFor("x-IBM1025")); - } - - public String historicalName() { - return "Cp1025"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1025); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0446\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u0434\u0435\u0444\u0433\u0445\u0438" + // 0x88 - 0x8F - "\u0439\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u043A\u043B\u043C\u043D\u043E\u043F" + // 0x98 - 0x9F - "\u044F\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u0440\u0441\u0442\u0443\u0436\u0432" + // 0xA8 - 0xAF - "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" + // 0xB0 - 0xB7 - "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u0425\u0418\u0419\u041A\u041B\u041C" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u041D\u041E\u041F\u042F\u0420\u0421" + // 0xD8 - 0xDF - "\\\u00A7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u0422\u0423\u0416\u0412\u042C\u042B" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u0417\u0428\u042D\u0429\u0427\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u0452\u0453\u0451\u0454\u0455\u0456" + // 0x40 - 0x47 - "\u0457\u0458\u005B\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u0459\u045A\u045B\u045C\u045E\u045F\u042A" + // 0x50 - 0x57 - "\u2116\u0402\u005D\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u0403\u0401\u0404\u0405\u0406\u0407" + // 0x60 - 0x67 - "\u0408\u0409\u007C\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u040A\u040B\u040C\u00AD\u040E\u040F\u044E\u0430" + // 0x70 - 0x77 - "\u0431\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" + - "\u0000\u0000\u0000\u0000\u0000\u0073\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0063\u0059" + - "\u0062\u0064\u0065\u0066\u0067\u0068\u0069\u0070" + - "\u0071\u0072\u0000\u0074\u0075\u00B9\u00BA\u00ED" + - "\u00BF\u00BC\u00BD\u00EC\u00FA\u00CB\u00CC\u00CD" + - "\u00CE\u00CF\u00DA\u00DB\u00DC\u00DE\u00DF\u00EA" + - "\u00EB\u00BE\u00CA\u00BB\u00FE\u00FB\u00FD\u0057" + - "\u00EF\u00EE\u00FC\u00B8\u00DD\u0077\u0078\u00AF" + - "\u008D\u008A\u008B\u00AE\u00B2\u008F\u0090\u009A" + - "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" + - "\u00AD\u008C\u008E\u0080\u00B6\u00B3\u00B5\u00B7" + - "\u00B1\u00B0\u00B4\u0076\u00A0\u0000\u0044\u0042" + - "\u0043\u0045\u0046\u0047\u0048\u0049\u0051\u0052" + - "\u0053\u0054\u0000\u0055\u0056\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0058\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1026.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1026.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,233 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1026 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1026() { - super("IBM1026", ExtendedCharsets.aliasesFor("IBM1026")); - } - - public String historicalName() { - return "Cp1026"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1026); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u007D\u0060\u00A6\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u00F6\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u005D\u0024\u0040\u00AE" + // 0xA8 - 0xAF - "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u00E7\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u007E\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u011F\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\\\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\u00FC\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u0023\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\"\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\u007B\u00F1\u00C7\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u011E\u0130\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u005B\u00D1\u015F\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u0131\u003A\u00D6\u015E\'\u003D\u00DC"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u00FC\u00EC\u00AD\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00AE\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0068\u00DC\u00AC\u005F\u006D" + - "\u008D\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0048\u00BB\u008C\u00CC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u008E\u00B5" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u004A" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u0000\u0069\u00ED\u00EE\u00EB\u00EF\u007B\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u007F\u0000\u0000\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u00C0" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u0000\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00E0\u0000\u0000\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u005A\u00D0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u005B\u0079\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u007C\u006A" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1046.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1046.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,335 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1046 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1046() { - super("x-IBM1046", ExtendedCharsets.aliasesFor("x-IBM1046")); - } - - public String historicalName() { - return "Cp1046"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1046); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFE88\u00D7\u00F7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71" + // 0x80 - 0x87 - "\u0088\u25A0\u2502\u2500\u2510\u250C\u2514\u2518" + // 0x88 - 0x8F - "\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3" + // 0x90 - 0x97 - "\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC" + // 0x98 - 0x9F - "\u00A0\uF8FA\uF8F9\uF8F8\u00A4\uF8FB\uFE8B\uFE91" + // 0xA0 - 0xA7 - "\uFE97\uFE9B\uFE9F\uFEA3\u060C\u00AD\uFEA7\uFEB3" + // 0xA8 - 0xAF - "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" + // 0xB0 - 0xB7 - "\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F" + // 0xB8 - 0xBF - "\uFECB\uFE80\uFE81\uFE83\uFE85\uFE87\uFE89\uFE8D" + // 0xC0 - 0xC7 - "\uFE8F\uFE93\uFE95\uFE99\uFE9D\uFEA1\uFEA5\uFEA9" + // 0xC8 - 0xCF - "\uFEAB\uFEAD\uFEAF\uFEB1\uFEB5\uFEB9\uFEBD\uFEC3" + // 0xD0 - 0xD7 - "\uFEC7\uFEC9\uFECD\uFECC\uFE82\uFE84\uFE8E\uFED3" + // 0xD8 - 0xDF - "\u0640\uFED1\uFED5\uFED9\uFEDD\uFEE1\uFEE5\uFEEB" + // 0xE0 - 0xE7 - "\uFEED\uFEEF\uFEF1\uFE70\uFE72\uFE74\uFE76\uFE78" + // 0xE8 - 0xEF - "\uFE7A\uFE7C\uFE7E\uFED7\uFEDB\uFEDF\uF8FC\uFEF5" + // 0xF0 - 0xF7 - "\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0088\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0081" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0082" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BB" + - "\u0000\u0000\u0000\u00BF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00E0\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2\u00B3" + - "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u008B\u0000\u008A\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u008D\u0000\u0000\u0000\u008C\u0000\u0000\u0000" + - "\u008E\u0000\u0000\u0000\u008F\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0089\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0085\u0084\u0083\u0086\u00A3\u00A2\u00A1" + - "\u00A5\u00F6\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00EB\u0087\u00EC\u0000\u00ED\u0000" + - "\u00EE\u0094\u00EF\u0090\u00F0\u0091\u00F1\u0092" + - "\u00F2\u0093\u00C1\u00C2\u00DC\u00C3\u00DD\u00C4" + - "\u0000\u00C5\u0080\u00C6\u0095\u00A6\u0000\u00C7" + - "\u00DE\u00C8\u0000\u00A7\u0000\u00C9\u0000\u00CA" + - "\u0000\u00A8\u0000\u00CB\u0000\u00A9\u0000\u00CC" + - "\u0000\u00AA\u0000\u00CD\u0000\u00AB\u0000\u00CE" + - "\u0000\u00AE\u0000\u00CF\u0000\u00D0\u0000\u00D1" + - "\u0000\u00D2\u0000\u00D3\u0000\u00AF\u0000\u00D4" + - "\u0000\u00BA\u0000\u00D5\u0000\u00BC\u0000\u00D6" + - "\u0000\u00BD\u0000\u0000\u0000\u00D7\u0000\u0000" + - "\u0000\u00D8\u0000\u00D9\u00BE\u00C0\u00DB\u00DA" + - "\u0099\u009A\u009B\u00E1\u0000\u00DF\u0000\u00E2" + - "\u0000\u00F3\u0000\u00E3\u0000\u00F4\u0000\u00E4" + - "\u0000\u00F5\u0000\u00E5\u0000\u00FB\u0000\u00E6" + - "\u0000\u00FC\u0000\u00FE\u0000\u00E7\u00FD\u00E8" + - "\u0000\u00E9\u0096\u00EA\u0098\u0097\u0000\u00F7" + - "\u009C\u00F8\u009D\u00F9\u009E\u00FA\u009F\u0000" + - "\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 248, 248, 248, 248, 492, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 748, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 909, 248, 248, 248, 248, 248, 1162, 248, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1047.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1047.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1047 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1047() { - super("IBM1047", ExtendedCharsets.aliasesFor("IBM1047")); - } - - public String historicalName() { - return "Cp1047"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1047); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u005B\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00AC\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00DD\u00A8\u00AF\u005D\u00B4\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\u0085\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\u00E7\u00F1\u00A2\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u0021\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00AD\u00E0\u00BD\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0025\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u004A\u00B1\u009F\u00B2\u006A\u00B5" + - "\u00BB\u00B4\u009A\u008A\u00B0\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00BA\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1097.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1097.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,342 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1097 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1097() { - super("x-IBM1097", ExtendedCharsets.aliasesFor("x-IBM1097")); - } - - public String historicalName() { - return "Cp1097"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1097); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFB8A\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\uFEB1\uFEB3\uFEB5\uFEB7" + // 0x88 - 0x8F - "\uFEB9\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\uFEBB\uFEBD\uFEBF\uFEC1\uFEC3\uFEC5" + // 0x98 - 0x9F - "\uFEC7\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\uFEC9\uFECA\uFECB\uFECC\uFECD\uFECE" + // 0xA8 - 0xAF - "\uFECF\uFED0\uFED1\uFED3\uFED5\uFED7\uFB8E\uFEDB" + // 0xB0 - 0xB7 - "\uFB92\uFB94\u005B\u005D\uFEDD\uFEDF\uFEE1\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\uFEE3\uFEE5\uFEE7\uFEED\uFEE9" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\uFEEB\uFEEC\uFBA4\uFBFC\uFBFD\uFBFE" + // 0xD8 - 0xDF - "\\\u061F\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u0640\u06F0\u06F1\u06F2\u06F3\u06F4" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u06F5\u06F6\u06F7\u06F8\u06F9\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\u0085\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u060C\u064B\uFE81\uFE82\uF8FA\uFE8D" + // 0x40 - 0x47 - "\uFE8E\uF8FB\u00A4\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\uFE80\uFE83\uFE84\uF8F9\uFE85\uFE8B\uFE8F" + // 0x50 - 0x57 - "\uFE91\uFB56\u0021\u0024\u002A\u0029\u003B\u00AC" + // 0x58 - 0x5F - "\u002D\u002F\uFB58\uFE95\uFE97\uFE99\uFE9B\uFE9D" + // 0x60 - 0x67 - "\uFE9F\uFB7A\u061B\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\uFB7C\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD" + // 0x70 - 0x77 - "\uFEAF\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u0000\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u0000\u0000\u0000\u004A\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008A\u005F\u00CA\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0042\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u006A" + - "\u0000\u0000\u0000\u00E1\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00EA\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0043" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00EB\u00EC\u00ED\u00EE" + - "\u00EF\u00FA\u00FB\u00FC\u00FD\u00FE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0054" + - "\u0046\u0049\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0059\u0000\u0062\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0069\u0000\u0070\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" + - "\u00B6\u0000\u0000\u0000\u00B8\u0000\u00B9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DD\u00DE" + - "\u00DF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0051\u0044\u0045\u0052\u0053\u0055\u0000" + - "\u0000\u0000\u0000\u0000\u0056\u0000\u0047\u0048" + - "\u0057\u0000\u0058\u0000\u0000\u0000\u0063\u0000" + - "\u0064\u0000\u0065\u0000\u0066\u0000\u0067\u0000" + - "\u0068\u0000\u0071\u0000\u0072\u0000\u0073\u0000" + - "\u0074\u0000\u0075\u0000\u0076\u0000\u0077\u0000" + - "\u0078\u0000\u008C\u0000\u008D\u0000\u008E\u0000" + - "\u008F\u0000\u0090\u0000\u009A\u0000\u009B\u0000" + - "\u009C\u0000\u009D\u0000\u009E\u0000\u009F\u0000" + - "\u00A0\u0000\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u0000\u00B3\u0000\u00B4\u0000" + - "\u00B5\u0000\u0000\u0000\u00B7\u0000\u00BC\u0000" + - "\u00BD\u0000\u00BE\u0000\u00CB\u0000\u00CC\u0000" + - "\u00CD\u0000\u00CF\u0000\u00DA\u00DB\u00CE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000"; - - private final static short index1[] = { - 0, 216, 216, 216, 216, 216, 460, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 710, 216, 216, 962, 216, 216, 1217, 216, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1098.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1098.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,362 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1098 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1098() { - super("x-IBM1098", ExtendedCharsets.aliasesFor("x-IBM1098")); - } - - public String historicalName() { - return "Cp1098"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1098); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFFFD\uFFFD\u060C\u061B\u061F\u064B\uFE81\uFE82" + // 0x80 - 0x87 - "\uF8FA\uFE8D\uFE8E\uF8FB\uFE80\uFE83\uFE84\uF8F9" + // 0x88 - 0x8F - "\uFE85\uFE8B\uFE8F\uFE91\uFB56\uFB58\uFE95\uFE97" + // 0x90 - 0x97 - "\uFE99\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C\u00D7\uFEA1" + // 0x98 - 0x9F - "\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFB8A" + // 0xA0 - 0xA7 - "\uFEB1\uFEB3\uFEB5\uFEB7\uFEB9\uFEBB\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\uFEBD\uFEBF\uFEC1" + // 0xB0 - 0xB7 - "\uFEC3\u2563\u2551\u2557\u255D\u00A4\uFEC5\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\uFEC7\uFEC9" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\uFFFD" + // 0xC8 - 0xCF - "\uFECA\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1" + // 0xD0 - 0xD7 - "\uFED3\u2518\u250C\u2588\u2584\uFED5\uFED7\u2580" + // 0xD8 - 0xDF - "\uFB8E\uFEDB\uFB92\uFB94\uFEDD\uFEDF\uFEE1\uFEE3" + // 0xE0 - 0xE7 - "\uFEE5\uFEE7\uFEED\uFEE9\uFEEB\uFEEC\uFBA4\uFBFC" + // 0xE8 - 0xEF - "\u00AD\uFBFD\uFBFE\u0640\u06F0\u06F1\u06F2\u06F3" + // 0xF0 - 0xF7 - "\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0082\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0083" + - "\u0000\u0000\u0000\u0084\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F3\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0085" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" + - "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" + - "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" + - "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" + - "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" + - "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" + - "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" + - "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u008F\u0088" + - "\u008B\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0094" + - "\u0000\u0095\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u009C\u0000\u009D\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00A7\u0000\u0000\u0000\u00E0" + - "\u0000\u0000\u0000\u00E2\u0000\u00E3\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00EE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00EF\u00F1\u00F2" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u008C\u0086\u0087\u008D\u008E\u0090\u0000\u0000" + - "\u0000\u0000\u0000\u0091\u0000\u0089\u008A\u0092" + - "\u0000\u0093\u0000\u0000\u0000\u0096\u0000\u0097" + - "\u0000\u0098\u0000\u0099\u0000\u009A\u0000\u009B" + - "\u0000\u009F\u0000\u00A0\u0000\u00A1\u0000\u00A2" + - "\u0000\u00A3\u0000\u00A4\u0000\u00A5\u0000\u00A6" + - "\u0000\u00A8\u0000\u00A9\u0000\u00AA\u0000\u00AB" + - "\u0000\u00AC\u0000\u00AD\u0000\u00B5\u0000\u00B6" + - "\u0000\u00B7\u0000\u00B8\u0000\u00BE\u0000\u00C6" + - "\u0000\u00C7\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5" + - "\u00D6\u00D7\u0000\u00D8\u0000\u00DD\u0000\u00DE" + - "\u0000\u0000\u0000\u00E1\u0000\u00E4\u0000\u00E5" + - "\u0000\u00E6\u0000\u00E7\u0000\u00E8\u0000\u00E9" + - "\u0000\u00EB\u0000\u00EC\u00ED\u00EA\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 216, 216, 216, 216, 216, 460, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 716, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 877, 216, 216, 1129, 216, 216, 1384, 216, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1112.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1112.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,266 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1112 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1112() { - super("x-IBM1112", ExtendedCharsets.aliasesFor("x-IBM1112")); - } - - public String historicalName() { - return "Cp1112"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1112); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u0101\u017C\u0144\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u0156\u0157\u00E6\u0137\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u201D\u017A\u0100\u017B\u0143\u00AE" + // 0xA8 - 0xAF - "\u005E\u00A3\u012B\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u005B\u005D\u0179\u0136\u013C\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u014D\u00F6\u0146\u00F3\u00F5" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u0107\u00FC\u0142\u015B\u2019" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u014C\u00D6\u0145\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u0106\u00DC\u0141\u015A\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u0161\u00E4\u0105\u012F\u016B\u00E5" + // 0x40 - 0x47 - "\u0113\u017E\u00A2\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\u00E9\u0119\u0117\u010D\u0173\u201E\u201C" + // 0x50 - 0x57 - "\u0123\u00DF\u0021\u0024\u002A\u0029\u003B\u00AC" + // 0x58 - 0x5F - "\u002D\u002F\u0160\u00C4\u0104\u012E\u016A\u00C5" + // 0x60 - 0x67 - "\u0112\u017D\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u0118\u0116\u010C\u0172\u012A\u013B" + // 0x70 - 0x77 - "\u0122\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u0000\u004A\u00B1\u009F\u0000\u006A\u00B5" + - "\u0000\u00B4\u0000\u008A\u005F\u00CA\u00AF\u0000" + - "\u0090\u008F\u00EA\u00FA\u0000\u00A0\u00B6\u00B3" + - "\u0000\u00DA\u0000\u008B\u00B7\u00B8\u00B9\u0000" + - "\u0000\u0000\u0000\u0000\u0063\u0067\u009E\u0000" + - "\u0000\u0071\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00EE\u0000\u00EF\u00EC\u00BF" + - "\u0080\u0000\u0000\u0000\u00FC\u0000\u0000\u0059" + - "\u0000\u0000\u0000\u0000\u0043\u0047\u009C\u0000" + - "\u0000\u0051\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00CE\u0000\u00CF\u00CC\u00E1" + - "\u0070\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" + - "\u00AC\u008C\u0000\u0000\u0064\u0044\u00FB\u00DB" + - "\u0000\u0000\u0000\u0000\u0074\u0054\u0000\u0000" + - "\u0000\u0000\u0068\u0048\u0000\u0000\u0073\u0053" + - "\u0072\u0052\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0078\u0058\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0076\u00B2\u0000\u0000\u0065\u0045" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00BD\u009D" + - "\u0000\u0000\u0000\u0077\u00BE\u0000\u0000\u0000" + - "\u0000\u00FD\u00DD\u00AE\u008E\u00ED\u00CD\u0000" + - "\u0000\u0000\u0000\u0000\u00EB\u00CB\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u009A\u009B" + - "\u0000\u0000\u00FE\u00DE\u0000\u0000\u0000\u0000" + - "\u0062\u0042\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0066\u0046\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0075\u0055\u0000\u0000\u0000\u0000" + - "\u0000\u00BC\u00AB\u00AD\u008D\u0069\u0049\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DF" + - "\u0000\u0000\u0057\u00AA\u0056\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1122.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1122.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,262 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1122 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1122() { - super("x-IBM1122", ExtendedCharsets.aliasesFor("x-IBM1122")); - } - - public String historicalName() { - return "Cp1122"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1122); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u0161\u00FD\u017E\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u005D" + // 0x98 - 0x9F - "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u0160\u00DD\u017D\u00AE" + // 0xA8 - 0xAF - "\u00A2\u00A3\u00A5\u00B7\u00A9\u005B\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u203E\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\u00C9\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u0040\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u007D" + // 0x40 - 0x47 - "\u00E7\u00F1\u00A7\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u0060\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u0023\u00C0\u00C1\u00C3\u0024" + // 0x60 - 0x67 - "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\\\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u00E9\u003A\u00C4\u00D6\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" + - "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u00CC\u004A" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u0000" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" + - "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u0000\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u0000\u0059" + - "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" + - "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u0000\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u0000\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AC\u008C\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00AE\u008E\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BC" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000"; - - private final static short index1[] = { - 0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 577, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1123.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1123.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,272 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1123 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1123() { - super("x-IBM1123", ExtendedCharsets.aliasesFor("x-IBM1123")); - } - - public String historicalName() { - return "Cp1123"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1123); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0446\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u0434\u0435\u0444\u0433\u0445\u0438" + // 0x88 - 0x8F - "\u0439\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u043A\u043B\u043C\u043D\u043E\u043F" + // 0x98 - 0x9F - "\u044F\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u0440\u0441\u0442\u0443\u0436\u0432" + // 0xA8 - 0xAF - "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" + // 0xB0 - 0xB7 - "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u0425\u0418\u0419\u041A\u041B\u041C" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u041D\u041E\u041F\u042F\u0420\u0421" + // 0xD8 - 0xDF - "\\\u00A7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u0422\u0423\u0416\u0412\u042C\u042B" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u0417\u0428\u042D\u0429\u0427\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u0452\u0491\u0451\u0454\u0455\u0456" + // 0x40 - 0x47 - "\u0457\u0458\u005B\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u0459\u045A\u045B\u045C\u045E\u045F\u042A" + // 0x50 - 0x57 - "\u2116\u0402\u005D\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u0490\u0401\u0404\u0405\u0406\u0407" + // 0x60 - 0x67 - "\u0408\u0409\u007C\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u040A\u040B\u040C\u00AD\u040E\u040F\u044E\u0430" + // 0x70 - 0x77 - "\u0431\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" + - "\u0000\u0000\u0000\u0000\u0000\u0073\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0063\u0059" + - "\u0000\u0064\u0065\u0066\u0067\u0068\u0069\u0070" + - "\u0071\u0072\u0000\u0074\u0075\u00B9\u00BA\u00ED" + - "\u00BF\u00BC\u00BD\u00EC\u00FA\u00CB\u00CC\u00CD" + - "\u00CE\u00CF\u00DA\u00DB\u00DC\u00DE\u00DF\u00EA" + - "\u00EB\u00BE\u00CA\u00BB\u00FE\u00FB\u00FD\u0057" + - "\u00EF\u00EE\u00FC\u00B8\u00DD\u0077\u0078\u00AF" + - "\u008D\u008A\u008B\u00AE\u00B2\u008F\u0090\u009A" + - "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" + - "\u00AD\u008C\u008E\u0080\u00B6\u00B3\u00B5\u00B7" + - "\u00B1\u00B0\u00B4\u0076\u00A0\u0000\u0044\u0042" + - "\u0000\u0045\u0046\u0047\u0048\u0049\u0051\u0052" + - "\u0053\u0054\u0000\u0055\u0056\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0062\u0043\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0058\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1124.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1124.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,272 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1124 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1124() { - super("x-IBM1124", ExtendedCharsets.aliasesFor("x-IBM1124")); - } - - public String historicalName() { - return "Cp1124"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1124); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u0401\u0402\u0490\u0404\u0405\u0406\u0407" + // 0xA0 - 0xA7 - "\u0408\u0409\u040A\u040B\u040C\u00AD\u040E\u040F" + // 0xA8 - 0xAF - "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" + // 0xB0 - 0xB7 - "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" + // 0xB8 - 0xBF - "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" + // 0xC0 - 0xC7 - "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" + // 0xC8 - 0xCF - "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" + // 0xD0 - 0xD7 - "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" + // 0xD8 - 0xDF - "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" + // 0xE0 - 0xE7 - "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + // 0xE8 - 0xEF - "\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457" + // 0xF0 - 0xF7 - "\u0458\u0459\u045A\u045B\u045C\u00A7\u045E\u045F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u00FD" + - "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2" + - "\u0000\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" + - "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" + - "\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA" + - "\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2" + - "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" + - "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2" + - "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" + - "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" + - "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" + - "\u00EB\u00EC\u00ED\u00EE\u00EF\u0000\u00F1\u00F2" + - "\u0000\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" + - "\u00FB\u00FC\u0000\u00FE\u00FF\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A3\u00F3\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1140.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1140.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,191 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1140 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1140() { - super("IBM01140", ExtendedCharsets.aliasesFor("IBM01140")); - } - - public String historicalName() { - return "Cp1140"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1140); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM037.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u004A\u00B1\u0000\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1141.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1141.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1141 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1141() { - super("IBM01141", ExtendedCharsets.aliasesFor("IBM01141")); - } - - public String historicalName() { - return "Cp1141"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1141); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - private static class Decoder extends IBM273.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0063\u00EC\u00FC\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0043\u00BB\u00DC\u0059\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u00CC\u007C" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u004A\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00E0\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u005A\u00AD\u00AE\u00A1" + - "\u0044\u0045\u0042\u0046\u00C0\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00D0\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1142.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1142.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1142 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1142() { - super("IBM01142", ExtendedCharsets.aliasesFor("IBM01142")); - } - - public String historicalName() { - return "Cp1142"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1142); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM277.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x5A) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u004A\u0067\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u0080\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u009E\u00E0\u009F\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u009C\u00BB\u0047\u00DC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u0070\u00B5" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u005B\u007B\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u007C\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u00D0\u00C0\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u006A\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u005A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1143.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1143.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1143 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1143() { - super("IBM01143", ExtendedCharsets.aliasesFor("IBM01143")); - } - - public String historicalName() { - return "Cp1143"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1143); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM278.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x5A) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" + - "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u00CC\u004A" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" + - "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" + - "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u005A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1144.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1144.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1144 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1144() { - super("IBM01144", ExtendedCharsets.aliasesFor("IBM01144")); - } - - public String historicalName() { - return "Cp1144"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1144); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM280.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0090\u0048\u0051\u005F\u006D" + - "\u00DD\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0044\u00BB\u0054\u0058\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u007B\u0000\u00B2\u00CD\u007C" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u004A\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u00C0\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" + - "\u00D0\u005A\u0052\u0053\u00A1\u0055\u0056\u0057" + - "\u008C\u0049\u006A\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u0079\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1145.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1145.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1145 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1145() { - super("IBM01145", ExtendedCharsets.aliasesFor("IBM01145")); - } - - public String historicalName() { - return "Cp1145"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1145); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM284.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u00BB\u007F\u0069\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u00BA\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BD\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u0049\u00B5" + - "\u00A1\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u007B\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u006A\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1146.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1146.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1146 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1146() { - super("IBM01146", ExtendedCharsets.aliasesFor("IBM01146")); - } - - public String historicalName() { - return "Cp1146"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1146); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM285.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u004A\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00B1\u00E0\u00BB\u00BA\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u005B\u0000\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00A1" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1147.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1147.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1147 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1147() { - super("IBM01147", ExtendedCharsets.aliasesFor("IBM01147")); - } - - public String historicalName() { - return "Cp1147"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1147); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM297.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u0044\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0090\u0048\u00B5\u005F\u006D" + - "\u00A0\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0051\u00BB\u0054\u00BD\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u007B\u0000\u00B2\u00DD\u005A" + - "\u00A1\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u004A\u008F\u00EA\u00FA\u00BE\u0079\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u007C\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" + - "\u00D0\u00C0\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u006A\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1148.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1148.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1148 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1148() { - super("IBM01148", ExtendedCharsets.aliasesFor("IBM01148")); - } - - public String historicalName() { - return "Cp1148"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1148); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM500.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM1149.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1149.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM1149 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM1149() { - super("IBM01149", ExtendedCharsets.aliasesFor("IBM01149")); - } - - public String historicalName() { - return "Cp1149"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM1149); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public short[] getEncoderIndex1() { - return Encoder.index1; - } - - public String getEncoderIndex2() { - return Encoder.index2; - } - - private static class Decoder extends IBM871.Decoder { - public Decoder(Charset cs) { - super(cs); - } - - public char decode(int byteIndex) { - return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex); - } - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00AC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00AE\u00BE\u009E\u00EC\u006D" + - "\u008C\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u008E\u00BB\u009C\u00CC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00E0\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u005A\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u007C\u0069\u00ED\u00EE\u00EB\u00EF\u005F\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u004A\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u00D0\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u0079\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u00C0\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM273.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM273.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM273 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM273() { - super("IBM273", ExtendedCharsets.aliasesFor("IBM273")); - } - - public String historicalName() { - return "Cp273"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM273); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u00DF\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00A2\u00A3\u00A5\u00B7\u00A9\u0040\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u00FC\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u007D\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\u00D6\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\\\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u005D\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\u00E7\u00F1\u00C4\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u007E\u00DC\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u005B\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u0060\u003A\u0023\u00A7\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0063\u00EC\u00FC\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0043\u00BB\u00DC\u0059\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u00CC\u007C" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u004A\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00E0\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u005A\u00AD\u00AE\u00A1" + - "\u0044\u0045\u0042\u0046\u00C0\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00D0\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM277.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM277.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM277 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM277() { - super("IBM277", ExtendedCharsets.aliasesFor("IBM277")); - } - - public String historicalName() { - return "Cp277"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM277); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0040\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u007B\u00B8\u005B\u005D" + // 0x98 - 0x9F - "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u00E6\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u007D" + // 0x40 - 0x47 - "\u00E7\u00F1\u0023\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u0024" + // 0x60 - 0x67 - "\u00C7\u00D1\u00F8\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00A6\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u0060\u003A\u00C6\u00D8\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u004A\u0067\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u0080\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u009E\u00E0\u009F\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u009C\u00BB\u0047\u00DC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u0070\u00B5" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u005B\u007B\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u007C\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u00D0\u00C0\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u006A\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM278.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM278.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM278 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM278() { - super("IBM278", ExtendedCharsets.aliasesFor("IBM278")); - } - - public String historicalName() { - return "Cp278"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM278); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u005D" + // 0x98 - 0x9F - "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00A2\u00A3\u00A5\u00B7\u00A9\u005B\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\u00C9\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u0040\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u007D" + // 0x40 - 0x47 - "\u00E7\u00F1\u00A7\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u0060\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u0023\u00C0\u00C1\u00C3\u0024" + // 0x60 - 0x67 - "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\\\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u00E9\u003A\u00C4\u00D6\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" + - "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u00CC\u004A" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" + - "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" + - "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM280.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM280.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM280 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM280() { - super("IBM280", ExtendedCharsets.aliasesFor("IBM280")); - } - - public String historicalName() { - return "Cp280"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM280); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u005B\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u00EC\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00A2\u0023\u00A5\u00B7\u00A9\u0040\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u00E0\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u00A6\u00F3\u00F5" + // 0xC8 - 0xCF - "\u00E8\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u00FC\u0060\u00FA\u00FF" + // 0xD8 - 0xDF - "\u00E7\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u007B\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\\\u00F1\u00B0\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u005D\u00EA\u00EB\u007D\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u007E\u00DF\u00E9\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u00D1\u00F2\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u00F9\u003A\u00A3\u00A7\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0090\u0048\u0051\u005F\u006D" + - "\u00DD\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0044\u00BB\u0054\u0058\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u007B\u009F\u00B2\u00CD\u007C" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u004A\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u00C0\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" + - "\u00D0\u005A\u0052\u0053\u00A1\u0055\u0056\u0057" + - "\u008C\u0049\u006A\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u0079\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM284.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM284.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM284 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM284() { - super("IBM284", ExtendedCharsets.aliasesFor("IBM284")); - } - - public String historicalName() { - return "Cp284"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM284); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u00A8\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u005E\u0021\u00AF\u007E\u00B4\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\u00E7\u00A6\u005B\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u005D\u0024\u002A\u0029\u003B\u00AC" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u0023\u00F1\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u0060\u003A\u00D1\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u00BB\u007F\u0069\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u00BA\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BD\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u0049\u00B5" + - "\u00A1\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u007B\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u006A\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM285.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM285.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM285 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM285() { - super("IBM285", ExtendedCharsets.aliasesFor("IBM285")); - } - - public String historicalName() { - return "Cp285"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM285); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u00AF\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00A2\u005B\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u005E\u005D\u007E\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\u00E7\u00F1\u0024\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u0021\u00A3\u002A\u0029\u003B\u00AC" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u004A\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00B1\u00E0\u00BB\u00BA\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u005B\u009F\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00A1" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM297.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM297.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM297 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM297() { - super("IBM297", ExtendedCharsets.aliasesFor("IBM297")); - } - - public String historicalName() { - return "Cp297"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM297); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u005B\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u0060\u00A8\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00A2\u0023\u00A5\u00B7\u00A9\u005D\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u00AF\u007E\u00B4\u00D7" + // 0xB8 - 0xBF - "\u00E9\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u00E8\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u00FC\u00A6\u00FA\u00FF" + // 0xD8 - 0xDF - "\u00E7\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u0040\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\\\u00F1\u00B0\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u007B\u00EA\u00EB\u007D\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u00A7\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u00D1\u00F9\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u00B5\u003A\u00A3\u00E0\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u0044\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0090\u0048\u00B5\u005F\u006D" + - "\u00A0\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0051\u00BB\u0054\u00BD\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u007B\u009F\u00B2\u00DD\u005A" + - "\u00A1\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u004A\u008F\u00EA\u00FA\u00BE\u0079\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u007C\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" + - "\u00D0\u00C0\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u006A\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM420.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM420.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,315 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM420 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM420() { - super("IBM420", ExtendedCharsets.aliasesFor("IBM420")); - } - - public String historicalName() { - return "Cp420"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM420); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uF8F5\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\uFEB7\uF8F4\uFEBB\uF8F7\uFEBF\uFEC3" + // 0x88 - 0x8F - "\uFEC7\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\uFEC9\uFECA\uFECB\uFECC\uFECD\uFECE" + // 0x98 - 0x9F - "\uFECF\u00F7\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\uFED0\uFED1\uFED3\uFED5\uFED7\uFED9" + // 0xA8 - 0xAF - "\uFEDB\uFEDD\uFEF5\uFEF6\uFEF7\uFEF8\uFFFD\uFFFD" + // 0xB0 - 0xB7 - "\uFEFB\uFEFC\uFEDF\uFEE1\uFEE3\uFEE5\uFEE7\uFEE9" + // 0xB8 - 0xBF - "\u061B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\uFEEB\uFFFD\uFEEC\uFFFD\uFEED" + // 0xC8 - 0xCF - "\u061F\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\uFEEF\uFEF0\uFEF1\uFEF2\uFEF3\u0660" + // 0xD8 - 0xDF - "\u00D7\u2007\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u0661\u0662\uFFFD\u0663\u0664\u0665" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\uFFFD\u0666\u0667\u0668\u0669\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\uFE7C\uFE7D\u0640\uF8FC\uFE80\uFE81" + // 0x40 - 0x47 - "\uFE82\uFE83\u00A2\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\uFE84\uFE85\uFFFD\uFFFD\uFE8B\uFE8D\uFE8E" + // 0x50 - 0x57 - "\uFE8F\uFE91\u0021\u0024\u002A\u0029\u003B\u00AC" + // 0x58 - 0x5F - "\u002D\u002F\uFE93\uFE95\uFE97\uFE99\uFE9B\uFE9D" + // 0x60 - 0x67 - "\uFE9F\uFEA1\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uF8F6" + // 0x70 - 0x77 - "\uFEB3\u060C\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0000\u0000\u0000\u0000\u006D" + - "\u0000\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u0000\u004F\u0000\u0000\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u0000\u004A\u0000\u0000\u0000\u006A\u0000" + - "\u0000\u0000\u0000\u0000\u005F\u00CA\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00A1" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0079\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C0" + - "\u0000\u0000\u0000\u00D0\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0044\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DF\u00EA\u00EB\u00ED" + - "\u00EE\u00EF\u00FB\u00FC\u00FD\u00FE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00E1\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u008B\u0080\u0077" + - "\u008D\u0000\u0000\u0000\u0000\u0045\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0042\u0043\u0000\u0000\u0046\u0047" + - "\u0048\u0049\u0051\u0052\u0000\u0000\u0000\u0000" + - "\u0000\u0055\u0000\u0056\u0057\u0058\u0000\u0059" + - "\u0000\u0062\u0000\u0063\u0000\u0064\u0000\u0065" + - "\u0000\u0066\u0000\u0067\u0000\u0068\u0000\u0069" + - "\u0000\u0070\u0000\u0071\u0000\u0072\u0000\u0073" + - "\u0000\u0074\u0000\u0075\u0000\u0076\u0000\u0000" + - "\u0000\u0078\u0000\u0000\u0000\u008A\u0000\u0000" + - "\u0000\u008C\u0000\u0000\u0000\u008E\u0000\u0000" + - "\u0000\u008F\u0000\u0000\u0000\u0090\u0000\u009A" + - "\u009B\u009C\u009D\u009E\u009F\u00A0\u00AA\u00AB" + - "\u0000\u00AC\u0000\u00AD\u0000\u00AE\u0000\u00AF" + - "\u0000\u00B0\u0000\u00B1\u0000\u00BA\u0000\u00BB" + - "\u0000\u00BC\u0000\u00BD\u0000\u00BE\u0000\u00BF" + - "\u0000\u00CB\u00CD\u00CF\u0000\u00DA\u00DB\u00DC" + - "\u00DD\u00DE\u0000\u00B2\u00B3\u00B4\u00B5\u0000" + - "\u0000\u00B8\u00B9\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 248, 248, 248, 248, 492, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 741, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 753, 248, 248, 248, 248, 248, 1006, 248, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM424.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM424.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,256 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM424 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM424() { - super("IBM424", ExtendedCharsets.aliasesFor("IBM424")); - } - - public String historicalName() { - return "Cp424"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM424); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFFFD\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\uFFFD\uFFFD\uFFFD\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\uFFFD\uFFFD\uFFFD\u00B8\uFFFD\u00A4" + // 0x98 - 0x9F - "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00AE" + // 0xA8 - 0xAF - "\u005E\u00A3\u00A5\u2022\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u005B\u005D\u203E\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\uFFFD\uFFFD\uFFFD\uFFFD\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6" + // 0x40 - 0x47 - "\u05D7\u05D8\u00A2\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" + // 0x50 - 0x57 - "\u05E0\u05E1\u0021\u0024\u002A\u0029\u003B\u00AC" + // 0x58 - 0x5F - "\u002D\u002F\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" + // 0x60 - 0x67 - "\u05E8\u05E9\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\uFFFD\u05EA\uFFFD\uFFFD\u00A0\uFFFD\uFFFD\uFFFD" + // 0x70 - 0x77 - "\u2017\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0074\u0000\u004A\u00B1\u009F\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u0000\u008A\u005F\u00CA\u00AF\u0000" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u0000" + - "\u009D\u00DA\u0000\u008B\u00B7\u00B8\u00B9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048" + - "\u0049\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u0071\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0078\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00B3\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00BC\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 531, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM500.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM500.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM500 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM500() { - super("IBM500", ExtendedCharsets.aliasesFor("IBM500")); - } - - public String historicalName() { - return "Cp500"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM500); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" + // 0x98 - 0x9F - "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" + // 0xA8 - 0xAF - "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\u00E7\u00F1\u005B\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u005D\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM838.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM838.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM838 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM838() { - super("IBM-Thai", ExtendedCharsets.aliasesFor("IBM-Thai")); - } - - public String historicalName() { - return "Cp838"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM838); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0E4F\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22" + // 0x88 - 0x8F - "\u0E5A\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28" + // 0x98 - 0x9F - "\u0E5B\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E" + // 0xA8 - 0xAF - "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" + // 0xB0 - 0xB7 - "\u0E58\u0E59\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u0E49\u0E35\u0E36\u0E37\u0E38\u0E39" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u0E3A\u0E40\u0E41\u0E42\u0E43\u0E44" + // 0xD8 - 0xDF - "\\\u0E4A\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u0E4B\u0E4C\u0E4D\u0E4B\u0E4C\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06" + // 0x40 - 0x47 - "\u0E07\u005B\u00A2\u002E\u003C\u0028\u002B\u007C" + // 0x48 - 0x4F - "\u0026\u0E48\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D" + // 0x50 - 0x57 - "\u0E0E\u005D\u0021\u0024\u002A\u0029\u003B\u00AC" + // 0x58 - 0x5F - "\u002D\u002F\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14" + // 0x60 - 0x67 - "\u0E15\u005E\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u0E3F\u0E4E\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B" + // 0x70 - 0x77 - "\u0E1C\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u0049\u00E0\u0059\u0069\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u0000\u004A\u0000\u0000\u0000\u006A\u0000" + - "\u0000\u0000\u0000\u0000\u005F\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0042\u0043\u0044" + - "\u0045\u0046\u0047\u0048\u0052\u0053\u0054\u0055" + - "\u0056\u0057\u0058\u0062\u0063\u0064\u0065\u0066" + - "\u0067\u0068\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u008A\u008B\u008C\u008D\u008E\u008F\u009A" + - "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" + - "\u00AD\u00AE\u00AF\u00BA\u00BB\u00BC\u00BD\u00BE" + - "\u00BF\u00CB\u00CC\u00CD\u00CE\u00CF\u00DA\u0000" + - "\u0000\u0000\u0000\u0070\u00DB\u00DC\u00DD\u00DE" + - "\u00DF\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00FA" + - "\u00FB\u00FC\u0071\u0080\u00B0\u00B1\u00B2\u00B3" + - "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u0090\u00A0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 428, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM856.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM856.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,288 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM856 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM856() { - super("x-IBM856", ExtendedCharsets.aliasesFor("x-IBM856")); - } - - public String historicalName() { - return "Cp856"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM856); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" + // 0x80 - 0x87 - "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" + // 0x88 - 0x8F - "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" + // 0x90 - 0x97 - "\u05E8\u05E9\u05EA\uFFFD\u00A3\uFFFD\u00D7\uFFFD" + // 0x98 - 0x9F - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xA0 - 0xA7 - "\uFFFD\u00AE\u00AC\u00BD\u00BC\uFFFD\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD" + // 0xB0 - 0xB7 - "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" + // 0xC8 - 0xCF - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xD0 - 0xD7 - "\uFFFD\u2518\u250C\u2588\u2584\u00A6\uFFFD\u2580" + // 0xD8 - 0xDF - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00B5\uFFFD" + // 0xE0 - 0xE7 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u203E\u00B4" + // 0xE8 - 0xEF - "\u00AD\u00B1\u2017\u00BE\u00B6\u00A7\u00F7\u00B8" + // 0xF0 - 0xF7 - "\u00B0\u00A8\u2022\u00B9\u00B3\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" + - "\u00F9\u00B8\u0000\u00AE\u00AA\u00F0\u00A9\u0000" + - "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u0000" + - "\u00F7\u00FB\u0000\u00AF\u00AC\u00AB\u00F3\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F6" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00F2\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FA\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00EE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DA" + - "\u0000\u0000\u0000\u00BF\u0000\u0000\u0000\u00C0" + - "\u0000\u0000\u0000\u00D9\u0000\u0000\u0000\u00C3" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B4" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C2" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C1" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000\u00C9" + - "\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000\u0000" + - "\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9\u0000" + - "\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000\u00CE" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00DF\u0000\u0000\u0000\u00DC" + - "\u0000\u0000\u0000\u00DB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00FE\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 531, 248, 248, 248, 248, 787, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM860.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM860.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,348 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM860 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM860() { - super("IBM860", ExtendedCharsets.aliasesFor("IBM860")); - } - - public String historicalName() { - return "Cp860"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM860); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C7\u00FC\u00E9\u00E2\u00E3\u00E0\u00C1\u00E7" + // 0x80 - 0x87 - "\u00EA\u00CA\u00E8\u00CD\u00D4\u00EC\u00C3\u00C2" + // 0x88 - 0x8F - "\u00C9\u00C0\u00C8\u00F4\u00F5\u00F2\u00DA\u00F9" + // 0x90 - 0x97 - "\u00CC\u00D5\u00DC\u00A2\u00A3\u00D9\u20A7\u00D3" + // 0x98 - 0x9F - "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" + // 0xA0 - 0xA7 - "\u00BF\u00D2\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + // 0xB0 - 0xB7 - "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" + // 0xC8 - 0xCF - "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" + // 0xD0 - 0xD7 - "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" + // 0xE0 - 0xE7 - "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" + // 0xE8 - 0xEF - "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u00AD\u009B\u009C\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" + - "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" + - "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" + - "\u0091\u0086\u008F\u008E\u0000\u0000\u0000\u0080" + - "\u0092\u0090\u0089\u0000\u0098\u008B\u0000\u0000" + - "\u0000\u00A5\u00A9\u009F\u008C\u0099\u0000\u0000" + - "\u0000\u009D\u0096\u0000\u009A\u0000\u0000\u00E1" + - "\u0085\u00A0\u0083\u0084\u0000\u0000\u0000\u0087" + - "\u008A\u0082\u0088\u0000\u008D\u00A1\u0000\u0000" + - "\u0000\u00A4\u0095\u00A2\u0093\u0094\u0000\u00F6" + - "\u0000\u0097\u00A3\u0000\u0081\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00E2\u0000\u0000" + - "\u0000\u0000\u00E9\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00E4\u0000\u0000" + - "\u00E8\u0000\u0000\u00EA\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E0\u0000\u0000\u00EB\u00EE" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00E3\u0000\u0000\u00E5\u00E7\u0000" + - "\u00ED\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009E\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F9\u00FB\u0000\u0000\u0000\u00EC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00EF\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00F7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F0\u0000\u0000\u00F3\u00F2\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00F4\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" + - "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" + - "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" + - "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" + - "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" + - "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" + - "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 253, 253, 362, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 561, 253, 792, 1016, 253, 1272, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM861.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM861.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,369 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM861 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM861() { - super("IBM861", ExtendedCharsets.aliasesFor("IBM861")); - } - - public String historicalName() { - return "Cp861"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM861); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" + // 0x80 - 0x87 - "\u00EA\u00EB\u00E8\u00D0\u00F0\u00DE\u00C4\u00C5" + // 0x88 - 0x8F - "\u00C9\u00E6\u00C6\u00F4\u00F6\u00FE\u00FB\u00DD" + // 0x90 - 0x97 - "\u00FD\u00D6\u00DC\u00F8\u00A3\u00D8\u20A7\u0192" + // 0x98 - 0x9F - "\u00E1\u00ED\u00F3\u00FA\u00C1\u00CD\u00D3\u00DA" + // 0xA0 - 0xA7 - "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + // 0xB0 - 0xB7 - "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" + // 0xC8 - 0xCF - "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" + // 0xD0 - 0xD7 - "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" + // 0xE0 - 0xE7 - "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" + // 0xE8 - 0xEF - "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u00AD\u0000\u009C\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AE\u00AA\u0000\u0000\u0000" + - "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" + - "\u0000\u0000\u0000\u00AF\u00AC\u00AB\u0000\u00A8" + - "\u0000\u00A4\u0000\u0000\u008E\u008F\u0092\u0080" + - "\u0000\u0090\u0000\u0000\u0000\u00A5\u0000\u0000" + - "\u008B\u0000\u0000\u00A6\u0000\u0000\u0099\u0000" + - "\u009D\u0000\u00A7\u0000\u009A\u0097\u008D\u00E1" + - "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" + - "\u008A\u0082\u0088\u0089\u0000\u00A1\u0000\u0000" + - "\u008C\u0000\u0000\u00A2\u0093\u0000\u0094\u00F6" + - "\u009B\u0000\u00A3\u0096\u0081\u0098\u0095\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u009F\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00E2\u0000\u0000\u0000\u0000\u00E9" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000\u0000" + - "\u00EA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E3" + - "\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FC\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u009E\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB" + - "\u0000\u0000\u0000\u00EC\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F0\u0000" + - "\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A9\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" + - "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" + - "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5" + - "\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8" + - "\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6" + - "\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8" + - "\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" + - "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" + - "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" + - "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 255, 402, 511, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 710, 402, 941, 1181, 402, 1437, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM863.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM863.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,373 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM863 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM863() { - super("IBM863", ExtendedCharsets.aliasesFor("IBM863")); - } - - public String historicalName() { - return "Cp863"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM863); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C7\u00FC\u00E9\u00E2\u00C2\u00E0\u00B6\u00E7" + // 0x80 - 0x87 - "\u00EA\u00EB\u00E8\u00EF\u00EE\u2017\u00C0\u00A7" + // 0x88 - 0x8F - "\u00C9\u00C8\u00CA\u00F4\u00CB\u00CF\u00FB\u00F9" + // 0x90 - 0x97 - "\u00A4\u00D4\u00DC\u00A2\u00A3\u00D9\u00DB\u0192" + // 0x98 - 0x9F - "\u00A6\u00B4\u00F3\u00FA\u00A8\u00B8\u00B3\u00AF" + // 0xA0 - 0xA7 - "\u00CE\u2310\u00AC\u00BD\u00BC\u00BE\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + // 0xB0 - 0xB7 - "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" + // 0xC8 - 0xCF - "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" + // 0xD0 - 0xD7 - "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" + // 0xE0 - 0xE7 - "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" + // 0xE8 - 0xEF - "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u009B\u009C\u0098\u0000\u00A0\u008F" + - "\u00A4\u0000\u0000\u00AE\u00AA\u0000\u0000\u00A7" + - "\u00F8\u00F1\u00FD\u00A6\u00A1\u00E6\u0086\u00FA" + - "\u00A5\u0000\u0000\u00AF\u00AC\u00AB\u00AD\u0000" + - "\u008E\u0000\u0084\u0000\u0000\u0000\u0000\u0080" + - "\u0091\u0090\u0092\u0094\u0000\u0000\u00A8\u0095" + - "\u0000\u0000\u0000\u0000\u0099\u0000\u0000\u0000" + - "\u0000\u009D\u0000\u009E\u009A\u0000\u0000\u00E1" + - "\u0085\u0000\u0083\u0000\u0000\u0000\u0000\u0087" + - "\u008A\u0082\u0088\u0089\u0000\u0000\u008C\u008B" + - "\u0000\u0000\u0000\u00A2\u0093\u0000\u0000\u00F6" + - "\u0000\u0097\u00A3\u0096\u0081\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E2\u0000\u0000\u0000\u0000\u00E9\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E4\u0000\u0000\u00E8\u0000\u0000\u00EA\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00E0\u0000" + - "\u0000\u00EB\u00EE\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00E3\u0000\u0000" + - "\u00E5\u00E7\u0000\u00ED\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u008D\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FC\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB" + - "\u0000\u0000\u0000\u00EC\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F0\u0000" + - "\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A9\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" + - "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" + - "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5" + - "\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8" + - "\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6" + - "\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8" + - "\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" + - "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" + - "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" + - "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 253, 400, 509, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 742, 400, 973, 1213, 400, 1469, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM864.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM864.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,342 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM864 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM864() { - super("IBM864", ExtendedCharsets.aliasesFor("IBM864")); - } - - public String historicalName() { - return "Cp864"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM864); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00B0\u00B7\u2219\u221A\u2592\u2500\u2502\u253C" + // 0x80 - 0x87 - "\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518" + // 0x88 - 0x8F - "\u03B2\u221E\u03C6\u00B1\u00BD\u00BC\u2248\u00AB" + // 0x90 - 0x97 - "\u00BB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD" + // 0x98 - 0x9F - "\u00A0\u00AD\uFE82\u00A3\u00A4\uFE84\uFFFD\uFFFD" + // 0xA0 - 0xA7 - "\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5" + // 0xA8 - 0xAF - "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" + // 0xB0 - 0xB7 - "\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F" + // 0xB8 - 0xBF - "\u00A2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D" + // 0xC0 - 0xC7 - "\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9" + // 0xC8 - 0xCF - "\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1" + // 0xD0 - 0xD7 - "\uFEC5\uFECB\uFECF\u00A6\u00AC\u00F7\u00D7\uFEC9" + // 0xD8 - 0xDF - "\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB" + // 0xE0 - 0xE7 - "\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1" + // 0xE8 - 0xEF - "\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0" + // 0xF0 - 0xF7 - "\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u066A\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0000\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u00C0\u00A3\u00A4\u0000\u00DB\u0000" + - "\u0000\u0000\u0000\u0097\u00DC\u00A1\u0000\u0000" + - "\u0080\u0093\u0000\u0000\u0000\u0000\u0000\u0081" + - "\u0000\u0000\u0000\u0098\u0095\u0094\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DE" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DD" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0090\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0092\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00BB\u0000\u0000" + - "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00E0\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F1\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5" + - "\u00B6\u00B7\u00B8\u00B9\u0025\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0082\u0083\u0000\u0000\u0000\u0091" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0096\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0085\u0000\u0086\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u008D\u0000\u0000" + - "\u0000\u008C\u0000\u0000\u0000\u008E\u0000\u0000" + - "\u0000\u008F\u0000\u0000\u0000\u008A\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0088\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0089\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u008B\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0087\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0084\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" + - "\u0000\u0000\u00C1\u00C2\u00A2\u00C3\u00A5\u00C4" + - "\u0000\u0000\u0000\u0000\u0000\u00C6\u0000\u00C7" + - "\u00A8\u00A9\u0000\u00C8\u0000\u00C9\u0000\u00AA" + - "\u0000\u00CA\u0000\u00AB\u0000\u00CB\u0000\u00AD" + - "\u0000\u00CC\u0000\u00AE\u0000\u00CD\u0000\u00AF" + - "\u0000\u00CE\u0000\u00CF\u0000\u00D0\u0000\u00D1" + - "\u0000\u00D2\u0000\u00BC\u0000\u00D3\u0000\u00BD" + - "\u0000\u00D4\u0000\u00BE\u0000\u00D5\u0000\u00EB" + - "\u0000\u00D6\u0000\u00D7\u0000\u0000\u0000\u00D8" + - "\u0000\u0000\u0000\u00DF\u00C5\u00D9\u00EC\u00EE" + - "\u00ED\u00DA\u00F7\u00BA\u0000\u00E1\u0000\u00F8" + - "\u0000\u00E2\u0000\u00FC\u0000\u00E3\u0000\u00FB" + - "\u0000\u00E4\u0000\u00EF\u0000\u00E5\u0000\u00F2" + - "\u0000\u00E6\u0000\u00F3\u0000\u00E7\u00F4\u00E8" + - "\u0000\u00E9\u00F5\u00FD\u00F6\u00EA\u0000\u00F9" + - "\u00FA\u0099\u009A\u0000\u0000\u009D\u009E\u0000" + - "\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 248, 326, 248, 248, 570, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 801, 248, 248, 1057, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 1218, 248, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM865.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM865.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,369 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM865 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM865() { - super("IBM865", ExtendedCharsets.aliasesFor("IBM865")); - } - - public String historicalName() { - return "Cp865"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM865); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" + // 0x80 - 0x87 - "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" + // 0x88 - 0x8F - "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" + // 0x90 - 0x97 - "\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u20A7\u0192" + // 0x98 - 0x9F - "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" + // 0xA0 - 0xA7 - "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00A4" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + // 0xB0 - 0xB7 - "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" + // 0xC8 - 0xCF - "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" + // 0xD0 - 0xD7 - "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" + // 0xD8 - 0xDF - "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" + // 0xE0 - 0xE7 - "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" + // 0xE8 - 0xEF - "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" + // 0xF0 - 0xF7 - "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u00AD\u0000\u009C\u00AF\u0000\u0000\u0000" + - "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" + - "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" + - "\u0000\u0000\u00A7\u0000\u00AC\u00AB\u0000\u00A8" + - "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0080" + - "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00A5\u0000\u0000\u0000\u0000\u0099\u0000" + - "\u009D\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" + - "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" + - "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" + - "\u0000\u00A4\u0095\u00A2\u0093\u0000\u0094\u00F6" + - "\u009B\u0097\u00A3\u0096\u0081\u0000\u0000\u0098" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E2\u0000\u0000\u0000\u0000" + - "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000" + - "\u0000\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E3\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00FC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" + - "\u00FB\u0000\u0000\u0000\u00EC\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F7\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" + - "\u0000\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00A9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" + - "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" + - "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" + - "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" + - "\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3" + - "\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5" + - "\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA" + - "\u00D8\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" + - "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" + - "\u0000\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0" + - "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 403, 512, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 711, 403, 942, 1182, 403, 1438, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM868.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM868.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,359 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM868 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM868() { - super("IBM868", ExtendedCharsets.aliasesFor("IBM868")); - } - - public String historicalName() { - return "Cp868"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM868); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7" + // 0x80 - 0x87 - "\u06F8\u06F9\u060C\u061B\u061F\uFE81\uFE8D\uFE8E" + // 0x88 - 0x8F - "\uF8FB\uFE8F\uFE91\uFB56\uFB58\uFE93\uFE95\uFE97" + // 0x90 - 0x97 - "\uFB66\uFB68\uFE99\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C" + // 0x98 - 0x9F - "\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFB88\uFEAB\uFEAD" + // 0xA0 - 0xA7 - "\uFB8C\uFEAF\uFB8A\uFEB1\uFEB3\uFEB5\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\uFEB7\uFEB9\uFEBB" + // 0xB0 - 0xB7 - "\uFEBD\u2563\u2551\u2557\u255D\uFEBF\uFEC3\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\uFEC7\uFEC9" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\uFECA" + // 0xC8 - 0xCF - "\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1\uFED3" + // 0xD0 - 0xD7 - "\uFED5\u2518\u250C\u2588\u2584\uFED7\uFB8E\u2580" + // 0xD8 - 0xDF - "\uFEDB\uFB92\uFB94\uFEDD\uFEDF\uFEE0\uFEE1\uFEE3" + // 0xE0 - 0xE7 - "\uFB9E\uFEE5\uFEE7\uFE85\uFEED\uFBA6\uFBA8\uFBA9" + // 0xE8 - 0xEF - "\u00AD\uFBAA\uFE80\uFE89\uFE8A\uFE8B\uFBFC\uFBFD" + // 0xF0 - 0xF7 - "\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D\uFFFD\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u008A\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u008C" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" + - "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CD\u00BA\u0000\u0000\u00C9\u0000\u0000\u00BB" + - "\u0000\u0000\u00C8\u0000\u0000\u00BC\u0000\u0000" + - "\u00CC\u0000\u0000\u00B9\u0000\u0000\u00CB\u0000" + - "\u0000\u00CA\u0000\u0000\u00CE\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" + - "\u00DB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0090\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0093\u0000\u0094\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0098\u0000\u0099\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" + - "\u0000\u009F\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A5\u0000\u00AA" + - "\u0000\u00A8\u0000\u00DE\u0000\u0000\u0000\u00E1" + - "\u0000\u00E2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E8\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00ED\u0000\u00EE\u00EF\u00F1" + - "\u0000\u0000\u0000\u00FA\u0000\u00F9\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F6\u00F7\u00F8\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FB\u00FC\u0000\u0000\u00F2\u008D\u0000\u0000" + - "\u0000\u00EB\u0000\u0000\u0000\u00F3\u00F4\u00F5" + - "\u0000\u008E\u008F\u0091\u0000\u0092\u0000\u0095" + - "\u0000\u0096\u0000\u0097\u0000\u009A\u0000\u009B" + - "\u0000\u009C\u0000\u009D\u0000\u00A0\u0000\u00A1" + - "\u0000\u00A2\u0000\u00A3\u0000\u00A4\u0000\u00A6" + - "\u0000\u00A7\u0000\u00A9\u0000\u00AB\u0000\u00AC" + - "\u0000\u00AD\u0000\u00B5\u0000\u00B6\u0000\u00B7" + - "\u0000\u00B8\u0000\u00BD\u0000\u0000\u0000\u00BE" + - "\u0000\u0000\u0000\u00C6\u0000\u00C7\u00CF\u00D0" + - "\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u0000\u00D7" + - "\u0000\u00D8\u0000\u00DD\u0000\u0000\u0000\u00E0" + - "\u0000\u00E3\u0000\u00E4\u00E5\u00E6\u0000\u00E7" + - "\u0000\u00E9\u0000\u00EA\u0000\u0000\u0000\u0000" + - "\u0000\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 188, 188, 188, 188, 188, 432, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 688, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 849, 188, 188, 1101, 188, 188, 1356, 188, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM869.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM869.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,290 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM869 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM869() { - super("IBM869", ExtendedCharsets.aliasesFor("IBM869")); - } - - public String historicalName() { - return "Cp869"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM869); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD" + // 0x80 - 0x87 - "\u00B7\u00AC\u00A6\u2018\u2019\u0388\u2015\u0389" + // 0x88 - 0x8F - "\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\u00A9" + // 0x90 - 0x97 - "\u038F\u00B2\u00B3\u03AC\u00A3\u03AD\u03AE\u03AF" + // 0x98 - 0x9F - "\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394" + // 0xA0 - 0xA7 - "\u0395\u0396\u0397\u00BD\u0398\u0399\u00AB\u00BB" + // 0xA8 - 0xAF - "\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C" + // 0xB0 - 0xB7 - "\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510" + // 0xB8 - 0xBF - "\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1" + // 0xC0 - 0xC7 - "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3" + // 0xC8 - 0xCF - "\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2" + // 0xD0 - 0xD7 - "\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580" + // 0xD8 - 0xDF - "\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD" + // 0xE0 - 0xE7 - "\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384" + // 0xE8 - 0xEF - "\u00AD\u00B1\u03C5\u03C6\u03C7\u00A7\u03C8\u0385" + // 0xF0 - 0xF7 - "\u00B0\u00A8\u03C9\u03CB\u03B0\u03CE\u25A0\u00A0" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0000\u009C\u0000\u0000\u008A\u00F5" + - "\u00F9\u0097\u0000\u00AE\u0089\u00F0\u0000\u0000" + - "\u00F8\u00F1\u0099\u009A\u0000\u0000\u0000\u0088" + - "\u0000\u0000\u0000\u00AF\u0000\u00AB\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u00F7" + - "\u0086\u0000\u008D\u008F\u0090\u0000\u0092\u0000" + - "\u0095\u0098\u00A1\u00A4\u00A5\u00A6\u00A7\u00A8" + - "\u00A9\u00AA\u00AC\u00AD\u00B5\u00B6\u00B7\u00B8" + - "\u00BD\u00BE\u00C6\u00C7\u0000\u00CF\u00D0\u00D1" + - "\u00D2\u00D3\u00D4\u00D5\u0091\u0096\u009B\u009D" + - "\u009E\u009F\u00FC\u00D6\u00D7\u00D8\u00DD\u00DE" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00ED\u00EC\u00EE\u00F2" + - "\u00F3\u00F4\u00F6\u00FA\u00A0\u00FB\u00A2\u00A3" + - "\u00FD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u008E\u0000\u0000\u008B\u008C\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" + - "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" + - "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" + - "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" + - "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" + - "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" + - "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" + - "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1" + - "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 190, 190, 314, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 549, 190, 190, 190, 190, 805, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM870.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM870.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM870 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM870() { - super("IBM870", ExtendedCharsets.aliasesFor("IBM870")); - } - - public String historicalName() { - return "Cp870"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM870); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u02D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u015B\u0148\u0111\u00FD\u0159\u015F" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u0142\u0144\u0161\u00B8\u02DB\u00A4" + // 0x98 - 0x9F - "\u0105\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u015A\u0147\u0110\u00DD\u0158\u015E" + // 0xA8 - 0xAF - "\u02D9\u0104\u017C\u0162\u017B\u00A7\u017E\u017A" + // 0xB0 - 0xB7 - "\u017D\u0179\u0141\u0143\u0160\u00A8\u00B4\u00D7" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u00F6\u0155\u00F3\u0151" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u011A\u0171\u00FC\u0165\u00FA\u011B" + // 0xD8 - 0xDF - "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u010F\u00D4\u00D6\u0154\u00D3\u0150" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u010E\u0170\u00DC\u0164\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u0163\u00E1\u0103\u010D" + // 0x40 - 0x47 - "\u00E7\u0107\u005B\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u00E9\u0119\u00EB\u016F\u00ED\u00EE\u013E" + // 0x50 - 0x57 - "\u013A\u00DF\u005D\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u02DD\u00C1\u0102\u010C" + // 0x60 - 0x67 - "\u00C7\u0106\u007C\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u02C7\u00C9\u0118\u00CB\u016E\u00CD\u00CE\u013D" + // 0x70 - 0x77 - "\u0139\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u0000\u0000\u0000\u009F\u0000\u0000\u00B5" + - "\u00BD\u0000\u0000\u0000\u0000\u00CA\u0000\u0000" + - "\u0090\u0000\u0000\u0000\u00BE\u0000\u0000\u0000" + - "\u009D\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0065\u0062\u0000\u0063\u0000\u0000\u0068" + - "\u0000\u0071\u0000\u0073\u0000\u0075\u0076\u0000" + - "\u0000\u0000\u0000\u00EE\u00EB\u0000\u00EC\u00BF" + - "\u0000\u0000\u00FE\u0000\u00FC\u00AD\u0000\u0059" + - "\u0000\u0045\u0042\u0000\u0043\u0000\u0000\u0048" + - "\u0000\u0051\u0000\u0053\u0000\u0055\u0056\u0000" + - "\u0000\u0000\u0000\u00CE\u00CB\u0000\u00CC\u00E1" + - "\u0000\u0000\u00DE\u0000\u00DC\u008D\u0000\u0000" + - "\u0066\u0046\u00B1\u00A0\u0069\u0049\u0000\u0000" + - "\u0000\u0000\u0067\u0047\u00FA\u00EA\u00AC\u008C" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0072\u0052" + - "\u00DA\u00DF\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0078" + - "\u0058\u0000\u0000\u0077\u0057\u0000\u0000\u00BA" + - "\u009A\u00BB\u009B\u0000\u0000\u00AB\u008B\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u00CF" + - "\u0000\u0000\u00ED\u00CD\u0000\u0000\u00AE\u008E" + - "\u00AA\u008A\u0000\u0000\u00AF\u008F\u00BC\u009C" + - "\u00B3\u0044\u00FD\u00DD\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0074\u0054\u00FB\u00DB" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B9" + - "\u00B7\u00B4\u00B2\u00B8\u00B6\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0070\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u00B0" + - "\u0000\u009E\u0000\u0064\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM871.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM871.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM871 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM871() { - super("IBM871", ExtendedCharsets.aliasesFor("IBM871")); - } - - public String historicalName() { - return "Cp871"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM871); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u00AB\u00BB\u0060\u00FD\u007B\u00B1" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u00AA\u00BA\u007D\u00B8\u005D\u00A4" + // 0x98 - 0x9F - "\u00B5\u00F6\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u00A1\u00BF\u0040\u00DD\u005B\u00AE" + // 0xA8 - 0xAF - "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" + // 0xB0 - 0xB7 - "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\\\u00D7" + // 0xB8 - 0xBF - "\u00FE\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u00F4\u007E\u00F2\u00F3\u00F5" + // 0xC8 - 0xCF - "\u00E6\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" + // 0xD8 - 0xDF - "\u00B4\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00D4\u005E\u00D2\u00D3\u00D5" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" + // 0x40 - 0x47 - "\u00E7\u00F1\u00DE\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" + // 0x50 - 0x57 - "\u00EC\u00DF\u00C6\u0024\u002A\u0029\u003B\u00D6" + // 0x58 - 0x5F - "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" + // 0x60 - 0x67 - "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" + // 0x70 - 0x77 - "\u00CC\u00F0\u003A\u0023\u00D0\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u00AC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00AE\u00BE\u009E\u00EC\u006D" + - "\u008C\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u008E\u00BB\u009C\u00CC\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u006A\u00B5" + - "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" + - "\u0090\u008F\u00EA\u00FA\u00E0\u00A0\u00B6\u00B3" + - "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" + - "\u0064\u0065\u0062\u0066\u0063\u0067\u005A\u0068" + - "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" + - "\u007C\u0069\u00ED\u00EE\u00EB\u00EF\u005F\u00BF" + - "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u004A\u0059" + - "\u0044\u0045\u0042\u0046\u0043\u0047\u00D0\u0048" + - "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" + - "\u0079\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" + - "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u00C0\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM875.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM875.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,258 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM875 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM875() { - super("x-IBM875", ExtendedCharsets.aliasesFor("x-IBM875")); - } - - public String historicalName() { - return "Cp875"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM875); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0385\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6" + // 0x88 - 0x8F - "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC" + // 0x98 - 0x9F - "\u00B4\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3" + // 0xA8 - 0xAF - "\u00A3\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD" + // 0xB0 - 0xB7 - "\u03CB\u03CE\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\u03C9\u0390\u03B0\u2018\u2015" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\u00B1\u00BD\uFFFD\u0387\u2019\u00A6" + // 0xD8 - 0xDF - "\\\uFFFD\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\u00B2\u00A7\uFFFD\uFFFD\u00AB\u00AC" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\u00B3\u00A9\uFFFD\uFFFD\u00BB\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u0391\u0392\u0393\u0394\u0395\u0396\u0397" + // 0x40 - 0x47 - "\u0398\u0399\u005B\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\u039A\u039B\u039C\u039D\u039E\u039F\u03A0" + // 0x50 - 0x57 - "\u03A1\u03A3\u005D\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9" + // 0x60 - 0x67 - "\u03AA\u03AB\u007C\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u00A8\u0386\u0388\u0389\u00A0\u038A\u038C\u038E" + // 0x70 - 0x77 - "\u038F\u0060\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" + - "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0074\u0000\u0000\u00B0\u0000\u0000\u00DF\u00EB" + - "\u0070\u00FB\u0000\u00EE\u00EF\u00CA\u0000\u0000" + - "\u0090\u00DA\u00EA\u00FA\u00A0\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00FE\u0000\u00DB\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0071" + - "\u00DD\u0072\u0073\u0075\u0000\u0076\u0000\u0077" + - "\u0078\u00CC\u0041\u0042\u0043\u0044\u0045\u0046" + - "\u0047\u0048\u0049\u0051\u0052\u0053\u0054\u0055" + - "\u0056\u0057\u0058\u0000\u0059\u0062\u0063\u0064" + - "\u0065\u0066\u0067\u0068\u0069\u00B1\u00B2\u00B3" + - "\u00B5\u00CD\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u009A\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB" + - "\u00AC\u00AD\u00AE\u00BA\u00AF\u00BB\u00BC\u00BD" + - "\u00BE\u00BF\u00CB\u00B4\u00B8\u00B6\u00B7\u00B9" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00CF\u0000\u0000\u00CE\u00DE\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 190, 190, 313, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 548, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM918.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM918.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,336 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM918 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM918() { - super("IBM918", ExtendedCharsets.aliasesFor("IBM918")); - } - - public String historicalName() { - return "Cp918"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM918); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFEA7\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x80 - 0x87 - "\u0068\u0069\uFEA9\uFB88\uFEAB\uFEAD\uFB8C\uFEAF" + // 0x88 - 0x8F - "\uFB8A\u006A\u006B\u006C\u006D\u006E\u006F\u0070" + // 0x90 - 0x97 - "\u0071\u0072\uFEB1\uFEB3\uFEB5\uFEB7\uFEB9\uFEBB" + // 0x98 - 0x9F - "\uFEBD\u007E\u0073\u0074\u0075\u0076\u0077\u0078" + // 0xA0 - 0xA7 - "\u0079\u007A\uFEBF\uFEC3\uFEC7\uFEC9\uFECA\uFECB" + // 0xA8 - 0xAF - "\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1\uFED3\uFED5" + // 0xB0 - 0xB7 - "\uFED7\uFB8E\uFEDB\u007C\uFB92\uFB94\uFEDD\uFEDF" + // 0xB8 - 0xBF - "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0xC0 - 0xC7 - "\u0048\u0049\u00AD\uFEE0\uFEE1\uFEE3\uFB9E\uFEE5" + // 0xC8 - 0xCF - "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" + // 0xD0 - 0xD7 - "\u0051\u0052\uFEE7\uFE85\uFEED\uFBA6\uFBA8\uFBA9" + // 0xD8 - 0xDF - "\\\uFBAA\u0053\u0054\u0055\u0056\u0057\u0058" + // 0xE0 - 0xE7 - "\u0059\u005A\uFE80\uFE89\uFE8A\uFE8B\uFBFC\uFBFD" + // 0xE8 - 0xEF - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0xF0 - 0xF7 - "\u0038\u0039\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D\u009F" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" + // 0x00 - 0x07 - "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" + // 0x10 - 0x17 - "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" + // 0x20 - 0x27 - "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" + // 0x28 - 0x2F - "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" + // 0x30 - 0x37 - "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" + // 0x38 - 0x3F - "\u0020\u00A0\u060C\u061B\u061F\uFE81\uFE8D\uFE8E" + // 0x40 - 0x47 - "\uF8FB\uFE8F\u005B\u002E\u003C\u0028\u002B\u0021" + // 0x48 - 0x4F - "\u0026\uFE91\uFB56\uFB58\uFE93\uFE95\uFE97\uFB66" + // 0x50 - 0x57 - "\uFB68\uFE99\u005D\u0024\u002A\u0029\u003B\u005E" + // 0x58 - 0x5F - "\u002D\u002F\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C\uFEA1" + // 0x60 - 0x67 - "\uFEA3\uFEA5\u0060\u002C\u0025\u005F\u003E\u003F" + // 0x68 - 0x6F - "\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7" + // 0x70 - 0x77 - "\u06F8\u06F9\u003A\u0023\u0040\'\u003D\""; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" + - "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" + - "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" + - "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" + - "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" + - "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" + - "\u006A\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" + - "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" + - "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" + - "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" + - "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" + - "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" + - "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" + - "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00CA\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0042\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0043\u0000\u0000" + - "\u0000\u0044\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0070\u0071\u0072\u0073\u0074\u0075" + - "\u0076\u0077\u0078\u0079\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0048" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0052\u0000" + - "\u0053\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0057\u0000" + - "\u0058\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0065\u0000\u0066\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u008B\u0000\u0090\u0000\u008E\u0000\u00B9\u0000" + - "\u0000\u0000\u00BC\u0000\u00BD\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DD\u0000" + - "\u00DE\u00DF\u00E1\u0000\u0000\u0000\u00FC\u0000" + - "\u00FB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00EE\u00EF\u00FA\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00FD\u00FE\u0000\u0000\u00EA" + - "\u0045\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" + - "\u00EB\u00EC\u00ED\u0000\u0046\u0047\u0049\u0000" + - "\u0051\u0000\u0054\u0000\u0055\u0000\u0056\u0000" + - "\u0059\u0000\u0062\u0000\u0063\u0000\u0064\u0000" + - "\u0067\u0000\u0068\u0000\u0069\u0000\u0080\u0000" + - "\u008A\u0000\u008C\u0000\u008D\u0000\u008F\u0000" + - "\u009A\u0000\u009B\u0000\u009C\u0000\u009D\u0000" + - "\u009E\u0000\u009F\u0000\u00A0\u0000\u00AA\u0000" + - "\u0000\u0000\u00AB\u0000\u0000\u0000\u00AC\u0000" + - "\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4" + - "\u00B5\u0000\u00B6\u0000\u00B7\u0000\u00B8\u0000" + - "\u0000\u0000\u00BA\u0000\u00BE\u0000\u00BF\u00CB" + - "\u00CC\u0000\u00CD\u0000\u00CF\u0000\u00DA\u0000" + - "\u0000\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 668, 174, 174, 920, 174, 174, 1175, 174, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM921.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM921.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,266 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM921 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM921() { - super("x-IBM921", ExtendedCharsets.aliasesFor("x-IBM921")); - } - - public String historicalName() { - return "Cp921"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM921); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u201D\u00A2\u00A3\u00A4\u201E\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u201C\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" + // 0xB8 - 0xBF - "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" + // 0xC0 - 0xC7 - "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" + // 0xC8 - 0xCF - "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" + // 0xD8 - 0xDF - "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" + // 0xE0 - 0xE7 - "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" + // 0xE8 - 0xEF - "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u2019" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" + - "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" + - "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" + - "\u0000\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" + - "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" + - "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" + - "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" + - "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" + - "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" + - "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" + - "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" + - "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" + - "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" + - "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" + - "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" + - "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" + - "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" + - "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" + - "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" + - "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" + - "\u0000\u0000\u00B4\u00A1\u00A5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/IBM922.java --- a/jdk/src/share/classes/sun/nio/cs/ext/IBM922.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,262 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class IBM922 - extends Charset - implements HistoricallyNamedCharset -{ - - public IBM922() { - super("x-IBM922", ExtendedCharsets.aliasesFor("x-IBM922")); - } - - public String historicalName() { - return "Cp922"; - } - - public boolean contains(Charset cs) { - return (cs instanceof IBM922); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u203E" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + // 0xB8 - 0xBF - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + // 0xC0 - 0xC7 - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + // 0xC8 - 0xCF - "\u0160\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u017D\u00DF" + // 0xD8 - 0xDF - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + // 0xE0 - 0xE7 - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + // 0xE8 - 0xEF - "\u0161\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u017E\u00FF" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u0000" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u0000\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u0000\u00FF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000"; - - private final static short index1[] = { - 0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 577, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_11.java --- a/jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_11.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,215 +0,0 @@ -/* - * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -/* - * - * NIO charset Support for Latin/Thai x-ISO-8859-11 charset - * (Currently not IANA registered) - */ - -package sun.nio.cs.ext; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.SingleByteDecoder; - -public class ISO_8859_11 extends Charset -{ - - public ISO_8859_11() { - super("x-iso-8859-11", ExtendedCharsets.aliasesFor("x-iso-8859-11")); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_11)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - protected static class Decoder extends SingleByteDecoder { - - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" + // 0xA0 - 0xA7 - "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" + // 0xA8 - 0xAF - "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" + // 0xB0 - 0xB7 - "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" + // 0xB8 - 0xBF - "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" + // 0xC0 - 0xC7 - "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" + // 0xC8 - 0xCF - "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" + // 0xD0 - 0xD7 - "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" + // 0xD8 - 0xDF - "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" + // 0xE0 - 0xE7 - "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" + // 0xE8 - 0xEF - "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" + // 0xF0 - 0xF7 - "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - protected static class Encoder extends SingleByteEncoder { - - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_3.java --- a/jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_3.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ - -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class ISO_8859_3 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_3() { - super("ISO-8859-3", ExtendedCharsets.aliasesFor("ISO-8859-3")); - } - - public String historicalName() { - return "ISO8859_3"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_3)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\u0126\u02D8\u00A3\u00A4\uFFFD\u0124\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u0130\u015E\u011E\u0134\u00AD\uFFFD\u017B" + // 0xA8 - 0xAF - "\u00B0\u0127\u00B2\u00B3\u00B4\u00B5\u0125\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u0131\u015F\u011F\u0135\u00BD\uFFFD\u017C" + // 0xB8 - 0xBF - "\u00C0\u00C1\u00C2\uFFFD\u00C4\u010A\u0108\u00C7" + // 0xC0 - 0xC7 - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + // 0xC8 - 0xCF - "\uFFFD\u00D1\u00D2\u00D3\u00D4\u0120\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u011C\u00D9\u00DA\u00DB\u00DC\u016C\u015C\u00DF" + // 0xD8 - 0xDF - "\u00E0\u00E1\u00E2\uFFFD\u00E4\u010B\u0109\u00E7" + // 0xE0 - 0xE7 - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + // 0xE8 - 0xEF - "\uFFFD\u00F1\u00F2\u00F3\u00F4\u0121\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u011D\u00F9\u00FA\u00FB\u00FC\u016D\u015D\u02D9" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u00A3\u00A4\u0000\u0000\u00A7" + - "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" + - "\u00B0\u0000\u00B2\u00B3\u00B4\u00B5\u0000\u00B7" + - "\u00B8\u0000\u0000\u0000\u0000\u00BD\u0000\u0000" + - "\u00C0\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u0000\u00D1\u00D2\u00D3\u00D4\u0000\u00D6\u00D7" + - "\u0000\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" + - "\u00E0\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u0000\u00F1\u00F2\u00F3\u00F4\u0000\u00F6\u00F7" + - "\u0000\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00C6\u00E6\u00C5" + - "\u00E5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00D8\u00F8\u00AB\u00BB\u00D5\u00F5\u0000" + - "\u0000\u00A6\u00B6\u00A1\u00B1\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A9\u00B9\u0000" + - "\u0000\u00AC\u00BC\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DE\u00FE\u00AA\u00BA\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AF\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00A2\u00FF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000"; - - private final static short index1[] = { - 0, 253, 418, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_6.java --- a/jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_6.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,246 +0,0 @@ - -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class ISO_8859_6 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_6() { - super("ISO-8859-6", ExtendedCharsets.aliasesFor("ISO-8859-6")); - } - - public String historicalName() { - return "ISO8859_6"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_6)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\uFFFD\uFFFD\uFFFD\u00A4\uFFFD\uFFFD\uFFFD" + // 0xA0 - 0xA7 - "\uFFFD\uFFFD\uFFFD\uFFFD\u060C\u00AD\uFFFD\uFFFD" + // 0xA8 - 0xAF - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xB0 - 0xB7 - "\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F" + // 0xB8 - 0xBF - "\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627" + // 0xC0 - 0xC7 - "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" + // 0xC8 - 0xCF - "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637" + // 0xD0 - 0xD7 - "\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xD8 - 0xDF - "\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647" + // 0xE0 - 0xE7 - "\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F" + // 0xE8 - 0xEF - "\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xF0 - 0xF7 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00BB\u0000\u0000" + - "\u0000\u00BF\u0000\u00C1\u00C2\u00C3\u00C4\u00C5" + - "\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD" + - "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5" + - "\u00D6\u00D7\u00D8\u00D9\u00DA\u0000\u0000\u0000" + - "\u0000\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" + - "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" + - "\u00EE\u00EF\u00F0\u00F1\u00F2\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000"; - - private final static short index1[] = { - 0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_8.java --- a/jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_8.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,259 +0,0 @@ - -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - - -public class ISO_8859_8 - extends Charset - implements HistoricallyNamedCharset -{ - - public ISO_8859_8() { - super("ISO-8859-8", ExtendedCharsets.aliasesFor("ISO-8859-8")); - } - - public String historicalName() { - return "ISO8859_8"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof ISO_8859_8)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + // 0x80 - 0x87 - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + // 0x88 - 0x8F - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + // 0x90 - 0x97 - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + // 0x98 - 0x9F - "\u00A0\uFFFD\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u00D7\u00AB\u00AC\u00AD\u00AE\u00AF" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u00B9\u00F7\u00BB\u00BC\u00BD\u00BE\uFFFD" + // 0xB8 - 0xBF - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xC0 - 0xC7 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xC8 - 0xCF - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xD0 - 0xD7 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017" + // 0xD8 - 0xDF - "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" + // 0xE0 - 0xE7 - "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" + // 0xE8 - 0xEF - "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" + // 0xF0 - 0xF7 - "\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" + - "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" + - "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" + - "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" + - "\u00A0\u0000\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FD\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DF\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000"; - private final static short index1[] = { - 0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 538, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MS1255.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MS1255.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,333 +0,0 @@ - -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - - -public class MS1255 - extends Charset - implements HistoricallyNamedCharset -{ - - public String historicalName() { - return "Cp1255"; - } - - public MS1255() { - super("windows-1255", ExtendedCharsets.aliasesFor("windows-1255")); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS1255)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return MS1255.Decoder.byteToCharTable; - } - - public short[] getEncoderIndex1() { - return MS1255.Encoder.index1; - } - - public String getEncoderIndex2() { - return MS1255.Encoder.index2; - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x98 - 0x9F - "\u00A0\u00A1\u00A2\u00A3\u20AA\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u00D7\u00AB\u00AC\u00AD\u00AE\u00AF" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u00B9\u00F7\u00BB\u00BC\u00BD\u00BE\u00BF" + // 0xB8 - 0xBF - "\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7" + // 0xC0 - 0xC7 - "\u05B8\u05B9\uFFFD\u05BB\u05BC\u05BD\u05BE\u05BF" + // 0xC8 - 0xCF - "\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3" + // 0xD0 - 0xD7 - "\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xD8 - 0xDF - "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" + // 0xE0 - 0xE7 - "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" + // 0xE8 - 0xEF - "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" + // 0xF0 - 0xF7 - "\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u00A1\u00A2\u00A3\u0000\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5" + - "\u00C6\u00C7\u00C8\u00C9\u0000\u00CB\u00CC\u00CD" + - "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" + - "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" + - "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" + - "\u00F6\u00F7\u00F8\u00F9\u00FA\u0000\u0000\u0000" + - "\u0000\u0000\u00D4\u00D5\u00D6\u00D7\u00D8\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00FD\u00FE\u0000" + - "\u0000\u0000\u0096\u0097\u0000\u0000\u0000\u0091" + - "\u0092\u0082\u0000\u0093\u0094\u0084\u0000\u0086" + - "\u0087\u0095\u0000\u0000\u0000\u0085\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0089" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u008B\u009B\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00A4\u0000\u0080\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0099" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 453, 395, 395, 674, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 919, 1141, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MS1256.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MS1256.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,334 +0,0 @@ - -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MS1256 - extends Charset - implements HistoricallyNamedCharset -{ - - public String historicalName() { - return "Cp1256"; - } - - public MS1256() { - super("windows-1256", ExtendedCharsets.aliasesFor("windows-1256")); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS1256)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return MS1256.Decoder.byteToCharTable; - } - - public short[] getEncoderIndex1() { - return MS1256.Encoder.index1; - } - - public String getEncoderIndex2() { - return MS1256.Encoder.index2; - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688" + // 0x88 - 0x8F - "\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA" + // 0x98 - 0x9F - "\u00A0\u060C\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u06BE\u00AB\u00AC\u00AD\u00AE\u00AF" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u00B9\u061B\u00BB\u00BC\u00BD\u00BE\u061F" + // 0xB8 - 0xBF - "\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627" + // 0xC0 - 0xC7 - "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" + // 0xC8 - 0xCF - "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u00D7" + // 0xD0 - 0xD7 - "\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643" + // 0xD8 - 0xDF - "\u00E0\u0644\u00E2\u0645\u0646\u0647\u0648\u00E7" + // 0xE0 - 0xE7 - "\u00E8\u00E9\u00EA\u00EB\u0649\u064A\u00EE\u00EF" + // 0xE8 - 0xEF - "\u064B\u064C\u064D\u064E\u00F4\u064F\u0650\u00F7" + // 0xF0 - 0xF7 - "\u0651\u00F9\u0652\u00FB\u00FC\u200E\u200F\u06D2" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D7" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E0\u0000\u00E2\u0000\u0000\u0000\u0000\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u0000\u0000\u00EE\u00EF" + - "\u0000\u0000\u0000\u0000\u00F4\u0000\u0000\u00F7" + - "\u0000\u00F9\u0000\u00FB\u00FC\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008C" + - "\u009C\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0083" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0088\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00A1\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00BA\u0000\u0000\u0000\u00BF\u0000\u00C1" + - "\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9" + - "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1" + - "\u00D2\u00D3\u00D4\u00D5\u00D6\u00D8\u00D9\u00DA" + - "\u00DB\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD" + - "\u00DE\u00DF\u00E1\u00E3\u00E4\u00E5\u00E6\u00EC" + - "\u00ED\u00F0\u00F1\u00F2\u00F3\u00F5\u00F6\u00F8" + - "\u00FA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008A" + - "\u0000\u0000\u0000\u0000\u0081\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u008D\u0000\u008F\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009A" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u008E\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0098" + - "\u0000\u0000\u0000\u0000\u0000\u0090\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u00AA\u0000\u0000\u00C0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u009D\u009E" + - "\u00FD\u00FE\u0000\u0000\u0000\u0096\u0097\u0000" + - "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" + - "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" + - "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 253, 458, 400, 400, 400, 702, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 946, 1168, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MS1258.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MS1258.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,340 +0,0 @@ - -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MS1258 - extends Charset - implements HistoricallyNamedCharset -{ - - public String historicalName() { - return "Cp1258"; - } - - public MS1258() { - super("windows-1258", ExtendedCharsets.aliasesFor("windows-1258")); - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS1258)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return MS1258.Decoder.byteToCharTable; - } - - public short[] getEncoderIndex1() { - return MS1258.Encoder.index1; - } - - public String getEncoderIndex2() { - return MS1258.Encoder.index2; - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" + // 0x80 - 0x87 - "\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178" + // 0x98 - 0x9F - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + // 0xA0 - 0xA7 - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + // 0xA8 - 0xAF - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + // 0xB0 - 0xB7 - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + // 0xB8 - 0xBF - "\u00C0\u00C1\u00C2\u0102\u00C4\u00C5\u00C6\u00C7" + // 0xC0 - 0xC7 - "\u00C8\u00C9\u00CA\u00CB\u0300\u00CD\u00CE\u00CF" + // 0xC8 - 0xCF - "\u0110\u00D1\u0309\u00D3\u00D4\u01A0\u00D6\u00D7" + // 0xD0 - 0xD7 - "\u00D8\u00D9\u00DA\u00DB\u00DC\u01AF\u0303\u00DF" + // 0xD8 - 0xDF - "\u00E0\u00E1\u00E2\u0103\u00E4\u00E5\u00E6\u00E7" + // 0xE0 - 0xE7 - "\u00E8\u00E9\u00EA\u00EB\u0301\u00ED\u00EE\u00EF" + // 0xE8 - 0xEF - "\u0111\u00F1\u0323\u00F3\u00F4\u01A1\u00F6\u00F7" + // 0xF0 - 0xF7 - "\u00F8\u00F9\u00FA\u00FB\u00FC\u01B0\u20AB\u00FF" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u0000\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u0000\u00CD\u00CE\u00CF" + - "\u0000\u00D1\u0000\u00D3\u00D4\u0000\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" + - "\u00E0\u00E1\u00E2\u0000\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u0000\u00ED\u00EE\u00EF" + - "\u0000\u00F1\u0000\u00F3\u00F4\u0000\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" + - "\u0000\u0000\u00C3\u00E3\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D5\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DD" + - "\u00FD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0088\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0098" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00CC\u00EC\u0000\u00DE\u0000" + - "\u0000\u0000\u0000\u0000\u00D2\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F2\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0096\u0097\u0000\u0000\u0000" + - "\u0091\u0092\u0082\u0000\u0093\u0094\u0084\u0000" + - "\u0086\u0087\u0095\u0000\u0000\u0000\u0085\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0089\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u008B\u009B\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00FE\u0080\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0099\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 491, 747, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 984, 1206, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MS874.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MS874.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,267 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -/* - */ - -package sun.nio.cs.ext; - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MS874 extends Charset implements HistoricallyNamedCharset -{ - public MS874() { - super("x-windows-874", ExtendedCharsets.aliasesFor("x-windows-874")); - } - - public String historicalName() { - return "MS874"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof MS874)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - protected static class Decoder extends SingleByteDecoder { - - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD" + // 0x80 - 0x87 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" + // 0x90 - 0x97 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x98 - 0x9F - "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" + // 0xA0 - 0xA7 - "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" + // 0xA8 - 0xAF - "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" + // 0xB0 - 0xB7 - "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" + // 0xB8 - 0xBF - "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" + // 0xC0 - 0xC7 - "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" + // 0xC8 - 0xCF - "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" + // 0xD0 - 0xD7 - "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" + // 0xD8 - 0xDF - "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" + // 0xE0 - 0xE7 - "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" + // 0xE8 - 0xEF - "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" + // 0xF0 - 0xF7 - "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - protected static class Encoder extends SingleByteEncoder { - - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0096\u0097\u0000\u0000\u0000\u0091\u0092\u0000" + - "\u0000\u0093\u0094\u0000\u0000\u0000\u0000\u0095" + - "\u0000\u0000\u0000\u0085\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0080\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 653, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacArabic.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacArabic.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,279 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacArabic - extends Charset - implements HistoricallyNamedCharset -{ - - public MacArabic() { - super("x-MacArabic", ExtendedCharsets.aliasesFor("x-MacArabic")); - } - - public String historicalName() { - return "MacArabic"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacArabic); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\u00A0\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" + // 0x80 - 0x87 - "\u00E0\u00E2\u00E4\u06BA\u00AB\u00E7\u00E9\u00E8" + // 0x88 - 0x8F - "\u00EA\u00EB\u00ED\u2026\u00EE\u00EF\u00F1\u00F3" + // 0x90 - 0x97 - "\u00BB\u00F4\u00F6\u00F7\u00FA\u00F9\u00FB\u00FC" + // 0x98 - 0x9F - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u066A\uFFFD\uFFFD" + // 0xA0 - 0xA7 - "\uFFFD\uFFFD\uFFFD\uFFFD\u060C\uFFFD\uFFFD\uFFFD" + // 0xA8 - 0xAF - "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" + // 0xB0 - 0xB7 - "\u0668\u0669\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F" + // 0xB8 - 0xBF - "\u066D\u0621\u0622\u0623\u0624\u0625\u0626\u0627" + // 0xC0 - 0xC7 - "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" + // 0xC8 - 0xCF - "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637" + // 0xD0 - 0xD7 - "\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xD8 - 0xDF - "\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647" + // 0xE0 - 0xE7 - "\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F" + // 0xE8 - 0xEF - "\u0650\u0651\u0652\u067E\u0679\u0686\u06D5\u06A4" + // 0xF0 - 0xF7 - "\u06AF\u0688\u0691\uFFFD\uFFFD\uFFFD\u0698\u06D2" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008C\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0098\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0082" + - "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0084\u0000\u0000\u0000\u0000\u0085\u0000" + - "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u0000" + - "\u0088\u0087\u0089\u0000\u008A\u0000\u0000\u008D" + - "\u008F\u008E\u0090\u0091\u0000\u0092\u0094\u0095" + - "\u0000\u0096\u0000\u0097\u0099\u0000\u009A\u009B" + - "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00AC\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00BB\u0000\u0000\u0000" + - "\u00BF\u0000\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6" + - "\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE" + - "\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" + - "\u00D7\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000" + - "\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6" + - "\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE" + - "\u00EF\u00F0\u00F1\u00F2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6" + - "\u00B7\u00B8\u00B9\u00A5\u0000\u0000\u00C0\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00F4\u0000\u0000\u0000\u0000\u00F3" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F5" + - "\u0000\u00F9\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00FA\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00F8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00FF\u0000\u0000\u00F6\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0093\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 253, 253, 253, 253, 253, 497, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 715, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacCentralEurope.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacCentralEurope.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,346 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacCentralEurope - extends Charset - implements HistoricallyNamedCharset -{ - - public MacCentralEurope() { - super("x-MacCentralEurope", ExtendedCharsets.aliasesFor("x-MacCentralEurope")); - } - - public String historicalName() { - return "MacCentralEurope"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacCentralEurope); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\u0100\u0101\u00C9\u0104\u00D6\u00DC\u00E1" + // 0x80 - 0x87 - "\u0105\u010C\u00E4\u010D\u0106\u0107\u00E9\u0179" + // 0x88 - 0x8F - "\u017A\u010E\u00ED\u010F\u0112\u0113\u0116\u00F3" + // 0x90 - 0x97 - "\u0117\u00F4\u00F6\u00F5\u00FA\u011A\u011B\u00FC" + // 0x98 - 0x9F - "\u2020\u00B0\u0118\u00A3\u00A7\u2022\u00B6\u00DF" + // 0xA0 - 0xA7 - "\u00AE\u00A9\u2122\u0119\u00A8\u2260\u0123\u012E" + // 0xA8 - 0xAF - "\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211" + // 0xB0 - 0xB7 - "\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145" + // 0xB8 - 0xBF - "\u0146\u0143\u00AC\u221A\u0144\u0147\u2206\u00AB" + // 0xC0 - 0xC7 - "\u00BB\u2026\u00A0\u0148\u0150\u00D5\u0151\u014C" + // 0xC8 - 0xCF - "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" + // 0xD0 - 0xD7 - "\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156" + // 0xD8 - 0xDF - "\u0157\u0160\u201A\u201E\u0161\u015A\u015B\u00C1" + // 0xE0 - 0xE7 - "\u0164\u0165\u00CD\u017D\u017E\u016A\u00D3\u00D4" + // 0xE8 - 0xEF - "\u016B\u016E\u00DA\u016F\u0170\u0171\u0172\u0173" + // 0xF0 - 0xF7 - "\u00DD\u00FD\u0137\u017B\u0141\u017C\u0122\u02C7" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u0000\u0000\u00A3\u0000\u0000\u0000\u00A4" + - "\u00AC\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" + - "\u00A1\u0000\u0000\u0000\u0000\u0000\u00A6\u0000" + - "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" + - "\u0000\u00E7\u0000\u0000\u0080\u0000\u0000\u0000" + - "\u0000\u0083\u0000\u0000\u0000\u00EA\u0000\u0000" + - "\u0000\u0000\u0000\u00EE\u00EF\u00CD\u0085\u0000" + - "\u0000\u0000\u00F2\u0000\u0086\u00F8\u0000\u00A7" + - "\u0000\u0087\u0000\u0000\u008A\u0000\u0000\u0000" + - "\u0000\u008E\u0000\u0000\u0000\u0092\u0000\u0000" + - "\u0000\u0000\u0000\u0097\u0099\u009B\u009A\u00D6" + - "\u0000\u0000\u009C\u0000\u009F\u00F9\u0000\u0000" + - "\u0081\u0082\u0000\u0000\u0084\u0088\u008C\u008D" + - "\u0000\u0000\u0000\u0000\u0089\u008B\u0091\u0093" + - "\u0000\u0000\u0094\u0095\u0000\u0000\u0096\u0098" + - "\u00A2\u00AB\u009D\u009E\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00FE\u00AE\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00B1\u00B4\u0000\u0000\u00AF\u00B0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00B5\u00FA" + - "\u0000\u00BD\u00BE\u00B9\u00BA\u00BB\u00BC\u0000" + - "\u0000\u00FC\u00B8\u00C1\u00C4\u00BF\u00C0\u00C5" + - "\u00CB\u0000\u0000\u0000\u00CF\u00D8\u0000\u0000" + - "\u00CC\u00CE\u0000\u0000\u00D9\u00DA\u00DF\u00E0" + - "\u00DB\u00DE\u00E5\u00E6\u0000\u0000\u0000\u0000" + - "\u00E1\u00E4\u0000\u0000\u00E8\u00E9\u0000\u0000" + - "\u0000\u0000\u00ED\u00F0\u0000\u0000\u00F1\u00F3" + - "\u00F4\u00F5\u00F6\u00F7\u0000\u0000\u0000\u0000" + - "\u0000\u008F\u0090\u00FB\u00FD\u00EB\u00EC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D0\u00D1\u0000\u0000\u0000\u00D4\u00D5\u00E2" + - "\u0000\u00D2\u00D3\u00E3\u0000\u00A0\u0000\u00A5" + - "\u0000\u0000\u0000\u00C9\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00AA\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B6\u0000\u0000\u0000\u00C6" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00B7\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00C3\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00D7\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 677, 899, 1153, 383, 383, 1255, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacCroatian.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacCroatian.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,402 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacCroatian - extends Charset - implements HistoricallyNamedCharset -{ - - public MacCroatian() { - super("x-MacCroatian", ExtendedCharsets.aliasesFor("x-MacCroatian")); - } - - public String historicalName() { - return "MacCroatian"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacCroatian); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" + // 0x80 - 0x87 - "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" + // 0x88 - 0x8F - "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" + // 0x90 - 0x97 - "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" + // 0x98 - 0x9F - "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" + // 0xA0 - 0xA7 - "\u00AE\u0160\u2122\u00B4\u00A8\u2260\u017D\u00D8" + // 0xA8 - 0xAF - "\u221E\u00B1\u2264\u2265\u2206\u00B5\u2202\u2211" + // 0xB0 - 0xB7 - "\u220F\u0161\u222B\u00AA\u00BA\u2126\u017E\u00F8" + // 0xB8 - 0xBF - "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u0106\u00AB" + // 0xC0 - 0xC7 - "\u010C\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" + // 0xC8 - 0xCF - "\u0110\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" + // 0xD0 - 0xD7 - "\uF8FF\u00A9\u2044\u00A4\u2039\u203A\u00C6\u00BB" + // 0xD8 - 0xDF - "\u2013\u00B7\u201A\u201E\u2030\u00C2\u0107\u00C1" + // 0xE0 - 0xE7 - "\u010D\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" + // 0xE8 - 0xEF - "\u0111\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" + // 0xF0 - 0xF7 - "\u00AF\u03C0\u00CB\u02DA\u00B8\u00CA\u00E6\u02C7" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u00C1\u00A2\u00A3\u00DB\u0000\u0000\u00A4" + - "\u00AC\u00D9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" + - "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" + - "\u00FC\u0000\u00BC\u00DF\u0000\u0000\u0000\u00C0" + - "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00DE\u0082" + - "\u00E9\u0083\u00FD\u00FA\u00ED\u00EA\u00EB\u00EC" + - "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" + - "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" + - "\u0088\u0087\u0089\u008B\u008A\u008C\u00FE\u008D" + - "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" + - "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" + - "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00C6\u00E6\u0000\u0000\u0000" + - "\u0000\u00C8\u00E8\u0000\u0000\u00D0\u00F0\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00F5\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00CE" + - "\u00CF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00A9\u00B9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00AE\u00BE\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C4" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00F6\u00FF\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00FB\u0000\u00F7\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E0" + - "\u00D1\u0000\u0000\u0000\u00D4\u00D5\u00E2\u0000" + - "\u00D2\u00D3\u00E3\u0000\u00A0\u0000\u00A5\u0000" + - "\u0000\u0000\u00C9\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00E4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00AA\u0000\u0000\u0000" + - "\u00BD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00B6\u0000\u0000\u0000\u00B4\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B8" + - "\u0000\u00B7\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C3\u0000\u0000\u0000\u00B0\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00BA\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D8"; - - private final static short index1[] = { - 0, 253, 458, 679, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 916, 1138, 1392, 400, 400, 1494, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 1697, 400, 400, 400, 400, 400, 400, 400, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacCyrillic.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacCyrillic.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,361 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacCyrillic - extends Charset - implements HistoricallyNamedCharset -{ - - public MacCyrillic() { - super("x-MacCyrillic", ExtendedCharsets.aliasesFor("x-MacCyrillic")); - } - - public String historicalName() { - return "MacCyrillic"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacCyrillic); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" + // 0x80 - 0x87 - "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" + // 0x88 - 0x8F - "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" + // 0x90 - 0x97 - "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" + // 0x98 - 0x9F - "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u0406" + // 0xA0 - 0xA7 - "\u00AE\u00A9\u2122\u0402\u0452\u2260\u0403\u0453" + // 0xA8 - 0xAF - "\u221E\u00B1\u2264\u2265\u0456\u00B5\u2202\u0408" + // 0xB0 - 0xB7 - "\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A" + // 0xB8 - 0xBF - "\u0458\u0405\u00AC\u221A\u0192\u2248\u2206\u00AB" + // 0xC0 - 0xC7 - "\u00BB\u2026\u00A0\u040B\u045B\u040C\u045C\u0455" + // 0xC8 - 0xCF - "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u201E" + // 0xD0 - 0xD7 - "\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F" + // 0xD8 - 0xDF - "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" + // 0xE0 - 0xE7 - "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" + // 0xE8 - 0xEF - "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" + // 0xF0 - 0xF7 - "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u00A4" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u0000\u00A2\u00A3\u00FF\u0000\u0000\u00A4" + - "\u0000\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" + - "\u00A1\u00B1\u0000\u0000\u0000\u00B5\u00A6\u0000" + - "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D6" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00DD\u00AB\u00AE\u00B8\u00C1" + - "\u00A7\u00BA\u00B7\u00BC\u00BE\u00CB\u00CD\u0000" + - "\u00D8\u00DA\u0080\u0081\u0082\u0083\u0084\u0085" + - "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" + - "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" + - "\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D" + - "\u009E\u009F\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" + - "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" + - "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" + - "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" + - "\u00FE\u00DF\u0000\u00DE\u00AC\u00AF\u00B9\u00CF" + - "\u00B4\u00BB\u00C0\u00BD\u00BF\u00CC\u00CE\u0000" + - "\u00D9\u00DB\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000\u00D4" + - "\u00D5\u0000\u0000\u00D2\u00D3\u00D7\u0000\u00A0" + - "\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AA\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00B6\u0000\u0000\u0000\u00C6\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C3\u0000\u0000\u0000\u00B0\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AD" + - "\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 395, 395, 650, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 887, 1121, 1375, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacDingbat.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacDingbat.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,316 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacDingbat - extends Charset - implements HistoricallyNamedCharset -{ - - public MacDingbat() { - super("x-MacDingbat", ExtendedCharsets.aliasesFor("x-MacDingbat")); - } - - public String historicalName() { - return "MacDingbat"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacDingbat); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x80 - 0x87 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x90 - 0x97 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x98 - 0x9F - "\uFFFD\u2761\u2762\u2763\u2764\u2765\u2766\u2767" + // 0xA0 - 0xA7 - "\u2663\u2666\u2665\u2660\u2460\u2461\u2462\u2463" + // 0xA8 - 0xAF - "\u2464\u2465\u2466\u2467\u2468\u2469\u2776\u2777" + // 0xB0 - 0xB7 - "\u2778\u2779\u277A\u277B\u277C\u277D\u277E\u277F" + // 0xB8 - 0xBF - "\u2780\u2781\u2782\u2783\u2784\u2785\u2786\u2787" + // 0xC0 - 0xC7 - "\u2788\u2789\u278A\u278B\u278C\u278D\u278E\u278F" + // 0xC8 - 0xCF - "\u2790\u2791\u2792\u2793\u2794\u2192\u2194\u2195" + // 0xD0 - 0xD7 - "\u2798\u2799\u279A\u279B\u279C\u279D\u279E\u279F" + // 0xD8 - 0xDF - "\u27A0\u27A1\u27A2\u27A3\u27A4\u27A5\u27A6\u27A7" + // 0xE0 - 0xE7 - "\u27A8\u27A9\u27AA\u27AB\u27AC\u27AD\u27AE\u27AF" + // 0xE8 - 0xEF - "\uFFFD\u27B1\u27B2\u27B3\u27B4\u27B5\u27B6\u27B7" + // 0xF0 - 0xF7 - "\u27B8\u27B9\u27BA\u27BB\u27BC\u27BD\u27BE\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u2701\u2702\u2703\u2704\u260E\u2706\u2707" + // 0x20 - 0x27 - "\u2708\u2709\u261B\u261E\u270C\u270D\u270E\u270F" + // 0x28 - 0x2F - "\u2710\u2711\u2712\u2713\u2714\u2715\u2716\u2717" + // 0x30 - 0x37 - "\u2718\u2719\u271A\u271B\u271C\u271D\u271E\u271F" + // 0x38 - 0x3F - "\u2720\u2721\u2722\u2723\u2724\u2725\u2726\u2727" + // 0x40 - 0x47 - "\u2605\u2729\u272A\u272B\u272C\u272D\u272E\u272F" + // 0x48 - 0x4F - "\u2730\u2731\u2732\u2733\u2734\u2735\u2736\u2737" + // 0x50 - 0x57 - "\u2738\u2739\u273A\u273B\u273C\u273D\u273E\u273F" + // 0x58 - 0x5F - "\u2740\u2741\u2742\u2743\u2744\u2745\u2746\u2747" + // 0x60 - 0x67 - "\u2748\u2749\u274A\u274B\u25CF\u274D\u25A0\u274F" + // 0x68 - 0x6F - "\u2750\u2751\u2752\u25B2\u25BC\u25C6\u2756\u25D7" + // 0x70 - 0x77 - "\u2758\u2759\u275A\u275B\u275C\u275D\u275E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D5\u0000\u00D6\u00D7\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u00AD" + - "\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u006E\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0073\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0074\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0075\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u006C" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0077" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0048\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0025\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u002A\u0000" + - "\u0000\u002B\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AB\u0000\u0000\u00A8\u0000" + - "\u00AA\u00A9\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0021\"\u0023\u0024\u0000" + - "\u0026\'\u0028\u0029\u0000\u0000\u002C\u002D" + - "\u002E\u002F\u0030\u0031\u0032\u0033\u0034\u0035" + - "\u0036\u0037\u0038\u0039\u003A\u003B\u003C\u003D" + - "\u003E\u003F\u0040\u0041\u0042\u0043\u0044\u0045" + - "\u0046\u0047\u0000\u0049\u004A\u004B\u004C\u004D" + - "\u004E\u004F\u0050\u0051\u0052\u0053\u0054\u0055" + - "\u0056\u0057\u0058\u0059\u005A\u005B\\\u005D" + - "\u005E\u005F\u0060\u0061\u0062\u0063\u0064\u0065" + - "\u0066\u0067\u0068\u0069\u006A\u006B\u0000\u006D" + - "\u0000\u006F\u0070\u0071\u0072\u0000\u0000\u0000" + - "\u0076\u0000\u0078\u0079\u007A\u007B\u007C\u007D" + - "\u007E\u0000\u0000\u00A1\u00A2\u00A3\u00A4\u00A5" + - "\u00A6\u00A7\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD" + - "\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5" + - "\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD" + - "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u0000" + - "\u0000\u0000\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD" + - "\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" + - "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" + - "\u00EE\u00EF\u0000\u00F1\u00F2\u00F3\u00F4\u00F5" + - "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" + - "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000"; - - private final static short index1[] = { - 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 238, 128, 128, 398, 504, 755, 1010, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacGreek.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacGreek.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,327 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacGreek - extends Charset - implements HistoricallyNamedCharset -{ - - public MacGreek() { - super("x-MacGreek", ExtendedCharsets.aliasesFor("x-MacGreek")); - } - - public String historicalName() { - return "MacGreek"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacGreek); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\u00B9\u00B2\u00C9\u00B3\u00D6\u00DC\u0385" + // 0x80 - 0x87 - "\u00E0\u00E2\u00E4\u0384\u00A8\u00E7\u00E9\u00E8" + // 0x88 - 0x8F - "\u00EA\u00EB\u00A3\u2122\u00EE\u00EF\u2022\u00BD" + // 0x90 - 0x97 - "\u2030\u00F4\u00F6\u00A6\u00AD\u00F9\u00FB\u00FC" + // 0x98 - 0x9F - "\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\u00DF" + // 0xA0 - 0xA7 - "\u00AE\u00A9\u03A3\u03AA\u00A7\u2260\u00B0\u0387" + // 0xA8 - 0xAF - "\u0391\u00B1\u2264\u2265\u00A5\u0392\u0395\u0396" + // 0xB0 - 0xB7 - "\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9" + // 0xB8 - 0xBF - "\u03AC\u039D\u00AC\u039F\u03A1\u2248\u03A4\u00AB" + // 0xC0 - 0xC7 - "\u00BB\u2026\u00A0\u03A5\u03A7\u0386\u0388\u0153" + // 0xC8 - 0xCF - "\u2013\u2015\u201C\u201D\u2018\u2019\u00F7\u0389" + // 0xD0 - 0xD7 - "\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F" + // 0xD8 - 0xDF - "\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3" + // 0xE0 - 0xE7 - "\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF" + // 0xE8 - 0xEF - "\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2" + // 0xF0 - 0xF7 - "\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u0000\u0000\u0092\u0000\u00B4\u009B\u00AC" + - "\u008C\u00A9\u0000\u00C7\u00C2\u009C\u00A8\u0000" + - "\u00AE\u00B1\u0082\u0084\u0000\u0000\u0000\u0000" + - "\u0000\u0081\u0000\u00C8\u0000\u0097\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" + - "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0085\u0000" + - "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u00A7" + - "\u0088\u0000\u0089\u0000\u008A\u0000\u0000\u008D" + - "\u008F\u008E\u0090\u0091\u0000\u0000\u0094\u0095" + - "\u0000\u0000\u0000\u0000\u0099\u0000\u009A\u00D6" + - "\u0000\u009D\u0000\u009E\u009F\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u008B\u0087\u00CD\u00AF\u00CE\u00D7\u00D8" + - "\u0000\u00D9\u0000\u00DA\u00DF\u00FD\u00B0\u00B5" + - "\u00A1\u00A2\u00B6\u00B7\u00B8\u00A3\u00B9\u00BA" + - "\u00A4\u00BB\u00C1\u00A5\u00C3\u00A6\u00C4\u0000" + - "\u00AA\u00C6\u00CB\u00BC\u00CC\u00BE\u00BF\u00AB" + - "\u00BD\u00C0\u00DB\u00DC\u00DD\u00FE\u00E1\u00E2" + - "\u00E7\u00E4\u00E5\u00FA\u00E8\u00F5\u00E9\u00EB" + - "\u00EC\u00ED\u00EE\u00EA\u00EF\u00F0\u00F2\u00F7" + - "\u00F3\u00F4\u00F9\u00E6\u00F8\u00E3\u00F6\u00FB" + - "\u00FC\u00DE\u00E0\u00F1\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00D0\u0000\u00D1" + - "\u0000\u0000\u00D4\u00D5\u0000\u0000\u00D2\u00D3" + - "\u0000\u0000\u00A0\u0000\u0096\u0000\u0000\u0000" + - "\u00C9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0098\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0093\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 253, 337, 461, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 698, 920, 1104, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacHebrew.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacHebrew.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,289 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacHebrew - extends Charset - implements HistoricallyNamedCharset -{ - - public MacHebrew() { - super("x-MacHebrew", ExtendedCharsets.aliasesFor("x-MacHebrew")); - } - - public String historicalName() { - return "MacHebrew"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacHebrew); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\uFB1F\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" + // 0x80 - 0x87 - "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" + // 0x88 - 0x8F - "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" + // 0x90 - 0x97 - "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" + // 0x98 - 0x9F - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u20AA\uFFFD" + // 0xA0 - 0xA7 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xA8 - 0xAF - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xB0 - 0xB7 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xB8 - 0xBF - "\uFFFD\u201E\uFFFD\uFFFD\uFFFD\uFFFD\u05BC\uFB4B" + // 0xC0 - 0xC7 - "\uFB35\u2026\u00A0\u05B8\u05B7\u05B5\u05B6\u05B4" + // 0xC8 - 0xCF - "\u2013\u2014\u201C\u201D\u2018\u2019\uFB2A\uFB2B" + // 0xD0 - 0xD7 - "\u05BF\u05B0\u05B2\u05B1\u05BB\u05B9\uFFFD\u05B3" + // 0xD8 - 0xDF - "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" + // 0xE0 - 0xE7 - "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" + // 0xE8 - 0xEF - "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" + // 0xF0 - 0xF7 - "\u05E8\u05E9\u05EA\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0082" + - "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0084\u0000\u0000\u0000\u0000\u0085\u0000" + - "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u0000" + - "\u0088\u0087\u0089\u008B\u008A\u008C\u0000\u008D" + - "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" + - "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u0000" + - "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00D9\u00DB\u00DA" + - "\u00DF\u00CF\u00CD\u00CE\u00CC\u00CB\u00DD\u0000" + - "\u00DC\u00C6\u0000\u0000\u00D8\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00E0\u00E1\u00E2" + - "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" + - "\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2" + - "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00D0\u00D1\u0000" + - "\u0000\u0000\u00D4\u00D5\u0000\u0000\u00D2\u00D3" + - "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00A6\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0081\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00D6\u00D7\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00C7\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 253, 253, 253, 253, 333, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 570, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 795, 253, 253, 253, 253, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacIceland.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacIceland.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,402 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacIceland - extends Charset - implements HistoricallyNamedCharset -{ - - public MacIceland() { - super("x-MacIceland", ExtendedCharsets.aliasesFor("x-MacIceland")); - } - - public String historicalName() { - return "MacIceland"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacIceland); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" + // 0x80 - 0x87 - "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" + // 0x88 - 0x8F - "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" + // 0x90 - 0x97 - "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" + // 0x98 - 0x9F - "\u00DD\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" + // 0xA0 - 0xA7 - "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" + // 0xA8 - 0xAF - "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" + // 0xB0 - 0xB7 - "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u00E6\u00F8" + // 0xB8 - 0xBF - "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" + // 0xC0 - 0xC7 - "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" + // 0xC8 - 0xCF - "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" + // 0xD0 - 0xD7 - "\u00FF\u0178\u2044\u00A4\u00D0\u00F0\u00DE\u00FE" + // 0xD8 - 0xDF - "\u00FD\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" + // 0xE0 - 0xE7 - "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" + // 0xE8 - 0xEF - "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" + // 0xF0 - 0xF7 - "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u00C1\u00A2\u00A3\u00DB\u00B4\u0000\u00A4" + - "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" + - "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" + - "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" + - "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" + - "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" + - "\u00DC\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" + - "\u00AF\u00F4\u00F2\u00F3\u0086\u00A0\u00DE\u00A7" + - "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" + - "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" + - "\u00DD\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" + - "\u00BF\u009D\u009C\u009E\u009F\u00E0\u00DF\u00D8" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" + - "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" + - "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" + - "\u0000\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" + - "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" + - "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" + - "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F0"; - - private final static short index1[] = { - 0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacRoman.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacRoman.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,434 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacRoman - extends Charset - implements HistoricallyNamedCharset -{ - - public MacRoman() { - super("x-MacRoman", ExtendedCharsets.aliasesFor("x-MacRoman")); - } - - public String historicalName() { - return "MacRoman"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacRoman); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" + // 0x80 - 0x87 - "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" + // 0x88 - 0x8F - "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" + // 0x90 - 0x97 - "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" + // 0x98 - 0x9F - "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" + // 0xA0 - 0xA7 - "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" + // 0xA8 - 0xAF - "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" + // 0xB0 - 0xB7 - "\u220F\u03C0\u222B\u00AA\u00BA\u03A9\u00E6\u00F8" + // 0xB8 - 0xBF - "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" + // 0xC0 - 0xC7 - "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" + // 0xC8 - 0xCF - "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" + // 0xD0 - 0xD7 - "\u00FF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02" + // 0xD8 - 0xDF - "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" + // 0xE0 - 0xE7 - "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" + // 0xE8 - 0xEF - "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" + // 0xF0 - 0xF7 - "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u00C1\u00A2\u00A3\u0000\u00B4\u0000\u00A4" + - "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" + - "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" + - "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" + - "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" + - "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" + - "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" + - "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" + - "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" + - "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" + - "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" + - "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" + - "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" + - "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" + - "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" + - "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" + - "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" + - "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F0\u0000\u00DE\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 1957, 403, 403, 403, 403, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacRomania.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacRomania.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,402 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacRomania - extends Charset - implements HistoricallyNamedCharset -{ - - public MacRomania() { - super("x-MacRomania", ExtendedCharsets.aliasesFor("x-MacRomania")); - } - - public String historicalName() { - return "MacRomania"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacRomania); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" + // 0x80 - 0x87 - "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" + // 0x88 - 0x8F - "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" + // 0x90 - 0x97 - "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" + // 0x98 - 0x9F - "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" + // 0xA0 - 0xA7 - "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u0102\u015E" + // 0xA8 - 0xAF - "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" + // 0xB0 - 0xB7 - "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u0103\u015F" + // 0xB8 - 0xBF - "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" + // 0xC0 - 0xC7 - "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" + // 0xC8 - 0xCF - "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" + // 0xD0 - 0xD7 - "\u00FF\u0178\u2044\u00A4\u2039\u203A\u0162\u0163" + // 0xD8 - 0xDF - "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" + // 0xE0 - 0xE7 - "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" + // 0xE8 - 0xEF - "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" + // 0xF0 - 0xF7 - "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u00C1\u00A2\u00A3\u00DB\u00B4\u0000\u00A4" + - "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" + - "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" + - "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" + - "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u0000\u0082" + - "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" + - "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" + - "\u0000\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" + - "\u0088\u0087\u0089\u008B\u008A\u008C\u0000\u008D" + - "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" + - "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" + - "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" + - "\u0000\u0000\u00AE\u00BE\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00AF\u00BF" + - "\u0000\u0000\u00DE\u00DF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" + - "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" + - "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" + - "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" + - "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" + - "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" + - "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F0"; - - private final static short index1[] = { - 0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacSymbol.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacSymbol.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,425 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacSymbol - extends Charset - implements HistoricallyNamedCharset -{ - - public MacSymbol() { - super("x-MacSymbol", ExtendedCharsets.aliasesFor("x-MacSymbol")); - } - - public String historicalName() { - return "MacSymbol"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacSymbol); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x80 - 0x87 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x90 - 0x97 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x98 - 0x9F - "\u20AC\u03D2\u2032\u2264\u2044\u221E\u0192\u2663" + // 0xA0 - 0xA7 - "\u2666\u2665\u2660\u2194\u2190\u2191\u2192\u2193" + // 0xA8 - 0xAF - "\u00B0\u00B1\u2033\u2265\u00D7\u221D\u2202\u2022" + // 0xB0 - 0xB7 - "\u00F7\u2260\u2261\u2248\u2026\uF8E6\uF8E7\u21B5" + // 0xB8 - 0xBF - "\u2135\u2111\u211C\u2118\u2297\u2295\u2205\u2229" + // 0xC0 - 0xC7 - "\u222A\u2283\u2287\u2284\u2282\u2286\u2208\u2209" + // 0xC8 - 0xCF - "\u2220\u2207\u00AE\u00A9\u2122\u220F\u221A\u22C5" + // 0xD0 - 0xD7 - "\u00AC\u2227\u2228\u21D4\u21D0\u21D1\u21D2\u21D3" + // 0xD8 - 0xDF - "\u22C4\u3008\uFFFD\uFFFD\uFFFD\u2211\uFFFD\uFFFD" + // 0xE0 - 0xE7 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uF8F4" + // 0xE8 - 0xEF - "\uF8FF\u3009\u222B\u2320\uFFFD\u2321\uFFFD\uFFFD" + // 0xF0 - 0xF7 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\u2200\u0023\u2203\u0025\u0026\u220D" + // 0x20 - 0x27 - "\u0028\u0029\u2217\u002B\u002C\u2212\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u2245\u0391\u0392\u03A7\u0394\u0395\u03A6\u0393" + // 0x40 - 0x47 - "\u0397\u0399\u03D1\u039A\u039B\u039C\u039D\u039F" + // 0x48 - 0x4F - "\u03A0\u0398\u03A1\u03A3\u03A4\u03A5\u03C2\u03A9" + // 0x50 - 0x57 - "\u039E\u03A8\u0396\u005B\u2234\u005D\u22A5\u005F" + // 0x58 - 0x5F - "\uF8E5\u03B1\u03B2\u03C7\u03B4\u03B5\u03C6\u03B3" + // 0x60 - 0x67 - "\u03B7\u03B9\u03D5\u03BA\u03BB\u03BC\u03BD\u03BF" + // 0x68 - 0x6F - "\u03C0\u03B8\u03C1\u03C3\u03C4\u03C5\u03D6\u03C9" + // 0x70 - 0x77 - "\u03BE\u03C8\u03B6\u007B\u007C\u007D\u223C\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\u0000\u0023\u0000\u0025\u0026\u0000" + - "\u0028\u0029\u0000\u002B\u002C\u0000\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u005B\u0000\u005D\u0000\u005F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u007B\u007C\u007D\u0000\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00D3\u0000\u0000\u00D8\u0000\u00D2\u0000" + - "\u00B0\u00B1\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B4" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B8" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00A6\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0041\u0042\u0047\u0044\u0045" + - "\u005A\u0048\u0051\u0049\u004B\u004C\u004D\u004E" + - "\u0058\u004F\u0050\u0052\u0000\u0053\u0054\u0055" + - "\u0046\u0043\u0059\u0057\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0061\u0062\u0067\u0064\u0065" + - "\u007A\u0068\u0071\u0069\u006B\u006C\u006D\u006E" + - "\u0078\u006F\u0070\u0072\u0056\u0073\u0074\u0075" + - "\u0066\u0063\u0079\u0077\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u004A\u00A1\u0000\u0000\u006A" + - "\u0076\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00B7\u0000\u0000\u0000\u00BC\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00A2\u00B2\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00A0\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u00C3" + - "\u0000\u0000\u0000\u00C2\u0000\u0000\u0000\u0000" + - "\u0000\u00D4\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AC" + - "\u00AD\u00AE\u00AF\u00AB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" + - "\u00DD\u00DE\u00DF\u00DB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"" + - "\u0000\u00B6\u0024\u0000\u00C6\u0000\u00D1\u00CE" + - "\u00CF\u0000\u0000\u0000\'\u0000\u00D5\u0000" + - "\u00E5\u002D\u0000\u0000\u0000\u0000\u002A\u0000" + - "\u0000\u00D6\u0000\u0000\u00B5\u00A5\u0000\u00D0" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00D9\u00DA" + - "\u00C7\u00C8\u00F2\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\\\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u007E\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0040\u0000\u0000\u00BB" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B9" + - "\u00BA\u0000\u0000\u00A3\u00B3\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00CC\u00C9\u00CB\u0000\u00CD\u00CA\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u00C4\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u005E\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00E0\u00D7\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F3" + - "\u00F5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" + - "\u0000\u0000\u00A7\u0000\u00A9\u00A8\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" + - "\u00F1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0060" + - "\u00BD\u00BE\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00F0"; - - private final static short index1[] = { - 0, 248, 395, 506, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 728, 967, 1223, 1447, 395, 395, 1607, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 1855, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 1882, 395, 395, 395, 395, 395, 395, 395, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacThai.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacThai.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,338 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacThai - extends Charset - implements HistoricallyNamedCharset -{ - - public MacThai() { - super("x-MacThai", ExtendedCharsets.aliasesFor("x-MacThai")); - } - - public String historicalName() { - return "MacThai"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacThai); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00AB\u00BB\u2026\uF88C\uF88F\uF892\uF895\uF898" + // 0x80 - 0x87 - "\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899" + // 0x88 - 0x8F - "\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888" + // 0x90 - 0x97 - "\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD" + // 0x98 - 0x9F - "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" + // 0xA0 - 0xA7 - "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" + // 0xA8 - 0xAF - "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" + // 0xB0 - 0xB7 - "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" + // 0xB8 - 0xBF - "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" + // 0xC0 - 0xC7 - "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" + // 0xC8 - 0xCF - "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" + // 0xD0 - 0xD7 - "\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F" + // 0xD8 - 0xDF - "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" + // 0xE0 - 0xE7 - "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F" + // 0xE8 - 0xEF - "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" + // 0xF0 - 0xF7 - "\u0E58\u0E59\u00AE\u00A9\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00FB\u0000\u0080\u0000\u0000\u00FA\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0081\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00A1\u00A2\u00A3\u00A4" + - "\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB\u00AC" + - "\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4" + - "\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC" + - "\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4" + - "\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC" + - "\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4" + - "\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u0000\u0000" + - "\u0000\u0000\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4" + - "\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC" + - "\u00ED\u0000\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4" + - "\u00F5\u00F6\u00F7\u00F8\u00F9\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00DC\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00DD\u00DE\u0000\u0000\u0000" + - "\u009D\u009E\u0000\u0000\u008D\u008E\u0000\u0000" + - "\u0000\u0000\u0091\u0000\u0000\u0000\u0082\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00EE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0092\u0094" + - "\u0095\u0096\u0097\u0093\u0098\u0088\u0083\u0099" + - "\u0089\u0084\u009A\u008A\u0085\u009B\u008B\u0086" + - "\u009C\u008C\u0087\u008F\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00DB"; - - private final static short index1[] = { - 0, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 443, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 688, 910, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 1034, 188, 188, 188, 188, 188, 1188, 188, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacTurkish.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacTurkish.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,402 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacTurkish - extends Charset - implements HistoricallyNamedCharset -{ - - public MacTurkish() { - super("x-MacTurkish", ExtendedCharsets.aliasesFor("x-MacTurkish")); - } - - public String historicalName() { - return "MacTurkish"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacTurkish); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" + // 0x80 - 0x87 - "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" + // 0x88 - 0x8F - "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" + // 0x90 - 0x97 - "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" + // 0x98 - 0x9F - "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" + // 0xA0 - 0xA7 - "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" + // 0xA8 - 0xAF - "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" + // 0xB0 - 0xB7 - "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u00E6\u00F8" + // 0xB8 - 0xBF - "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" + // 0xC0 - 0xC7 - "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" + // 0xC8 - 0xCF - "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" + // 0xD0 - 0xD7 - "\u00FF\u0178\u011E\u011F\u0130\u0131\u015E\u015F" + // 0xD8 - 0xDF - "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" + // 0xE0 - 0xE7 - "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" + // 0xE8 - 0xEF - "\uF8FF\u00D2\u00DA\u00DB\u00D9\uFFFD\u02C6\u02DC" + // 0xF0 - 0xF7 - "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u00C1\u00A2\u00A3\u0000\u00B4\u0000\u00A4" + - "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" + - "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" + - "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" + - "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" + - "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" + - "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" + - "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" + - "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" + - "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" + - "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" + - "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DA\u00DB" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00DF" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" + - "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" + - "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" + - "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" + - "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" + - "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" + - "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u00F0"; - - private final static short index1[] = { - 0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/MacUkraine.java --- a/jdk/src/share/classes/sun/nio/cs/ext/MacUkraine.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,361 +0,0 @@ - -/* - * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class MacUkraine - extends Charset - implements HistoricallyNamedCharset -{ - - public MacUkraine() { - super("x-MacUkraine", ExtendedCharsets.aliasesFor("x-MacUkraine")); - } - - public String historicalName() { - return "MacUkraine"; - } - - public boolean contains(Charset cs) { - return (cs instanceof MacUkraine); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" + // 0x80 - 0x87 - "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" + // 0x88 - 0x8F - "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" + // 0x90 - 0x97 - "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" + // 0x98 - 0x9F - "\u2020\u00B0\u0490\u00A3\u00A7\u2022\u00B6\u0406" + // 0xA0 - 0xA7 - "\u00AE\u00A9\u2122\u0402\u0452\u2260\u0403\u0453" + // 0xA8 - 0xAF - "\u221E\u00B1\u2264\u2265\u0456\u00B5\u0491\u0408" + // 0xB0 - 0xB7 - "\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A" + // 0xB8 - 0xBF - "\u0458\u0405\u00AC\u221A\u0192\u2248\u2206\u00AB" + // 0xC0 - 0xC7 - "\u00BB\u2026\u00A0\u040B\u045B\u040C\u045C\u0455" + // 0xC8 - 0xCF - "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u201E" + // 0xD0 - 0xD7 - "\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F" + // 0xD8 - 0xDF - "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" + // 0xE0 - 0xE7 - "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" + // 0xE8 - 0xEF - "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" + // 0xF0 - 0xF7 - "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u00A4" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00CA\u0000\u0000\u00A3\u00FF\u0000\u0000\u00A4" + - "\u0000\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" + - "\u00A1\u00B1\u0000\u0000\u0000\u00B5\u00A6\u0000" + - "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D6" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00DD\u00AB\u00AE\u00B8\u00C1" + - "\u00A7\u00BA\u00B7\u00BC\u00BE\u00CB\u00CD\u0000" + - "\u00D8\u00DA\u0080\u0081\u0082\u0083\u0084\u0085" + - "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" + - "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" + - "\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D" + - "\u009E\u009F\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" + - "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" + - "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" + - "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" + - "\u00FE\u00DF\u0000\u00DE\u00AC\u00AF\u00B9\u00CF" + - "\u00B4\u00BB\u00C0\u00BD\u00BF\u00CC\u00CE\u0000" + - "\u00D9\u00DB\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00A2\u00B6\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000\u00D4" + - "\u00D5\u0000\u0000\u00D2\u00D3\u00D7\u0000\u00A0" + - "\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AA\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00C6\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u00C3\u0000\u0000" + - "\u0000\u00B0\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00C5\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u00AD\u0000\u0000\u0000\u00B2" + - "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 248, 395, 395, 650, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 887, 1121, 1371, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, - - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/nio/cs/ext/TIS_620.java --- a/jdk/src/share/classes/sun/nio/cs/ext/TIS_620.java Wed Jul 05 16:44:40 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +0,0 @@ - -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.nio.cs.ext; - - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CharacterCodingException; -import java.nio.charset.MalformedInputException; -import java.nio.charset.UnmappableCharacterException; -import sun.nio.cs.StandardCharsets; -import sun.nio.cs.SingleByteDecoder; -import sun.nio.cs.SingleByteEncoder; -import sun.nio.cs.HistoricallyNamedCharset; - -public class TIS_620 - extends Charset - implements HistoricallyNamedCharset -{ - - public TIS_620() { - super("TIS-620", ExtendedCharsets.aliasesFor("TIS-620")); - } - - public String historicalName() { - return "TIS620"; - } - - public boolean contains(Charset cs) { - return ((cs.name().equals("US-ASCII")) - || (cs instanceof TIS_620)); - } - - public CharsetDecoder newDecoder() { - return new Decoder(this); - } - - public CharsetEncoder newEncoder() { - return new Encoder(this); - } - - - /** - * These accessors are temporarily supplied while sun.io - * converters co-exist with the sun.nio.cs.{ext} charset coders - * These facilitate sharing of conversion tables between the - * two co-existing implementations. When sun.io converters - * are made extinct these will be unncessary and should be removed - */ - - public String getDecoderSingleByteMappings() { - return Decoder.byteToCharTable; - - } - - public short[] getEncoderIndex1() { - return Encoder.index1; - - } - public String getEncoderIndex2() { - return Encoder.index2; - - } - - private static class Decoder extends SingleByteDecoder { - public Decoder(Charset cs) { - super(cs, byteToCharTable); - } - - private final static String byteToCharTable = - - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x80 - 0x87 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x88 - 0x8F - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x90 - 0x97 - "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + // 0x98 - 0x9F - "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" + // 0xA0 - 0xA7 - "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" + // 0xA8 - 0xAF - "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" + // 0xB0 - 0xB7 - "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" + // 0xB8 - 0xBF - "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" + // 0xC0 - 0xC7 - "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" + // 0xC8 - 0xCF - "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" + // 0xD0 - 0xD7 - "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" + // 0xD8 - 0xDF - "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" + // 0xE0 - 0xE7 - "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" + // 0xE8 - 0xEF - "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" + // 0xF0 - 0xF7 - "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + // 0xF8 - 0xFF - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + // 0x00 - 0x07 - "\b\t\n\u000B\f\r\u000E\u000F" + // 0x08 - 0x0F - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + // 0x10 - 0x17 - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + // 0x18 - 0x1F - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + // 0x20 - 0x27 - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + // 0x28 - 0x2F - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + // 0x30 - 0x37 - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + // 0x38 - 0x3F - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + // 0x40 - 0x47 - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + // 0x48 - 0x4F - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + // 0x50 - 0x57 - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + // 0x58 - 0x5F - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + // 0x60 - 0x67 - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + // 0x68 - 0x6F - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + // 0x70 - 0x77 - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F"; // 0x78 - 0x7F - } - - private static class Encoder extends SingleByteEncoder { - public Encoder(Charset cs) { - super(cs, index1, index2, 0xFF00, 0x00FF, 8); - } - - private final static String index2 = - - "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + - "\b\t\n\u000B\f\r\u000E\u000F" + - "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + - "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" + - "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + - "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + - "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + - "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + - "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + - "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + - "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + - "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + - "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + - "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + - "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + - "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" + - "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" + - "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" + - "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" + - "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" + - "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" + - "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" + - "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" + - "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" + - "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" + - "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" + - "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + - "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"; - - private final static short index1[] = { - 0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - }; - } -} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/print/PSPathGraphics.java --- a/jdk/src/share/classes/sun/print/PSPathGraphics.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/print/PSPathGraphics.java Wed Jul 05 16:45:14 2017 +0200 @@ -30,7 +30,6 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; -import java.awt.Paint; import java.awt.Shape; import java.awt.Transparency; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/print/PrintJobAttributeException.java --- a/jdk/src/share/classes/sun/print/PrintJobAttributeException.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/print/PrintJobAttributeException.java Wed Jul 05 16:45:14 2017 +0200 @@ -25,7 +25,6 @@ package sun.print; -import javax.print.DocFlavor; import javax.print.AttributeException; import javax.print.PrintException; import javax.print.attribute.Attribute; diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/print/SunMinMaxPage.java --- a/jdk/src/share/classes/sun/print/SunMinMaxPage.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/print/SunMinMaxPage.java Wed Jul 05 16:45:14 2017 +0200 @@ -25,7 +25,6 @@ package sun.print; -import javax.print.attribute.EnumSyntax; import javax.print.attribute.PrintRequestAttribute; /* diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/print/SunPageSelection.java --- a/jdk/src/share/classes/sun/print/SunPageSelection.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/print/SunPageSelection.java Wed Jul 05 16:45:14 2017 +0200 @@ -26,7 +26,6 @@ package sun.print; import javax.print.attribute.PrintRequestAttribute; -import javax.print.attribute.standard.Media; /* * A class used to determine the range of pages to be printed. diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/classes/sun/swing/SwingUtilities2.java --- a/jdk/src/share/classes/sun/swing/SwingUtilities2.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/classes/sun/swing/SwingUtilities2.java Wed Jul 05 16:45:14 2017 +0200 @@ -55,6 +55,7 @@ import java.util.*; import sun.font.FontDesignMetrics; import sun.font.FontManager; +import sun.java2d.SunGraphicsEnvironment; import java.util.concurrent.Callable; import java.util.concurrent.Future; @@ -1478,22 +1479,14 @@ * appear capable of performing gamma correction needed for LCD text. */ public static boolean isLocalDisplay() { - try { - // On Windows just return true. Permission to read os.name - // is granted to all code but wrapped in try to be safe. - if (OSInfo.getOSType() == OSInfo.OSType.WINDOWS) { - return true; - } - // Else probably Solaris or Linux in which case may be remote X11 - Class x11Class = Class.forName("sun.awt.X11GraphicsEnvironment"); - Method isDisplayLocalMethod = x11Class.getMethod( - "isDisplayLocal", new Class[0]); - return (Boolean)isDisplayLocalMethod.invoke(null, (Object[])null); - } catch (Throwable t) { + boolean isLocal; + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + if (ge instanceof SunGraphicsEnvironment) { + isLocal = ((SunGraphicsEnvironment) ge).isDisplayLocal(); + } else { + isLocal = true; } - // If we get here we're most likely being run on some other O/S - // or we didn't properly detect Windows. - return true; + return isLocal; } /** diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java --- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java Wed Jul 05 16:45:14 2017 +0200 @@ -60,6 +60,9 @@ import java.awt.image.WritableRaster; import java.awt.Transparency; import java.awt.geom.AffineTransform; +import java.awt.image.DataBufferByte; +import java.awt.image.DataBufferInt; +import java.awt.image.DataBufferShort; import java.util.ArrayList; import javax.swing.JComponent; @@ -84,6 +87,7 @@ static Group.EnableSet bufimgsrcroot; static Group imgtestroot; + static Group imgoptionsroot; static Group imageOpRoot; static Group imageOpOptRoot; @@ -92,6 +96,7 @@ static Group bufImgOpTestRoot; static Group rasterOpTestRoot; static Option opList; + static Option doTouchSrc; static String transNodeNames[] = { null, "opaque", "bitmask", "translucent", @@ -105,9 +110,19 @@ imageroot = new Group(graphicsroot, "imaging", "Imaging Benchmarks"); imageroot.setTabbed(); + imgsrcroot = new Group.EnableSet(imageroot, "src", "Image Rendering Sources"); imgsrcroot.setBordered(true); + + imgoptionsroot = new Group(imgsrcroot, "options", + "Image Source Options"); + imgoptionsroot.setBordered(true); + doTouchSrc = + new Option.Toggle(imgoptionsroot, "touchsrc", + "Touch src image before every operation", + Option.Toggle.Off); + imgtestroot = new Group(imageroot, "tests", "Image Rendering Tests"); imgtestroot.setBordered(true); @@ -131,7 +146,11 @@ new BufImg(BufferedImage.TYPE_INT_RGB); new BufImg(BufferedImage.TYPE_INT_ARGB); new BufImg(BufferedImage.TYPE_BYTE_GRAY); + new BufImg(BufferedImage.TYPE_3BYTE_BGR); new BmByteIndexBufImg(); + new BufImg(BufferedImage.TYPE_INT_RGB, true); + new BufImg(BufferedImage.TYPE_INT_ARGB, true); + new BufImg(BufferedImage.TYPE_3BYTE_BGR, true); imageOpRoot = new Group(imageroot, "imageops", "Image Op Benchmarks"); @@ -193,6 +212,7 @@ } public static class Context extends GraphicsTests.Context { + boolean touchSrc; Image src; AffineTransform tx; } @@ -206,6 +226,7 @@ { super(parent, nodeName, description); addDependency(imgsrcroot, srcFilter); + addDependency(doTouchSrc); } public GraphicsTests.Context createContext() { @@ -217,6 +238,7 @@ ImageTests.Context ictx = (ImageTests.Context) ctx; ictx.src = env.getSrcImage(); + ictx.touchSrc = env.isEnabled(doTouchSrc); } public abstract static class TriStateImageType extends Group { @@ -272,13 +294,6 @@ public static class CompatImg extends TriStateImageType { int transparency; - public static String Descriptions[] = { - "Default Compatible Image", - "Opaque Compatible Image", - "Bitmask Compatible Image", - "Translucent Compatible Image", - }; - public CompatImg(int transparency) { super(imgsrcroot, Destinations.CompatImg.ShortNames[transparency], @@ -296,6 +311,7 @@ public static class BufImg extends TriStateImageType { int type; + boolean unmanaged; static int Transparencies[] = { Transparency.TRANSLUCENT, // "custom", @@ -315,15 +331,37 @@ }; public BufImg(int type) { + this(type, false); + } + + public BufImg(int type, boolean unmanaged) { super(bufimgsrcroot, + (unmanaged ? "unmanaged" : "") + Destinations.BufImg.ShortNames[type], + (unmanaged ? "Unmanaged " : "") + Destinations.BufImg.Descriptions[type], Transparencies[type]); this.type = type; + this.unmanaged = unmanaged; } public Image makeImage(TestEnvironment env, int w, int h) { - return new BufferedImage(w, h, type); + BufferedImage img = new BufferedImage(w, h, type); + if (unmanaged) { + DataBuffer db = img.getRaster().getDataBuffer(); + if (db instanceof DataBufferInt) { + ((DataBufferInt)db).getData(); + } else if (db instanceof DataBufferShort) { + ((DataBufferShort)db).getData(); + } else if (db instanceof DataBufferByte) { + ((DataBufferByte)db).getData(); + } else { + try { + img.setAccelerationPriority(0.0f); + } catch (Throwable e) {} + } + } + return img; } } @@ -471,15 +509,33 @@ g.translate(ictx.orgX, ictx.orgY); Image src = ictx.src; if (ictx.animate) { - do { - g.drawImage(src, x, y, null); - if ((x -= 3) < 0) x += ictx.maxX; - if ((y -= 1) < 0) y += ictx.maxY; - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics srcG = src.getGraphics(); + do { + srcG.fillRect(0, 0, 1, 1); + g.drawImage(src, x, y, null); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } else { + do { + g.drawImage(src, x, y, null); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } } else { - do { - g.drawImage(src, x, y, null); - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics srcG = src.getGraphics(); + do { + srcG.fillRect(0, 0, 1, 1); + g.drawImage(src, x, y, null); + } while (--numReps > 0); + } else { + do { + g.drawImage(src, x, y, null); + } while (--numReps > 0); + } } g.translate(-ictx.orgX, -ictx.orgY); } @@ -505,15 +561,33 @@ Image src = ictx.src; Color bg = Color.orange; if (ictx.animate) { - do { - g.drawImage(src, x, y, bg, null); - if ((x -= 3) < 0) x += ictx.maxX; - if ((y -= 1) < 0) y += ictx.maxY; - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics srcG = src.getGraphics(); + do { + srcG.fillRect(0, 0, 1, 1); + g.drawImage(src, x, y, bg, null); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } else { + do { + g.drawImage(src, x, y, bg, null); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } } else { - do { - g.drawImage(src, x, y, bg, null); - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics srcG = src.getGraphics(); + do { + srcG.fillRect(0, 0, 1, 1); + g.drawImage(src, x, y, bg, null); + } while (--numReps > 0); + } else { + do { + g.drawImage(src, x, y, bg, null); + } while (--numReps > 0); + } } g.translate(-ictx.orgX, -ictx.orgY); } @@ -524,7 +598,7 @@ public DrawImageScale(String dir, float scale) { super(imgtestroot, "drawimagescale"+dir, - "drawImage(img, x, y, w*"+scale+", h*"+scale+", obs);"); + "drawImage(img, x, y, w*"+scale+", h*"+scale+", obs);"); this.scale = scale; } @@ -546,15 +620,33 @@ g.translate(ictx.orgX, ictx.orgY); Image src = ictx.src; if (ictx.animate) { - do { - g.drawImage(src, x, y, w, h, null); - if ((x -= 3) < 0) x += ictx.maxX; - if ((y -= 1) < 0) y += ictx.maxY; - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics srcG = src.getGraphics(); + do { + srcG.fillRect(0, 0, 1, 1); + g.drawImage(src, x, y, w, h, null); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } else { + do { + g.drawImage(src, x, y, w, h, null); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } } else { - do { - g.drawImage(src, x, y, w, h, null); - } while (--numReps > 0); + Graphics srcG = src.getGraphics(); + if (ictx.touchSrc) { + do { + srcG.fillRect(0, 0, 1, 1); + g.drawImage(src, x, y, w, h, null); + } while (--numReps > 0); + } else { + do { + g.drawImage(src, x, y, w, h, null); + } while (--numReps > 0); + } } g.translate(-ictx.orgX, -ictx.orgY); } @@ -588,17 +680,36 @@ Image src = ictx.src; AffineTransform tx = ictx.tx; if (ictx.animate) { - do { - tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y); - g.drawImage(src, tx, null); - if ((x -= 3) < 0) x += ictx.maxX; - if ((y -= 1) < 0) y += ictx.maxY; - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics srcG = src.getGraphics(); + do { + tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y); + srcG.fillRect(0, 0, 1, 1); + g.drawImage(src, tx, null); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } else { + do { + tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y); + g.drawImage(src, tx, null); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } } else { tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y); - do { - g.drawImage(src, tx, null); - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics srcG = src.getGraphics(); + do { + srcG.fillRect(0, 0, 1, 1); + g.drawImage(src, tx, null); + } while (--numReps > 0); + } else { + do { + g.drawImage(src, tx, null); + } while (--numReps > 0); + } } g.translate(-ictx.orgX, -ictx.orgY); } @@ -736,15 +847,33 @@ Graphics2D g2 = (Graphics2D)ictx.graphics; g2.translate(ictx.orgX, ictx.orgY); if (ictx.animate) { - do { - g2.drawImage(src, op, x, y); - if ((x -= 3) < 0) x += ictx.maxX; - if ((y -= 1) < 0) y += ictx.maxY; - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics gSrc = src.getGraphics(); + do { + gSrc.fillRect(0, 0, 1, 1); + g2.drawImage(src, op, x, y); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } else { + do { + g2.drawImage(src, op, x, y); + if ((x -= 3) < 0) x += ictx.maxX; + if ((y -= 1) < 0) y += ictx.maxY; + } while (--numReps > 0); + } } else { - do { - g2.drawImage(src, op, x, y); - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics gSrc = src.getGraphics(); + do { + gSrc.fillRect(0, 0, 1, 1); + g2.drawImage(src, op, x, y); + } while (--numReps > 0); + } else { + do { + g2.drawImage(src, op, x, y); + } while (--numReps > 0); + } } g2.translate(-ictx.orgX, -ictx.orgY); } @@ -778,9 +907,17 @@ BufferedImageOp op = ictx.bufImgOp; BufferedImage src = ictx.bufSrc; BufferedImage dst = ictx.bufDst; - do { - op.filter(src, dst); - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics gSrc = src.getGraphics(); + do { + gSrc.fillRect(0, 0, 1, 1); + op.filter(src, dst); + } while (--numReps > 0); + } else { + do { + op.filter(src, dst); + } while (--numReps > 0); + } } } @@ -814,9 +951,17 @@ RasterOp op = ictx.rasterOp; Raster src = ictx.rasSrc; WritableRaster dst = ictx.rasDst; - do { - op.filter(src, dst); - } while (--numReps > 0); + if (ictx.touchSrc) { + Graphics gSrc = ictx.bufSrc.getGraphics(); + do { + gSrc.fillRect(0, 0, 1, 1); + op.filter(src, dst); + } while (--numReps > 0); + } else { + do { + op.filter(src, dst); + } while (--numReps > 0); + } } } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/native/sun/font/freetypeScaler.c --- a/jdk/src/share/native/sun/font/freetypeScaler.c Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/native/sun/font/freetypeScaler.c Wed Jul 05 16:45:14 2017 +0200 @@ -1281,7 +1281,7 @@ sunFontIDs.rect2DFloatClass, sunFontIDs.rect2DFloatCtr4, F26Dot6ToFloat(bbox.xMin), - F26Dot6ToFloat(bbox.yMax), + F26Dot6ToFloat(-bbox.yMax), F26Dot6ToFloat(bbox.xMax-bbox.xMin), F26Dot6ToFloat(bbox.yMax-bbox.yMin)); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c --- a/jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c Wed Jul 05 16:45:14 2017 +0200 @@ -203,7 +203,24 @@ j2d_glBitmap(0, 0, 0, 0, (GLfloat)dx1, (GLfloat)-dy1, NULL); j2d_glPixelZoom(scalex, -scaley); - j2d_glDrawPixels(sx2-sx1, sy2-sy1, pf->format, pf->type, srcInfo->rasBase); + + // in case pixel stride is not a multiple of scanline stride the copy + // has to be done line by line (see 6207877) + if (srcInfo->scanStride % srcInfo->pixelStride != 0) { + jint width = sx2-sx1; + jint height = sy2-sy1; + GLvoid *pSrc = srcInfo->rasBase; + + while (height > 0) { + j2d_glDrawPixels(width, 1, pf->format, pf->type, pSrc); + j2d_glBitmap(0, 0, 0, 0, (GLfloat)0, (GLfloat)-1, NULL); + pSrc = PtrAddBytes(pSrc, srcInfo->scanStride); + height--; + } + } else { + j2d_glDrawPixels(sx2-sx1, sy2-sy1, pf->format, pf->type, srcInfo->rasBase); + } + j2d_glPixelZoom(1.0, 1.0); if (oglc->extraAlpha != 1.0f) { @@ -250,6 +267,7 @@ jint sx, sy, sw, sh; GLint glhint = (hint == OGLSD_XFORM_BILINEAR) ? GL_LINEAR : GL_NEAREST; jboolean adjustAlpha = (pf != NULL && !pf->hasAlpha); + jboolean slowPath; if (oglc->blitTextureID == 0) { if (!OGLContext_InitBlitTileTexture(oglc)) { @@ -279,6 +297,10 @@ j2d_glPixelTransferf(GL_ALPHA_BIAS, 1.0f); } + // in case pixel stride is not a multiple of scanline stride the copy + // has to be done line by line (see 6207877) + slowPath = srcInfo->scanStride % srcInfo->pixelStride != 0; + for (sy = sy1, dy = dy1; sy < sy2; sy += th, dy += cdh) { sh = ((sy + th) > sy2) ? (sy2 - sy) : th; dh = ((dy + cdh) > dy2) ? (dy2 - dy) : cdh; @@ -291,13 +313,29 @@ ty2 = ((GLdouble)sh) / th; if (swsurface) { - j2d_glPixelStorei(GL_UNPACK_SKIP_PIXELS, sx); - j2d_glPixelStorei(GL_UNPACK_SKIP_ROWS, sy); + if (slowPath) { + jint tmph = sh; + GLvoid *pSrc = PtrCoord(srcInfo->rasBase, + sx, srcInfo->pixelStride, + sy, srcInfo->scanStride); - j2d_glTexSubImage2D(GL_TEXTURE_2D, 0, - 0, 0, sw, sh, - pf->format, pf->type, - srcInfo->rasBase); + while (tmph > 0) { + j2d_glTexSubImage2D(GL_TEXTURE_2D, 0, + 0, sh - tmph, sw, 1, + pf->format, pf->type, + pSrc); + pSrc = PtrAddBytes(pSrc, srcInfo->scanStride); + tmph--; + } + } else { + j2d_glPixelStorei(GL_UNPACK_SKIP_PIXELS, sx); + j2d_glPixelStorei(GL_UNPACK_SKIP_ROWS, sy); + + j2d_glTexSubImage2D(GL_TEXTURE_2D, 0, + 0, 0, sw, sh, + pf->format, pf->type, + srcInfo->rasBase); + } // the texture image is "right side up", so we align the // upper-left texture corner with the upper-left quad corner @@ -356,9 +394,25 @@ jint dx1, jint dy1, jint dx2, jint dy2) { j2d_glBindTexture(dstOps->textureTarget, dstOps->textureID); - j2d_glTexSubImage2D(dstOps->textureTarget, 0, - dx1, dy1, dx2-dx1, dy2-dy1, - pf->format, pf->type, srcInfo->rasBase); + // in case pixel stride is not a multiple of scanline stride the copy + // has to be done line by line (see 6207877) + if (srcInfo->scanStride % srcInfo->pixelStride != 0) { + jint width = dx2 - dx1; + jint height = dy2 - dy1; + GLvoid *pSrc = srcInfo->rasBase; + + while (height > 0) { + j2d_glTexSubImage2D(dstOps->textureTarget, 0, + dx1, dy2 - height, width, 1, + pf->format, pf->type, pSrc); + pSrc = PtrAddBytes(pSrc, srcInfo->scanStride); + height--; + } + } else { + j2d_glTexSubImage2D(dstOps->textureTarget, 0, + dx1, dy1, dx2-dx1, dy2-dy1, + pf->format, pf->type, srcInfo->rasBase); + } } /** diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c --- a/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c Wed Jul 05 16:45:14 2017 +0200 @@ -73,7 +73,8 @@ 1, 0, 1, }, /* 9 - ByteGray */ { GL_LUMINANCE, GL_UNSIGNED_SHORT, 2, 0, 1, }, /*10 - UshortGray */ -}; + { GL_BGR, GL_UNSIGNED_BYTE, + 1, 0, 1, }, /*11 - ThreeByteBgr */}; /** * Given a starting value and a maximum limit, returns the first power-of-two diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java --- a/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java Wed Jul 05 16:45:14 2017 +0200 @@ -209,7 +209,7 @@ private static native int checkShmExt(); private static native String getDisplayString(); - private static Boolean isDisplayLocal; + private Boolean isDisplayLocal; /** * This should only be called from the static initializer, so no need for @@ -234,7 +234,8 @@ return getScreenDevices()[getDefaultScreenNum()]; } - public static boolean isDisplayLocal() { + @Override + public boolean isDisplayLocal() { if (isDisplayLocal == null) { SunToolkit.awtLock(); try { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java --- a/jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java Wed Jul 05 16:45:14 2017 +0200 @@ -120,12 +120,14 @@ new GLXGetConfigInfo(device.getScreen(), visualnum); rq.flushAndInvokeNow(action); cfginfo = action.getConfigInfo(); - OGLContext.setScratchSurface(cfginfo); - rq.flushAndInvokeNow(new Runnable() { - public void run() { - ids[0] = OGLContext.getOGLIdString(); - } - }); + if (cfginfo != 0L) { + OGLContext.setScratchSurface(cfginfo); + rq.flushAndInvokeNow(new Runnable() { + public void run() { + ids[0] = OGLContext.getOGLIdString(); + } + }); + } } finally { rq.unlock(); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java --- a/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java Wed Jul 05 16:45:14 2017 +0200 @@ -50,6 +50,7 @@ import sun.font.X11TextRenderer; import sun.java2d.InvalidPipeException; import sun.java2d.SunGraphics2D; +import sun.java2d.SunGraphicsEnvironment; import sun.java2d.SurfaceData; import sun.java2d.SurfaceDataProxy; import sun.java2d.loops.SurfaceType; @@ -240,6 +241,11 @@ */ public static native boolean isDgaAvailable(); + /** + * Returns true if shared memory pixmaps are available + */ + private static native boolean isShmPMAvailable(); + public static boolean isAccelerationEnabled() { if (accelerationEnabled == null) { @@ -253,8 +259,17 @@ // true iff prop==true, false otherwise accelerationEnabled = Boolean.valueOf(prop); } else { - // use pixmaps if there is no dga, no matter local or remote - accelerationEnabled = Boolean.valueOf(!isDgaAvailable()); + boolean isDisplayLocal = false; + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + if (ge instanceof SunGraphicsEnvironment) { + isDisplayLocal = ((SunGraphicsEnvironment) ge).isDisplayLocal(); + } + + // EXA based drivers tend to place pixmaps in VRAM, slowing down readbacks. + // Don't use pixmaps if dga is available, + // or we are local and shared memory Pixmaps are not available. + accelerationEnabled = + !(isDgaAvailable() || (isDisplayLocal && !isShmPMAvailable())); } } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/solaris/classes/sun/print/CUPSPrinter.java --- a/jdk/src/solaris/classes/sun/print/CUPSPrinter.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/solaris/classes/sun/print/CUPSPrinter.java Wed Jul 05 16:45:14 2017 +0200 @@ -46,9 +46,9 @@ public class CUPSPrinter { - + private static final String debugPrefix = "CUPSPrinter>> "; private static final double PRINTER_DPI = 72.0; - private static boolean initialized; + private boolean initialized; private static native String getCupsServer(); private static native int getCupsPort(); private static native boolean canConnect(String server, int port); @@ -156,7 +156,7 @@ /** * Initialize media by translating PPD info to PrintService attributes. */ - private void initMedia() { + private synchronized void initMedia() { if (initialized) { return; } else { @@ -392,9 +392,9 @@ * Detects if CUPS is running. */ public static boolean isCupsRunning() { - IPPPrintService.debug_println("libFound "+libFound); + IPPPrintService.debug_println(debugPrefix+"libFound "+libFound); if (libFound) { - IPPPrintService.debug_println("CUPS server "+getServer()+ + IPPPrintService.debug_println(debugPrefix+"CUPS server "+getServer()+ " port "+getPort()); return canConnect(getServer(), getPort()); } else { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/solaris/classes/sun/print/IPPPrintService.java --- a/jdk/src/solaris/classes/sun/print/IPPPrintService.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/solaris/classes/sun/print/IPPPrintService.java Wed Jul 05 16:45:14 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -57,18 +57,28 @@ import java.nio.charset.Charset; import java.util.Iterator; +import java.util.HashSet; public class IPPPrintService implements PrintService, SunPrinterJobService { - public static boolean debugPrint = false; - private static String debugPrefix = "IPPPrintService>> "; + public static final boolean debugPrint; + private static final String debugPrefix = "IPPPrintService>> "; protected static void debug_println(String str) { if (debugPrint) { System.out.println(str); } } + private static final String FORCE_PIPE_PROP = "sun.print.ippdebug"; + + static { + String debugStr = + (String)java.security.AccessController.doPrivileged( + new sun.security.action.GetPropertyAction(FORCE_PIPE_PROP)); + + debugPrint = "true".equalsIgnoreCase(debugStr); + } private String printer; private URI myURI; @@ -382,7 +392,7 @@ if ((urlConnection = getIPPConnection(myURL)) == null) { mediaSizeNames = new MediaSizeName[0]; mediaTrays = new MediaTray[0]; - debug_println("NULL urlConnection "); + debug_println(debugPrefix+"initAttributes, NULL urlConnection "); init = true; return; } @@ -407,7 +417,7 @@ return; } catch (Exception e) { IPPPrintService.debug_println(debugPrefix+ - " error creating CUPSPrinter e="+e); + "initAttributes, error creating CUPSPrinter e="+e); } } @@ -486,28 +496,26 @@ /* Test if the flavor is compatible with the category */ if ((category == Copies.class) || (category == CopiesSupported.class)) { - CopiesSupported cs = new CopiesSupported(1, MAXCOPIES); - AttributeClass attribClass = (getAttMap != null) ? - (AttributeClass)getAttMap.get(cs.getName()) : null; - if (attribClass != null) { - int[] range = attribClass.getIntRangeValue(); - cs = new CopiesSupported(range[0], range[1]); + if (flavor == null || + !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) || + flavor.equals(DocFlavor.URL.POSTSCRIPT) || + flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) { + CopiesSupported cs = new CopiesSupported(1, MAXCOPIES); + AttributeClass attribClass = (getAttMap != null) ? + (AttributeClass)getAttMap.get(cs.getName()) : null; + if (attribClass != null) { + int[] range = attribClass.getIntRangeValue(); + cs = new CopiesSupported(range[0], range[1]); + } + return cs; + } else { + return null; } - return cs; } else if (category == Chromaticity.class) { if (flavor == null || flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) || flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) || - flavor.equals(DocFlavor.BYTE_ARRAY.GIF) || - flavor.equals(DocFlavor.INPUT_STREAM.GIF) || - flavor.equals(DocFlavor.URL.GIF) || - flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) || - flavor.equals(DocFlavor.INPUT_STREAM.JPEG) || - flavor.equals(DocFlavor.URL.JPEG) || - flavor.equals(DocFlavor.BYTE_ARRAY.PNG) || - flavor.equals(DocFlavor.INPUT_STREAM.PNG) || - flavor.equals(DocFlavor.URL.PNG)) { - + !isIPPSupportedImages(flavor.getMimeType())) { Chromaticity[]arr = new Chromaticity[1]; arr[0] = Chromaticity.COLOR; return (arr); @@ -822,7 +830,7 @@ boolean psSupported = false; String[] docFlavors = attribClass.getArrayOfStringValues(); DocFlavor[] flavors; - ArrayList docList = new ArrayList(); + HashSet docList = new HashSet(); int j; String hostEnc = DocFlavor.hostEncoding. toLowerCase(Locale.ENGLISH); @@ -839,18 +847,6 @@ docList.addAll(Arrays.asList(flavors)); - if (isCupsPrinter) { - /* - Always add Pageable and Printable for CUPS - since it uses Filters to convert from Postscript - to device printer language. - */ - docList.add( - DocFlavor.SERVICE_FORMATTED.PAGEABLE); - docList.add( - DocFlavor.SERVICE_FORMATTED.PRINTABLE); - } - if (mimeType.equals("text/plain") && addHostEncoding) { docList.add(Arrays.asList(textPlainHost)); @@ -880,16 +876,19 @@ } // check if we need to add image DocFlavors + // and Pageable/Printable flavors if (psSupported || isCupsPrinter) { - if (!jpgImagesAdded) { - docList.addAll(Arrays.asList(imageJPG)); - } - if (!pngImagesAdded) { - docList.addAll(Arrays.asList(imagePNG)); - } - if (!gifImagesAdded) { - docList.addAll(Arrays.asList(imageGIF)); - } + /* + Always add Pageable and Printable for CUPS + since it uses Filters to convert from Postscript + to device printer language. + */ + docList.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE); + docList.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE); + + docList.addAll(Arrays.asList(imageJPG)); + docList.addAll(Arrays.asList(imagePNG)); + docList.addAll(Arrays.asList(imageGIF)); } supportedDocFlavors = new DocFlavor[docList.size()]; docList.toArray(supportedDocFlavors); @@ -922,6 +921,9 @@ * Finds matching CustomMediaSizeName of given media. */ public CustomMediaSizeName findCustomMedia(MediaSizeName media) { + if (customMediaSizeNames == null) { + return null; + } for (int i=0; i< customMediaSizeNames.length; i++) { CustomMediaSizeName custom = (CustomMediaSizeName)customMediaSizeNames[i]; @@ -1203,7 +1205,7 @@ return true; } for (int i=0; i= GRPTAG_OP_ATTRIBUTES) && (response[0] <= GRPTAG_PRINTER_ATTRIBUTES) && (response[0] != GRPTAG_END_ATTRIBUTES)) { - debug_println(debugPrefix+"checking group tag, response[0]= "+ + debug_println(debugPrefix+"readIPPResponse, checking group tag, response[0]= "+ response[0]); outObj = new ByteArrayOutputStream(); @@ -1786,6 +1786,7 @@ outArray); responseMap.put(ac.getName(), ac); + debug_println(debugPrefix+ "readIPPResponse "+ac); } outObj = new ByteArrayOutputStream(); @@ -1858,6 +1859,9 @@ } catch (java.io.IOException e) { debug_println(debugPrefix+"readIPPResponse: "+e); + if (debugPrint) { + e.printStackTrace(); + } return null; } } @@ -1872,4 +1876,8 @@ (obj instanceof IPPPrintService && ((IPPPrintService)obj).getName().equals(getName()))); } + + public int hashCode() { + return this.getClass().hashCode()+getName().hashCode(); + } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/solaris/classes/sun/print/UnixPrintService.java --- a/jdk/src/solaris/classes/sun/print/UnixPrintService.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/solaris/classes/sun/print/UnixPrintService.java Wed Jul 05 16:45:14 2017 +0200 @@ -686,19 +686,7 @@ } if (category == Chromaticity.class) { - if (flavor == null || - flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) || - flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) || - flavor.equals(DocFlavor.BYTE_ARRAY.GIF) || - flavor.equals(DocFlavor.INPUT_STREAM.GIF) || - flavor.equals(DocFlavor.URL.GIF) || - flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) || - flavor.equals(DocFlavor.INPUT_STREAM.JPEG) || - flavor.equals(DocFlavor.URL.JPEG) || - flavor.equals(DocFlavor.BYTE_ARRAY.PNG) || - flavor.equals(DocFlavor.INPUT_STREAM.PNG) || - flavor.equals(DocFlavor.URL.PNG)) { - + if (flavor == null || isServiceFormattedFlavor(flavor)) { Chromaticity[]arr = new Chromaticity[1]; arr[0] = Chromaticity.COLOR; return (arr); @@ -730,18 +718,7 @@ } return new RequestingUserName(userName, null); } else if (category == OrientationRequested.class) { - if (flavor == null || - flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) || - flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) || - flavor.equals(DocFlavor.INPUT_STREAM.GIF) || - flavor.equals(DocFlavor.INPUT_STREAM.JPEG) || - flavor.equals(DocFlavor.INPUT_STREAM.PNG) || - flavor.equals(DocFlavor.BYTE_ARRAY.GIF) || - flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) || - flavor.equals(DocFlavor.BYTE_ARRAY.PNG) || - flavor.equals(DocFlavor.URL.GIF) || - flavor.equals(DocFlavor.URL.JPEG) || - flavor.equals(DocFlavor.URL.PNG)) { + if (flavor == null || isServiceFormattedFlavor(flavor)) { OrientationRequested []arr = new OrientationRequested[3]; arr[0] = OrientationRequested.PORTRAIT; arr[1] = OrientationRequested.LANDSCAPE; @@ -752,7 +729,14 @@ } } else if ((category == Copies.class) || (category == CopiesSupported.class)) { - return new CopiesSupported(1, MAXCOPIES); + if (flavor == null || + !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) || + flavor.equals(DocFlavor.URL.POSTSCRIPT) || + flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) { + return new CopiesSupported(1, MAXCOPIES); + } else { + return null; + } } else if (category == Media.class) { Media []arr = new Media[mediaSizes.length]; System.arraycopy(mediaSizes, 0, arr, 0, mediaSizes.length); @@ -917,8 +901,10 @@ } } else if (attr.getCategory() == Copies.class) { - return - (flavor == null || isServiceFormattedFlavor(flavor)) && + return (flavor == null || + !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) || + flavor.equals(DocFlavor.URL.POSTSCRIPT) || + flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) && isSupportedCopies((Copies)attr); } else if (attr.getCategory() == Destination.class) { URI uri = ((Destination)attr).getURI(); diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/solaris/native/sun/awt/fontpath.c --- a/jdk/src/solaris/native/sun/awt/fontpath.c Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/solaris/native/sun/awt/fontpath.c Wed Jul 05 16:45:14 2017 +0200 @@ -156,7 +156,7 @@ isLocal = JNU_CallStaticMethodByName(env, NULL, "sun/awt/X11GraphicsEnvironment", - "isDisplayLocal", + "_isDisplayLocal", "()Z").z; isLocalSet = True; return isLocal; @@ -1233,7 +1233,7 @@ for (j=0; jfonts[j]; FcChar8 *fontformat; - FcCharSet *unionCharset, *charset; + FcCharSet *unionCharset = NULL, *charset; fontformat = NULL; (*FcPatternGetString)(fontPattern, FC_FONTFORMAT, 0, &fontformat); @@ -1256,7 +1256,7 @@ if (nfonts==10) { minGlyphs = 50; } - if (j == 0) { + if (unionCharset == NULL) { unionCharset = charset; } else { if ((*FcCharSetSubtractCount)(charset, unionCharset) diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c --- a/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c Wed Jul 05 16:45:14 2017 +0200 @@ -208,6 +208,23 @@ #endif /* HEADLESS */ } + +/* + * Class: sun_java2d_x11_X11SurfaceData + * Method: isShmPMAvailable + * Signature: ()Z + */ +JNIEXPORT jboolean JNICALL +Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable(JNIEnv *env, jobject this) +{ +#if defined(HEADLESS) || !defined(MITSHM) + return JNI_FALSE; +#else + return useMitShmPixmaps; +#endif /* HEADLESS, MITSHM */ +} + + /* * Class: sun_java2d_x11_X11SurfaceData * Method: initOps diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java --- a/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Wed Jul 05 16:45:14 2017 +0200 @@ -393,4 +393,9 @@ private static void dwmCompositionChanged(boolean enabled) { isDWMCompositionEnabled = enabled; } + + @Override + public boolean isDisplayLocal() { + return true; + } } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java --- a/jdk/src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java Wed Jul 05 16:45:14 2017 +0200 @@ -85,6 +85,8 @@ D3DSurfaceData.ST_INT_RGB), new D3DSwToSurfaceBlit(SurfaceType.IntBgr, D3DSurfaceData.ST_INT_BGR), + new D3DSwToSurfaceBlit(SurfaceType.ThreeByteBgr, + D3DSurfaceData.ST_3BYTE_BGR), new D3DSwToSurfaceBlit(SurfaceType.Ushort565Rgb, D3DSurfaceData.ST_USHORT_565_RGB), new D3DSwToSurfaceBlit(SurfaceType.Ushort555Rgb, @@ -106,6 +108,8 @@ D3DSurfaceData.ST_INT_RGB), new D3DSwToSurfaceScale(SurfaceType.IntBgr, D3DSurfaceData.ST_INT_BGR), + new D3DSwToSurfaceScale(SurfaceType.ThreeByteBgr, + D3DSurfaceData.ST_3BYTE_BGR), new D3DSwToSurfaceScale(SurfaceType.Ushort565Rgb, D3DSurfaceData.ST_USHORT_565_RGB), new D3DSwToSurfaceScale(SurfaceType.Ushort555Rgb, @@ -124,6 +128,8 @@ D3DSurfaceData.ST_INT_RGB), new D3DSwToSurfaceTransform(SurfaceType.IntBgr, D3DSurfaceData.ST_INT_BGR), + new D3DSwToSurfaceTransform(SurfaceType.ThreeByteBgr, + D3DSurfaceData.ST_3BYTE_BGR), new D3DSwToSurfaceTransform(SurfaceType.Ushort565Rgb, D3DSurfaceData.ST_USHORT_565_RGB), new D3DSwToSurfaceTransform(SurfaceType.Ushort555Rgb, @@ -147,6 +153,8 @@ D3DSurfaceData.ST_INT_ARGB), new D3DSwToTextureBlit(SurfaceType.IntBgr, D3DSurfaceData.ST_INT_BGR), + new D3DSwToTextureBlit(SurfaceType.ThreeByteBgr, + D3DSurfaceData.ST_3BYTE_BGR), new D3DSwToTextureBlit(SurfaceType.Ushort565Rgb, D3DSurfaceData.ST_USHORT_565_RGB), new D3DSwToTextureBlit(SurfaceType.Ushort555Rgb, diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java --- a/jdk/src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java Wed Jul 05 16:45:14 2017 +0200 @@ -135,6 +135,7 @@ public static final int ST_USHORT_555_RGB = 6; public static final int ST_BYTE_INDEXED = 7; public static final int ST_BYTE_INDEXED_BM = 8; + public static final int ST_3BYTE_BGR = 9; /** Equals to D3DSWAPEFFECT_DISCARD */ public static final int SWAP_DISCARD = 1; @@ -501,12 +502,14 @@ * - the pixel shaders are available, and * - blending is disabled, and * - the source color is opaque + * - and the destination is opaque */ public boolean canRenderLCDText(SunGraphics2D sg2d) { return graphicsDevice.isCapPresent(CAPS_LCD_SHADER) && sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY && - sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR; + sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR && + sg2d.surfaceData.getTransparency() == Transparency.OPAQUE; } public void validatePipe(SunGraphics2D sg2d) { diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java --- a/jdk/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java Wed Jul 05 16:45:14 2017 +0200 @@ -127,12 +127,14 @@ new WGLGetConfigInfo(device.getScreen(), pixfmt); rq.flushAndInvokeNow(action); cfginfo = action.getConfigInfo(); - OGLContext.setScratchSurface(cfginfo); - rq.flushAndInvokeNow(new Runnable() { - public void run() { - ids[0] = OGLContext.getOGLIdString(); - } - }); + if (cfginfo != 0L) { + OGLContext.setScratchSurface(cfginfo); + rq.flushAndInvokeNow(new Runnable() { + public void run() { + ids[0] = OGLContext.getOGLIdString(); + } + }); + } } finally { rq.unlock(); } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/native/sun/font/fontpath.c --- a/jdk/src/windows/native/sun/font/fontpath.c Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/native/sun/font/fontpath.c Wed Jul 05 16:45:14 2017 +0200 @@ -153,7 +153,8 @@ JNIEnv *env = fmi->env; jstring fullname, fullnameLC; - if (FontType != TRUETYPE_FONTTYPE) { + /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */ + if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) { return 1; } @@ -227,7 +228,8 @@ JNIEnv *env = fmi->env; jstring fullname, fullnameLC; - if (FontType != TRUETYPE_FONTTYPE) { + /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */ + if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) { return 1; } @@ -274,7 +276,8 @@ jstring familyLC; LOGFONTA lfa; - if (FontType != TRUETYPE_FONTTYPE) { + /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */ + if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) { return 1; } @@ -323,7 +326,8 @@ int slen; LOGFONTW lfw; - if (FontType != TRUETYPE_FONTTYPE) { + /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */ + if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) { return 1; } /* wprintf(L"FAMILY=%s charset=%d FULL=%s\n", */ @@ -383,15 +387,16 @@ * Also if a Font has a name for this locale that name also * exists in the registry using the appropriate platform encoding. * What do we do then? + * + * Note: OpenType fonts seems to have " (TrueType)" suffix on Vista + * but " (OpenType)" on XP. */ -/* static const wchar_t W_TTSUFFIX[] = L" (TrueType)"; */ -/* static const char C_TTSUFFIX[] = " (TrueType)"; */ -/* static int TTSLEN = 11; hard-coded - be careful */ -static BOOL RegistryToBaseTTNameA(LPCSTR name) { +static BOOL RegistryToBaseTTNameA(LPSTR name) { static const char TTSUFFIX[] = " (TrueType)"; + static const char OTSUFFIX[] = " (OpenType)"; int TTSLEN = strlen(TTSUFFIX); - char *match; + char *suffix; int len = strlen(name); if (len == 0) { @@ -403,19 +408,21 @@ if (len <= TTSLEN) { return FALSE; } - match = strstr(name, TTSUFFIX); - if ((match != NULL) && (match == name+(len-TTSLEN))) { - match[0] = '\0'; /* truncate name */ + + /* suffix length is the same for truetype and opentype fonts */ + suffix = name + len - TTSLEN; + if (strcmp(suffix, TTSUFFIX) == 0 || strcmp(suffix, OTSUFFIX) == 0) { + suffix[0] = '\0'; /* truncate name */ return TRUE; - } else { - return FALSE; } + return FALSE; } static BOOL RegistryToBaseTTNameW(LPWSTR name) { static const wchar_t TTSUFFIX[] = L" (TrueType)"; + static const wchar_t OTSUFFIX[] = L" (OpenType)"; int TTSLEN = wcslen(TTSUFFIX); - wchar_t *match; + wchar_t *suffix; int len = wcslen(name); if (len == 0) { @@ -427,13 +434,13 @@ if (len <= TTSLEN) { return FALSE; } - match = wcsstr(name, TTSUFFIX); - if ((match != NULL) && (match == name+(len-TTSLEN))) { - match[0] = L'\0'; /* truncate name */ + /* suffix length is the same for truetype and opentype fonts */ + suffix = name + (len - TTSLEN); + if (wcscmp(suffix, TTSUFFIX) == 0 || wcscmp(suffix, OTSUFFIX) == 0) { + suffix[0] = L'\0'; /* truncate name */ return TRUE; - } else { - return FALSE; } + return FALSE; } static void registerFontA(GdiFontMapInfo *fmi, jobject fontToFileMap, @@ -675,18 +682,19 @@ } if (IS_NT) { if (!RegistryToBaseTTNameW((LPWSTR)wname) ) { - /* If the filename ends with ".ttf" also accept it. + /* If the filename ends with ".ttf" or ".otf" also accept it. * Not expecting to need to do this for .ttc files. * Also note this code is not mirrored in the "A" (win9x) path. */ LPWSTR dot = wcsrchr((LPWSTR)data, L'.'); - if (dot == NULL || (wcsicmp(dot, L".ttf") != 0)) { + if (dot == NULL || ((wcsicmp(dot, L".ttf") != 0) + && (wcsicmp(dot, L".otf") != 0))) { continue; /* not a TT font... */ } } registerFontW(&fmi, fontToFileMap, (LPWSTR)wname, (LPWSTR)data); } else { - if (!RegistryToBaseTTNameA(cname) ) { + if (!RegistryToBaseTTNameA((LPSTR)cname)) { continue; /* not a TT font... */ } registerFontA(&fmi, fontToFileMap, cname, (LPCSTR)data); diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h --- a/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h Wed Jul 05 16:45:14 2017 +0200 @@ -85,6 +85,19 @@ { 0x1002, 0x71C5, D_VERSION(6,14,10,6706), OS_WINXP }, { 0x1002, 0x71C5, D_VERSION(7,14,10,0567), OS_VISTA }, + // ATI Mobility Radeon 9700 + // Reason: workaround for 6773336 + { 0x1002, 0x4E50, D_VERSION(6,14,10,6561), OS_WINXP }, + + // Nvidia FX 5200 + // Reason: workaround for 6717988 + { 0x10DE, 0x0322, D_VERSION(6,14,11,6921), OS_WINXP }, + + // Nvidia FX Go5600, Go5700 + // Reason: workaround for 6714579 + { 0x10DE, 0x031A, D_VERSION(6,14,11,6921), OS_WINXP }, + { 0x10DE, 0x0347, D_VERSION(6,14,11,6921), OS_WINXP }, + // Nvidia Quadro NVS 110M // Reason: workaround for 6629891 { 0x10DE, 0x01D7, D_VERSION(6,14,11,5665), OS_WINXP }, @@ -93,6 +106,32 @@ // Reason: workaround for 6653860 { 0x10DE, 0x00FD, D_VERSION(6,14,10,6573), OS_WINXP }, + // Nvidia Quadro FX family + // Reason: workaround for 6772137 + { 0x10DE, 0x00F8, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x009D, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x029C, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x029D, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x029E, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x029F, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x01DE, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x039E, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x019D, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x019E, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x040A, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x040E, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x040F, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x061A, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x06F9, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x05FD, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x05FE, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x004E, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x00CD, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x00CE, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x014C, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x014D, D_VERSION(6,14,10,9381), OS_WINXP }, + { 0x10DE, 0x014E, D_VERSION(6,14,10,9381), OS_WINXP }, + // Nvidia GeForce 6200 TurboCache(TM) // Reason: workaround for 6588384 { 0x10DE, 0x0161, NO_VERSION, OS_VISTA }, diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/native/sun/java2d/d3d/D3DBlitLoops.cpp --- a/jdk/src/windows/native/sun/java2d/d3d/D3DBlitLoops.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/native/sun/java2d/d3d/D3DBlitLoops.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -47,6 +47,7 @@ extern "C" BlitFunc IntArgbPreToIntArgbConvert; extern "C" BlitFunc IntArgbBmToIntArgbConvert; extern "C" BlitFunc IntRgbToIntArgbConvert; +extern "C" BlitFunc ThreeByteBgrToIntArgbConvert; extern "C" BlitFunc Ushort565RgbToIntArgbConvert; extern "C" BlitFunc Ushort555RgbToIntArgbConvert; extern "C" BlitFunc IntBgrToIntArgbConvert; @@ -220,12 +221,17 @@ " srctype=%d rect={%-4d, %-4d, %-4d, %-4d}", srctype, r.left, r.top, r.right, r.bottom); - if (pDesc->Usage == D3DUSAGE_DYNAMIC && - dstx == 0 && dstx == 0 && - srcWidth == pDesc->Width && srcHeight == pDesc->Height) - { + if (pDesc->Usage == D3DUSAGE_DYNAMIC) { + // it is safe to lock with discard because we don't care about the + // contents of dynamic textures, and some drivers are happier if + // dynamic textures are always locked with DISCARD dwLockFlags |= D3DLOCK_DISCARD; pR = NULL; + } else { + // in non-DYNAMIC case we lock the exact rect so there's no need to + // offset the destination pointer + dstx = 0; + dsty = 0; } res = pDstSurface->LockRect(&lockedRect, pR, dwLockFlags); @@ -242,7 +248,9 @@ void *pSrcBase = PtrCoord(pSrcInfo->rasBase, srcx, pSrcInfo->pixelStride, srcy, pSrcInfo->scanStride); - void *pDstBase = lockedRect.pBits; + void *pDstBase = PtrCoord(lockedRect.pBits, + dstx, dstInfo.pixelStride, + dsty, dstInfo.scanStride); switch (srctype) { case ST_INT_ARGB: @@ -251,11 +259,15 @@ pSrcInfo, &dstInfo, NULL, NULL); break; case ST_INT_ARGB_PRE: - case ST_INT_RGB: AnyIntIsomorphicCopy(pSrcBase, pDstBase, srcWidth, srcHeight, pSrcInfo, &dstInfo, NULL, NULL); break; + case ST_INT_RGB: + IntRgbToIntArgbConvert(pSrcBase, pDstBase, + srcWidth, srcHeight, + pSrcInfo, &dstInfo, NULL, NULL); + break; case ST_INT_ARGB_BM: // REMIND: we don't have such sw loop // so this path is disabled for now on java level @@ -268,6 +280,11 @@ srcWidth, srcHeight, pSrcInfo, &dstInfo, NULL, NULL); break; + case ST_3BYTE_BGR: + ThreeByteBgrToIntArgbConvert(pSrcBase, pDstBase, + srcWidth, srcHeight, + pSrcInfo, &dstInfo, NULL, NULL); + break; case ST_USHORT_555_RGB: Ushort555RgbToIntArgbConvert(pSrcBase, pDstBase, srcWidth, srcHeight, diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/native/sun/java2d/d3d/D3DContext.cpp --- a/jdk/src/windows/native/sun/java2d/d3d/D3DContext.cpp Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/native/sun/java2d/d3d/D3DContext.cpp Wed Jul 05 16:45:14 2017 +0200 @@ -1174,11 +1174,10 @@ " rect={%-4d, %-4d, %-4d, %-4d}", r.left, r.top, r.right, r.bottom); - // REMIND: we should also check for dstx, dsty being 0 here, - // but they're always 0 in dynamic texture case - if (pDesc->Usage == D3DUSAGE_DYNAMIC && - srcWidth == pDesc->Width && srcHeight == pDesc->Height) - { + if (pDesc->Usage == D3DUSAGE_DYNAMIC) { + // it is safe to lock with discard because we don't care about the + // contents of dynamic textures and dstx,dsty for this case is + // always 0,0 because we are uploading into a tile texture dwLockFlags |= D3DLOCK_DISCARD; pR = NULL; } diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h --- a/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h Wed Jul 05 16:45:14 2017 +0200 @@ -68,6 +68,7 @@ #define ST_USHORT_555_RGB sun_java2d_d3d_D3DSurfaceData_ST_USHORT_555_RGB #define ST_BYTE_INDEXED sun_java2d_d3d_D3DSurfaceData_ST_BYTE_INDEXED #define ST_BYTE_INDEXED_BM sun_java2d_d3d_D3DSurfaceData_ST_BYTE_INDEXED_BM +#define ST_3BYTE_BGR sun_java2d_d3d_D3DSurfaceData_ST_3BYTE_BGR /** * These are defined to be the same as ExtendedBufferCapabilities.VSyncType diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/java/awt/FullScreen/UninitializedDisplayModeChangeTest/DisplayModeChanger.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/awt/FullScreen/UninitializedDisplayModeChangeTest/DisplayModeChanger.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,93 @@ +/* + * Copyright 2006-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +import java.awt.DisplayMode; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.lang.reflect.InvocationTargetException; + +/** + * Used by the UninitializedDisplayModeChangeTest to change the + * display mode. + */ +public class DisplayModeChanger { + + public static void main(String[] args) + throws InterruptedException, InvocationTargetException + { + final GraphicsDevice gd = + GraphicsEnvironment.getLocalGraphicsEnvironment(). + getDefaultScreenDevice(); + + EventQueue.invokeAndWait(new Runnable() { + public void run() { + Frame f = null; + if (gd.isFullScreenSupported()) { + try { + f = new Frame("DisplayChanger Frame"); + gd.setFullScreenWindow(f); + if (gd.isDisplayChangeSupported()) { + DisplayMode dm = findDisplayMode(gd); + if (gd != null) { + gd.setDisplayMode(dm); + } + } + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + gd.setFullScreenWindow(null); + } finally { + if (f != null) { + f.dispose(); + } + } + } + } + }); + } + + /** + * Finds a display mode that is different from the current display + * mode and is likely to cause a display change event. + */ + private static DisplayMode findDisplayMode(GraphicsDevice gd) { + DisplayMode dms[] = gd.getDisplayModes(); + DisplayMode currentDM = gd.getDisplayMode(); + for (DisplayMode dm : dms) { + if (!dm.equals(currentDM) && + dm.getRefreshRate() == currentDM.getRefreshRate()) + { + // different from the current dm and refresh rate is the same + // means that something else is different => more likely to + // cause a DM change event + return dm; + } + } + return null; + } + +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/java/awt/font/TextLayout/DecorationBoundsTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/awt/font/TextLayout/DecorationBoundsTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,98 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @summary verify bounds enclose rendering of decorations. + * @bug 6751621 + */ + +import java.awt.*; +import java.awt.font.*; +import java.awt.geom.*; +import java.awt.image.*; +import java.util.*; + +public class DecorationBoundsTest { + + public static void main(String[] args) { + BufferedImage bi = + new BufferedImage(600, 300, BufferedImage.TYPE_INT_RGB); + Graphics2D g2d = bi.createGraphics(); + g2d.setColor(Color.white); + g2d.fillRect(0, 0, 600, 300); + + float x = 10; + float y = 90; + Map map = new HashMap(); + map.put(TextAttribute.STRIKETHROUGH, + TextAttribute.STRIKETHROUGH_ON); + map.put(TextAttribute.SIZE, new Float(80)); + + FontRenderContext frc = g2d.getFontRenderContext(); + + String text = "Welcome to "; + TextLayout tl = new TextLayout(text, map, frc); + g2d.translate(x, y); + g2d.setColor(Color.RED); + tl.draw(g2d, 0, 0); + g2d.setColor(Color.GREEN); + Rectangle2D bds = tl.getBounds(); + /* Since due to pixelisation the glyphs may touch above + * or below the theoretical outline bounds, pad in the + * y direction to avoid spurious failures. + */ + bds.setRect(bds.getX(), bds.getY()-1, + bds.getWidth(), bds.getHeight()+2); + g2d.fill(bds); + + map = new HashMap(); + map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); + map.put(TextAttribute.SIZE, new Float(80)); + tl = new TextLayout(text, map, frc); + g2d.translate(0, 100); + g2d.setColor(Color.RED); + tl.draw(g2d, 0, 0); + + g2d.setColor(Color.GREEN); + bds = tl.getBounds(); + bds.setRect(bds.getX(), bds.getY()-1, + bds.getWidth(), bds.getHeight()+2); + g2d.fill(bds); + + checkBI(bi, Color.RED); + } + + static void checkBI(BufferedImage bi, Color badColor) { + int badrgb = badColor.getRGB(); + int w = bi.getWidth(null); + int h = bi.getHeight(null); + for (int x=0; x ONE_EXCEPTION = new HashSet(); + final static Set TWO_EXCEPTION = new HashSet(); + static { + ONE_EXCEPTION.add(EXCEPTION_NAME); + TWO_EXCEPTION.add(EXCEPTION_NAME); + TWO_EXCEPTION.add(ILLEGAL_ARGUMENT_EXCEPTION_NAME); + } + public interface TestMBean { + + public void doIt(); + + public void doIt(String str) throws Exception; + + public void doIt(String str, boolean b) throws Exception, + IllegalArgumentException; + + public String getThat(); + + public void setThat(String that); + + public String getThe() throws Exception; + + public void setThe(String the); + + public String getThese(); + + public void setThese(String the) throws Exception; + + public String getIt() throws Exception; + + public void setIt(String str) throws Exception; + + public String getThis() throws Exception, IllegalArgumentException; + + public void setThose(String str) throws Exception, + IllegalArgumentException; + } + + public static class Test implements TestMBean { + + public Test() { + } + + public Test(int i) throws Exception { + } + + public Test(int i, int j) throws Exception, IllegalArgumentException { + } + + public void doIt() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void doIt(String str) throws Exception { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void doIt(String str, boolean b) throws Exception, IllegalArgumentException { + throw new UnsupportedOperationException("Not supported yet."); + } + + public String getThat() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setThat(String that) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public String getThe() throws Exception { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setThe(String the) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public String getThese() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setThese(String the) throws Exception { + throw new UnsupportedOperationException("Not supported yet."); + } + + public String getIt() throws Exception { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setIt(String str) throws Exception { + throw new UnsupportedOperationException("Not supported yet."); + } + + public String getThis() throws Exception, IllegalArgumentException { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setThose(String str) throws Exception, IllegalArgumentException { + throw new UnsupportedOperationException("Not supported yet."); + } + } + + private static void check(Descriptor d, + Set exceptionsExpectedValue, + boolean exceptionsExpected, + Set setExceptionsExpectedValue, + boolean setExceptionsExpected) throws Exception { + String[] exceptionsValues = (String[]) d.getFieldValue(JMX.EXCEPTIONS_FIELD); + String[] setExceptionsValues = (String[]) d.getFieldValue(JMX.SET_EXCEPTIONS_FIELD); + + if (exceptionsExpected && exceptionsValues == null) { + throw new Exception("exceptions is expected but null value"); + } + if (!exceptionsExpected && exceptionsValues != null) { + throw new Exception("exceptions is not expected but non null value"); + } + if (setExceptionsExpected && setExceptionsValues == null) { + throw new Exception("setExceptions is expected but null value"); + } + if (!setExceptionsExpected && setExceptionsValues != null) { + throw new Exception("setExceptions is not expected but non null value"); + } + + if (exceptionsExpected) { + checkValues(exceptionsExpectedValue, exceptionsValues); + } + if (setExceptionsExpected) { + checkValues(setExceptionsExpectedValue, setExceptionsValues); + } + } + + private static void checkValues(Set expectedValuesSet, + String[] realValues) throws Exception { + + Set realValuesSet = new HashSet(); + for (String ex : realValues) { + realValuesSet.add(ex); + } + if (!realValuesSet.equals(expectedValuesSet)) { + throw new Exception("Invalid content for exceptions. Was expecting " + + expectedValuesSet + ". Found " + realValuesSet); + } + } + + public static void main(String[] args) throws Exception { + Test t = new Test(); + ManagementFactory.getPlatformMBeanServer().registerMBean(t, OBJECT_NAME); + MBeanInfo info = ManagementFactory.getPlatformMBeanServer(). + getMBeanInfo(OBJECT_NAME); + //Constructors + for (MBeanConstructorInfo ctr : info.getConstructors()) { + if (ctr.getSignature().length == 0) { + check(ctr.getDescriptor(), null, false, null, false); + } + if (ctr.getSignature().length == 1) { + check(ctr.getDescriptor(), ONE_EXCEPTION, true, null, false); + } + if (ctr.getSignature().length == 2) { + check(ctr.getDescriptor(),TWO_EXCEPTION,true, null, false); + } + } + //Attributes + for (MBeanAttributeInfo attr : info.getAttributes()) { + if (attr.getName().equals("That")) { + check(attr.getDescriptor(), null, false, null, false); + } + if (attr.getName().equals("The")) { + check(attr.getDescriptor(), ONE_EXCEPTION,true,null, false); + } + if (attr.getName().equals("These")) { + check(attr.getDescriptor(), null, false, ONE_EXCEPTION,true); + } + if (attr.getName().equals("It")) { + check(attr.getDescriptor(), ONE_EXCEPTION,true,ONE_EXCEPTION, + true); + } + if (attr.getName().equals("This")) { + check(attr.getDescriptor(), TWO_EXCEPTION,true,null,false); + } + if (attr.getName().equals("Those")) { + check(attr.getDescriptor(), null,false,TWO_EXCEPTION,true); + } + } + //Operations + for (MBeanOperationInfo oper : info.getOperations()) { + if (oper.getSignature().length == 0) { + check(oper.getDescriptor(), null, false, null, false); + } + if (oper.getSignature().length == 1) { + check(oper.getDescriptor(), ONE_EXCEPTION, true, null, false); + } + if (oper.getSignature().length == 2) { + check(oper.getDescriptor(), TWO_EXCEPTION,true, null, false); + } + } + System.out.println("Test passed"); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/Introspector/ObjectNameTemplateTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/Introspector/ObjectNameTemplateTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,343 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test %M% %I% + * @bug 6675526 + * @summary Test MBeans named with @ObjectNameTemplate + * @author Jean-Francois Denise + * @run main/othervm ObjectNameTemplateTest + */ +import java.lang.management.ManagementFactory; +import java.lang.reflect.Constructor; +import java.util.ArrayList; +import java.util.List; +import javax.management.Attribute; +import javax.management.AttributeList; +import javax.management.AttributeNotFoundException; +import javax.management.DynamicMBean; +import javax.management.ImmutableDescriptor; +import javax.management.InvalidAttributeValueException; +import javax.management.JMX; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanServer; +import javax.management.MXBean; +import javax.management.MBean; +import javax.management.ManagedAttribute; +import javax.management.NotCompliantMBeanException; +import javax.management.ObjectName; +import javax.management.ObjectNameTemplate; +import javax.management.ReflectionException; +import javax.management.StandardMBean; + +public class ObjectNameTemplateTest { + + private static MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); + private static final String NAME_TEMPLATE_MULTI = + "com.example:type=MultiStdCache,name={Name}"; + private static final String NAME_TEMPLATE_MONO = + "com.example:{Type}={TypeValue}"; + private static final String NAME_TEMPLATE_QUOTED = + "com.example:type=Quotted,name=\"{Name}\""; + private static final String NAME_TEMPLATE_WRAPPED = + "com.example:type=MgtInterface,id={Id}"; + private static final String NAME_TEMPLATE_FULL = + "{Naming}"; + private static final String FULL_NAME = "com.example:type=NotAdvised"; + private static final String NAME1 = "toto1"; + private static final String NAME2 = "toto2"; + private static final String TYPE_KEY = "thisIsTheType"; + private static final String TYPE_VALUE = "aTypeValue"; + private static final String INVALID_NAME = "?,=*,\n, "; + private static final int ID = 999; + private static Object[] EMPTY_PARAMS = {}; + private static String[] EMPTY_SIGNATURE = {}; + private static final ObjectName OBJECTNAME_CACHE = + ObjectName.valueOf("com.example:type=Cache"); + private static final ObjectName OBJECTNAME_SUBCACHE = + ObjectName.valueOf("com.example:type=SubCache"); + private static final ObjectName OBJECTNAME_CACHEMX = + ObjectName.valueOf("com.example:type=CacheMX"); + private static final ObjectName OBJECTNAME_SUBCACHEMX = + ObjectName.valueOf("com.example:type=SubCacheMX"); + private static final ObjectName OBJECTNAME_DYNACACHE = + ObjectName.valueOf("com.example:type=DynaCache"); + private static final ObjectName OBJECTNAME_STDCACHE = + ObjectName.valueOf("com.example:type=StdCache"); + private static final ObjectName OBJECTNAME_STDCACHEMX = + ObjectName.valueOf("com.example:type=StdCacheMX"); + private static final ObjectName OBJECTNAME_MULTI_1 = + ObjectName.valueOf("com.example:" + + "type=MultiStdCache,name=" + NAME1); + private static final ObjectName OBJECTNAME_MULTI_2 = + ObjectName.valueOf("com.example:" + + "type=MultiStdCache,name=" + NAME2); + private static final ObjectName OBJECTNAME_MONO = + ObjectName.valueOf("com.example:" + TYPE_KEY + "=" + + TYPE_VALUE); + private static final ObjectName OBJECTNAME_QUOTED = + ObjectName.valueOf("com.example:type=Quotted," + + "name="+ObjectName.quote(INVALID_NAME)); + private static final ObjectName OBJECTNAME_WRAPPED_RESOURCE = + ObjectName.valueOf("com.example:type=MgtInterface,id=" + ID); + private static final ObjectName OBJECTNAME_FULL = + ObjectName.valueOf(FULL_NAME); + + private static void test(Class mbean, Object[] params, + String[] signature, ObjectName name, String template) + throws Exception { + mbs.createMBean(mbean.getName(), null, params, signature); + test(name, template); + List> parameters = new ArrayList>(); + for (String sig : signature) { + parameters.add(Class.forName(sig)); + } + Class classes[] = new Class[parameters.size()]; + Constructor ctr = mbean.getConstructor(parameters.toArray(classes)); + Object inst = ctr.newInstance(params); + test(inst, name, template); + } + + private static void test(Object obj, ObjectName name, String template) + throws Exception { + mbs.registerMBean(obj, null); + test(name, template); + } + + private static void test(ObjectName name, String template) + throws Exception { + if (!mbs.isRegistered(name)) { + throw new Exception("Wrong " + name + " name"); + } + if (template != null && !mbs.getMBeanInfo(name).getDescriptor(). + getFieldValue("objectNameTemplate").equals(template)) { + throw new Exception("Invalid Derscriptor"); + } + mbs.unregisterMBean(name); + } + + public static void main(String[] args) throws Exception { + test(Cache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_CACHE, + OBJECTNAME_CACHE.toString()); + + test(CacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_CACHEMX, + OBJECTNAME_CACHEMX.toString()); + + test(SubCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_SUBCACHE, + OBJECTNAME_SUBCACHE.toString()); + + test(SubCacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_SUBCACHEMX, + OBJECTNAME_SUBCACHEMX.toString()); + + test(DynaCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_DYNACACHE, + null); + + test(StdCacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_STDCACHEMX, + OBJECTNAME_STDCACHEMX.toString()); + + test(StdCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_STDCACHE, + OBJECTNAME_STDCACHE.toString()); + String[] sig = {String.class.getName()}; + Object[] params = {NAME1}; + test(MultiStdCache.class, params, sig, OBJECTNAME_MULTI_1, + NAME_TEMPLATE_MULTI); + Object[] params2 = {NAME2}; + test(MultiStdCache.class, params2, sig, OBJECTNAME_MULTI_2, + NAME_TEMPLATE_MULTI); + + test(MonoStdCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_MONO, + NAME_TEMPLATE_MONO); + + test(Quoted.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_QUOTED, + NAME_TEMPLATE_QUOTED); + + test(new StandardMBean(new WrappedResource(), MgtInterface.class), + OBJECTNAME_WRAPPED_RESOURCE, NAME_TEMPLATE_WRAPPED); + + test(FullName.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_FULL, + NAME_TEMPLATE_FULL); + try { + test(Wrong.class, EMPTY_PARAMS, EMPTY_SIGNATURE, null, null); + throw new Exception("No treceived expected Exception"); + } catch (NotCompliantMBeanException ncex) { + if (!(ncex.getCause() instanceof AttributeNotFoundException)) { + throw new Exception("Invalid initCause"); + } + } + } + + @MBean + @ObjectNameTemplate("{Naming}") + public static class FullName { + + @ManagedAttribute + public String getNaming() { + return FULL_NAME; + } + } + + @ObjectNameTemplate("com.example:type=MgtInterface,id={Id}") + public interface MgtInterface { + + public int getId(); + } + + public static class WrappedResource implements MgtInterface { + + public int getId() { + return ID; + } + } + + @MBean + @ObjectNameTemplate("com.example:type=Cache") + public static class Cache { + } + + @ObjectNameTemplate("com.example:type=SubCache") + public static class SubCache extends Cache { + } + + @MXBean + @ObjectNameTemplate("com.example:type=CacheMX") + public static class CacheMX { + } + + @ObjectNameTemplate("com.example:type=SubCacheMX") + public static class SubCacheMX extends CacheMX { + } + + @ObjectNameTemplate("com.example:type=StdCache") + public interface StdCacheMBean { + } + + public static class StdCache implements StdCacheMBean { + } + + @ObjectNameTemplate("com.example:type=StdCacheMX") + public interface StdCacheMXBean { + } + + public static class StdCacheMX implements StdCacheMXBean { + } + + public static class DynaCache implements DynamicMBean { + + public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException { + throw new UnsupportedOperationException("Not supported yet."); + } + + public AttributeList getAttributes(String[] attributes) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public AttributeList setAttributes(AttributeList attributes) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException { + throw new UnsupportedOperationException("Not supported yet."); + } + + public MBeanInfo getMBeanInfo() { + ImmutableDescriptor d = new ImmutableDescriptor(JMX.OBJECT_NAME_TEMPLATE + "=com.example:type=DynaCache"); + + return new MBeanInfo("DynaCache", "Description", null, null, null, null, d); + } + } + + @ObjectNameTemplate("com.example:type=MultiStdCache,name={Name}") + public interface MultiStdCacheMXBean { + + public String getName(); + } + + public static class MultiStdCache implements MultiStdCacheMXBean { + + private String name; + + public MultiStdCache(String name) { + this.name = name; + } + + public String getName() { + return name; + } + } + + @ObjectNameTemplate("com.example:{Type}={TypeValue}") + public interface MonoStdCacheMXBean { + + public String getTypeValue(); + + public String getType(); + } + + public static class MonoStdCache implements MonoStdCacheMXBean { + + public String getTypeValue() { + return TYPE_VALUE; + } + + public String getType() { + return TYPE_KEY; + } + } + + @ObjectNameTemplate("com.example:type=Quotted,name=\"{Name}\"") + public interface QuottedMXBean { + + public String getName(); + } + + public static class Quoted implements QuottedMXBean { + + public String getName() { + return INVALID_NAME; + } + } + + @ObjectNameTemplate("com.example:{Type}={TypeValue}, name={Name}") + public interface WrongMXBean { + + public String getTypeValue(); + + public String getType(); + } + + public static class Wrong implements WrongMXBean { + + public String getTypeValue() { + return TYPE_VALUE; + } + + public String getType() { + return TYPE_KEY; + } + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/descriptor/DescriptorConstructorTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/descriptor/DescriptorConstructorTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,46 @@ +/* + * Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6501362 + * @summary DescriptorSupport(String) could recognize "name=value" as well as XML format + * @author Jean-Francois Denise + * @run clean DescriptorConstructorTest + * @run build DescriptorConstructorTest + * @run main DescriptorConstructorTest + */ + +import javax.management.modelmbean.DescriptorSupport; + +public class DescriptorConstructorTest { + public static void main(String[] args) throws Exception { + DescriptorSupport d1 = new DescriptorSupport("MyName1=MyValue1"); + if(!d1.getFieldValue("MyName1").equals("MyValue1")) + throw new Exception("Invalid parsing"); + DescriptorSupport d2 = new DescriptorSupport("" + + ""); + if(!d2.getFieldValue("MyName2").equals("MyValue2")) + throw new Exception("Invalid parsing"); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/interop/MBeanExceptionInteropTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/interop/MBeanExceptionInteropTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,166 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6456269 + * @summary Test that an MBeanException serialized on JDK 6 deserializes + * correctly on JDK 7. + * @author Eamonn McManus + */ + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import javax.management.MBeanException; + +// In JDK 6, the Throwable.cause field was always null for an MBeanException, +// but it didn't matter because we overrode getCause() to return +// MBeanException.exception instead. In JDK 7, we no longer override getCause() +// because MBeanException doubles as the serial form of GenericMBeanException. +// So we need some care to make sure that objects deserialized from JDK 6 +// have the right getCause() behaviour. +public class MBeanExceptionInteropTest { + private static final byte[] SERIALIZED_MBEAN_EXCEPTION = { + -84,-19,0,5,115,114,0,31,106,97,118,97,120,46,109,97, + 110,97,103,101,109,101,110,116,46,77,66,101,97,110,69,120, + 99,101,112,116,105,111,110,56,110,-116,-27,110,87,49,-50,2, + 0,1,76,0,9,101,120,99,101,112,116,105,111,110,116,0, + 21,76,106,97,118,97,47,108,97,110,103,47,69,120,99,101, + 112,116,105,111,110,59,120,114,0,28,106,97,118,97,120,46, + 109,97,110,97,103,101,109,101,110,116,46,74,77,69,120,99, + 101,112,116,105,111,110,4,-35,76,-20,-109,-99,126,113,2,0, + 0,120,114,0,19,106,97,118,97,46,108,97,110,103,46,69, + 120,99,101,112,116,105,111,110,-48,-3,31,62,26,59,28,-60, + 2,0,0,120,114,0,19,106,97,118,97,46,108,97,110,103, + 46,84,104,114,111,119,97,98,108,101,-43,-58,53,39,57,119, + -72,-53,3,0,3,76,0,5,99,97,117,115,101,116,0,21, + 76,106,97,118,97,47,108,97,110,103,47,84,104,114,111,119, + 97,98,108,101,59,76,0,13,100,101,116,97,105,108,77,101, + 115,115,97,103,101,116,0,18,76,106,97,118,97,47,108,97, + 110,103,47,83,116,114,105,110,103,59,91,0,10,115,116,97, + 99,107,84,114,97,99,101,116,0,30,91,76,106,97,118,97, + 47,108,97,110,103,47,83,116,97,99,107,84,114,97,99,101, + 69,108,101,109,101,110,116,59,120,112,113,0,126,0,8,116, + 0,7,79,104,32,100,101,97,114,117,114,0,30,91,76,106, + 97,118,97,46,108,97,110,103,46,83,116,97,99,107,84,114, + 97,99,101,69,108,101,109,101,110,116,59,2,70,42,60,60, + -3,34,57,2,0,0,120,112,0,0,0,2,115,114,0,27, + 106,97,118,97,46,108,97,110,103,46,83,116,97,99,107,84, + 114,97,99,101,69,108,101,109,101,110,116,97,9,-59,-102,38, + 54,-35,-123,2,0,4,73,0,10,108,105,110,101,78,117,109, + 98,101,114,76,0,14,100,101,99,108,97,114,105,110,103,67, + 108,97,115,115,113,0,126,0,6,76,0,8,102,105,108,101, + 78,97,109,101,113,0,126,0,6,76,0,10,109,101,116,104, + 111,100,78,97,109,101,113,0,126,0,6,120,112,0,0,0, + 63,116,0,25,77,66,101,97,110,69,120,99,101,112,116,105, + 111,110,73,110,116,101,114,111,112,84,101,115,116,116,0,30, + 77,66,101,97,110,69,120,99,101,112,116,105,111,110,73,110, + 116,101,114,111,112,84,101,115,116,46,106,97,118,97,116,0, + 5,119,114,105,116,101,115,113,0,126,0,12,0,0,0,46, + 113,0,126,0,14,113,0,126,0,15,116,0,4,109,97,105, + 110,120,115,114,0,34,106,97,118,97,46,108,97,110,103,46, + 73,108,108,101,103,97,108,65,114,103,117,109,101,110,116,69, + 120,99,101,112,116,105,111,110,-75,-119,115,-45,125,102,-113,-68, + 2,0,0,120,114,0,26,106,97,118,97,46,108,97,110,103, + 46,82,117,110,116,105,109,101,69,120,99,101,112,116,105,111, + 110,-98,95,6,71,10,52,-125,-27,2,0,0,120,113,0,126, + 0,3,113,0,126,0,21,116,0,3,66,97,100,117,113,0, + 126,0,10,0,0,0,2,115,113,0,126,0,12,0,0,0, + 62,113,0,126,0,14,113,0,126,0,15,113,0,126,0,16, + 115,113,0,126,0,12,0,0,0,46,113,0,126,0,14,113, + 0,126,0,15,113,0,126,0,18,120, + }; + + private static volatile String failure; + + public static void main(String[] args) throws Exception { + if (args.length > 0) { + if (args[0].equals("write") && args.length == 1) { + write(); + return; + } else { + System.err.println( + "Usage: java MBeanExceptionInteropTest"); + System.err.println( + "or: java MBeanExceptionInteropTest write"); + System.exit(1); + } + } + + // Read the serialized object and check it is correct. + ByteArrayInputStream bin = + new ByteArrayInputStream(SERIALIZED_MBEAN_EXCEPTION); + ObjectInputStream oin = new ObjectInputStream(bin); + MBeanException mbeanEx = (MBeanException) oin.readObject(); + assertEquals("MBeanException message", "Oh dear", mbeanEx.getMessage()); + System.out.println("getCause(): " + mbeanEx.getCause() + "; " + + "getTargetException(): " + mbeanEx.getTargetException()); + for (Throwable t : + new Throwable[] {mbeanEx.getCause(), mbeanEx.getTargetException()}) { + if (!(t instanceof IllegalArgumentException)) + fail("Nested exception not an IllegalArgumentException: " + t); + else + assertEquals("Nested exception message", "Bad", t.getMessage()); + } + + if (failure == null) + System.out.println("TEST PASSED"); + else + throw new Exception("TEST FAILED: " + failure); + } + + // Write a file that can be inserted into this source file as the + // contents of the SERIALIZED_MBEAN_EXCEPTION array. Run this program + // on JDK 6 to generate the array, then test on JDK 7. + private static void write() throws Exception { + Exception wrapped = new IllegalArgumentException("Bad"); + MBeanException mbeanEx = new MBeanException(wrapped, "Oh dear"); + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + ObjectOutputStream oout = new ObjectOutputStream(bout); + oout.writeObject(mbeanEx); + oout.close(); + byte[] bytes = bout.toByteArray(); + for (int i = 0; i < bytes.length; i++) { + System.out.printf("%d,", bytes[i]); + if (i % 16 == 15) + System.out.println(); + } + if (bytes.length % 16 != 0) + System.out.println(); + } + + private static void assertEquals(String what, Object expect, Object actual) { + boolean equal = (expect == null) ? (actual == null) : expect.equals(actual); + if (equal) + System.out.println("OK: " + what + ": " + expect); + else + fail(what + ": expected " + expect + ", got " + actual); + } + + private static void fail(String why) { + System.out.println("FAIL: " + why); + failure = why; + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/monitor/InstantiateMonitorNotificationTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/monitor/InstantiateMonitorNotificationTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,52 @@ + +import javax.management.ObjectName; +import javax.management.monitor.MonitorNotification; + +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6373143 + * @summary Test MonitorNotification public constructor + * @author JFDenise + * @run clean InstantiateMonitorNotificationTest + * @run build InstantiateMonitorNotificationTest + * @run main InstantiateMonitorNotificationTest + */ + +public class InstantiateMonitorNotificationTest { + + public static void main(String[] args) throws Exception { + MonitorNotification notif = new MonitorNotification("com.foo.test", + ObjectName.valueOf(":type=Monitor"), + 999, + 999, + "A message", + ObjectName.valueOf(":type=Observed"), + "MyAttribute", + Integer.valueOf(14), + Integer.valueOf(15)); + System.out.println("Test passed"); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/namespace/LeadingSeparatorsTest.java --- a/jdk/test/javax/management/namespace/LeadingSeparatorsTest.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/test/javax/management/namespace/LeadingSeparatorsTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -24,7 +24,7 @@ * @test LeadingSeparatorsTest.java * @summary Test that the semantics of a leading // in ObjectName is respected. * @author Daniel Fuchs - * @bug 5072476 + * @bug 5072476 6768935 * @run clean LeadingSeparatorsTest Wombat WombatMBean * @compile -XDignore.symbol.file=true LeadingSeparatorsTest.java * @run build LeadingSeparatorsTest Wombat WombatMBean @@ -36,6 +36,7 @@ import java.util.Set; import java.util.HashSet; import java.util.logging.Logger; +import javax.management.InstanceNotFoundException; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; import javax.management.NotCompliantMBeanException; @@ -121,19 +122,29 @@ // register wombat using an object name with a leading // final Object obj = new MyWombat(); // check that returned object name doesn't have the leading // - assertEquals(n2,top.registerMBean(obj, n1).getObjectName()); + assertEquals(n2,top.registerMBean(obj, n2).getObjectName()); System.out.println(n1+" registered"); // check that the registered Wombat can be accessed with all its // names. System.out.println(n2+" mood is: "+top.getAttribute(n2, "Mood")); - System.out.println(n1+" mood is: "+top.getAttribute(n1, "Mood")); + try { + System.out.println(n1+" mood is: "+top.getAttribute(n1, "Mood")); + throw new Exception("Excepected exception not thrown for "+n1); + } catch (InstanceNotFoundException x) { + System.out.println("OK: "+x); + } System.out.println(n4+" mood is: "+top.getAttribute(n4, "Mood")); - System.out.println(n3+" mood is: "+top.getAttribute(n3, "Mood")); + try { + System.out.println(n3+" mood is: "+top.getAttribute(n3, "Mood")); + throw new Exception("Excepected exception not thrown for "+n3); + } catch (InstanceNotFoundException x) { + System.out.println("OK: "+x); + } // call listMatching. The result should not contain any prefix. final Set res = (Set) - top.invoke(n3, "listMatching", + top.invoke(n4, "listMatching", // remove rmi// from rmi//*:* JMXNamespaces.deepReplaceHeadNamespace( new Object[] {ObjectName.WILDCARD.withDomain("rmi//*")}, @@ -158,7 +169,7 @@ // //niark//niark// // final Set res4 = (Set) - top.invoke(n3, "untrue", + top.invoke(n4, "untrue", // remove niark//niark : should remove nothing since // our ObjectName begins with a leading // JMXNamespaces.deepReplaceHeadNamespace( diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/namespace/NullDomainObjectNameTest.java --- a/jdk/test/javax/management/namespace/NullDomainObjectNameTest.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/test/javax/management/namespace/NullDomainObjectNameTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -40,6 +40,7 @@ import javax.management.NotCompliantMBeanException; import javax.management.ObjectInstance; import javax.management.ObjectName; +import javax.management.RuntimeOperationsException; import javax.management.namespace.JMXNamespaces; import javax.management.namespace.JMXRemoteNamespace; import javax.management.namespace.JMXNamespace; @@ -215,9 +216,20 @@ assertEquals(proxy.queryNames( new ObjectName(":*"),null). contains(moi3.getObjectName()),true); - failed("queryNames(null,null) should have failed for faked//"); - } catch (IllegalArgumentException x) { - System.out.println("Received expected exception for faked//: "+x); + failed("queryNames(new ObjectName(\":*\"),null) " + + "should have failed for faked//"); + } catch (RuntimeOperationsException x) { + if (x.getCause() instanceof IllegalArgumentException) + System.out.println( + "Received expected exception for faked//: "+x); + else { + System.err.println( + "Expected exception has unexpected cause " + + "for faked//: "+x.getCause()); + x.printStackTrace(); + failed("queryNames(new ObjectName(\":*\"),null)" + + " failed with unexpected cause for faked//"); + } } // These should fail because the ObjectName doesn't start // with "faked//" @@ -226,9 +238,20 @@ "new ObjectName(\":*\"),null) with faked//"); assertEquals(proxy.queryMBeans( new ObjectName(":*"),null).contains(moi3),true); - failed("queryMBeans(null,null) should have failed for faked//"); - } catch (IllegalArgumentException x) { - System.out.println("Received expected exception for faked//: "+x); + failed("queryMBeans(new ObjectName(\":*\"),null)" + + " should have failed for faked//"); + } catch (RuntimeOperationsException x) { + if (x.getCause() instanceof IllegalArgumentException) + System.out.println( + "Received expected exception for faked//: "+x); + else { + System.err.println( + "Expected exception has unexpected cause " + + "for faked//: "+x.getCause()); + x.printStackTrace(); + failed("queryMBeans(new ObjectName(\":*\"),null) " + + "failed with unexpected cause for faked//"); + } } System.out.println("Checking queryNames(faked//*:*,null)"); diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/namespace/NullObjectNameTest.java --- a/jdk/test/javax/management/namespace/NullObjectNameTest.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/test/javax/management/namespace/NullObjectNameTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -41,6 +41,7 @@ import javax.management.NotCompliantMBeanException; import javax.management.ObjectInstance; import javax.management.ObjectName; +import javax.management.RuntimeOperationsException; import javax.management.namespace.JMXNamespaces; import javax.management.namespace.JMXRemoteNamespace; import javax.management.namespace.JMXNamespace; @@ -189,15 +190,35 @@ assertEquals(proxy.queryNames(null,null). contains(moi3.getObjectName()),true); failed("queryNames(null,null) should have failed for faked//"); - } catch (IllegalArgumentException x) { - System.out.println("Received expected exception for faked//: "+x); + } catch (RuntimeOperationsException x) { + if (x.getCause() instanceof IllegalArgumentException) + System.out.println( + "Received expected exception for faked//: "+x); + else { + System.err.println( + "Expected exception has unexpected cause " + + "for faked//: "+x.getCause()); + x.printStackTrace(); + failed("queryNames(null,null) failed with unexpected " + + "cause for faked//"); + } } try { System.out.println("Checking queryMBeans(null,null) with faked//"); assertEquals(proxy.queryMBeans(null,null).contains(moi3),true); failed("queryMBeans(null,null) should have failed for faked//"); - } catch (IllegalArgumentException x) { - System.out.println("Received expected exception for faked//: "+x); + } catch (RuntimeOperationsException x) { + if (x.getCause() instanceof IllegalArgumentException) + System.out.println( + "Received expected exception for faked//: "+x); + else { + System.err.println( + "Expected exception has unexpected cause " + + "for faked//: "+x.getCause()); + x.printStackTrace(); + failed("queryMBeans(null,null) failed with unexpected " + + "cause for faked//"); + } } System.out.println("Checking queryNames(faked//*:*,null)"); assertEquals(proxy.queryNames(new ObjectName("faked//*:*"),null). diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/namespace/QueryNamesTest.java --- a/jdk/test/javax/management/namespace/QueryNamesTest.java Wed Jul 05 16:44:40 2017 +0200 +++ b/jdk/test/javax/management/namespace/QueryNamesTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -25,7 +25,7 @@ * @test QueryNamesTest.java 1.4 * @summary Test how queryNames works with Namespaces. * @author Daniel Fuchs - * @bug 5072476 + * @bug 5072476 6768935 * @run clean QueryNamesTest Wombat WombatMBean * @run build QueryNamesTest Wombat WombatMBean * @run main QueryNamesTest @@ -34,6 +34,7 @@ import java.io.IOException; import java.lang.management.ManagementFactory; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; @@ -52,7 +53,9 @@ import javax.management.MBeanServerConnection; import javax.management.MBeanServerFactory; import javax.management.MalformedObjectNameException; +import javax.management.ObjectInstance; import javax.management.ObjectName; +import javax.management.RuntimeOperationsException; import javax.management.namespace.JMXNamespace; import javax.management.namespace.JMXNamespaces; @@ -366,6 +369,66 @@ return res; } + private static void checkNsPattern(MBeanServer server) throws Exception { + final List list = new ArrayList(); + for (String s : namespaces) { + final String[] cmpnt = s.split("//"); + for (int i=0;i res = new HashSet(); + + try { + res.addAll(server.queryNames(ObjectName.valueOf(s),null)); + } catch (RuntimeOperationsException x) { + if (x.getCause() instanceof IllegalArgumentException) { + System.out.println("queryNames("+s+"): OK - received "+x.getCause()); + continue; + } + System.err.println("queryNames("+s+"): Bad cause: "+x.getCause()); + throw x; + } catch (Exception x) { + System.err.println("queryNames("+s+"): Bad exception: "+x); + throw x; + } + System.err.println("queryNames("+s+"): Bad result: "+res); + System.err.println("queryNames("+s+"): Excpected exception not thrown."); + throw new Exception("queryNames("+s+"): Excpected exception not thrown."); + } + for (String s : list) { + final Set res = new HashSet(); + + try { + res.addAll(server.queryMBeans(ObjectName.valueOf(s),null)); + } catch (RuntimeOperationsException x) { + if (x.getCause() instanceof IllegalArgumentException) { + System.out.println("queryMBeans("+s+"): OK - received "+x.getCause()); + continue; + } + System.err.println("queryMBeans("+s+"): Bad cause: "+x.getCause()); + throw x; + } catch (Exception x) { + System.err.println("queryMBeans("+s+"): Bad exception: "+x); + throw x; + } + System.err.println("queryMBeans("+s+"): Bad result: "+res); + System.err.println("queryMBeans("+s+"): Excpected exception not thrown."); + throw new Exception("queryMBeans("+s+"): Excpected exception not thrown."); + } + } + public static void main(String[] args) throws Exception { final MBeanServer server = ManagementFactory.getPlatformMBeanServer(); @@ -378,6 +441,7 @@ System.out.println("Domains: " +Arrays.asList(server.getDomains())); checkRegistration(server); checkNsQuery(server); + checkNsPattern(server); } finally { boolean res = true; res = res && removeWombats(server, wombats); diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/notification/SupportClearTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/notification/SupportClearTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,80 @@ +/* + * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6336980 + * @summary test 2 new methods: isListenedTo() and clear() + * @author Shanliang JIANG + * @run clean SupportClearTest + * @run build SupportClearTest + * @run main SupportClearTest + */ + +import javax.management.*; + +public class SupportClearTest { + private static boolean received = false; + + public static void main(String[] args) throws Exception { + System.out.println(">>> test 2 new methods: isListenedTo() and clear()."); + + final NotificationListener listener = new NotificationListener() { + public void handleNotification(Notification n, Object hb) { + received = true; + } + }; + + final NotificationBroadcasterSupport broadcaster = + new NotificationBroadcasterSupport(); + + System.out.println(">>> testing the method \"isListenedTo\"..."); + if (broadcaster.isListenedTo()) { + throw new RuntimeException( + "Bad implementation of the method \"isListenedTo\"!"); + } + + broadcaster.addNotificationListener(listener, null, null); + + if (!broadcaster.isListenedTo()) { + throw new RuntimeException( + "Bad implementation of the method \"isListenedTo\"!"); + } + + System.out.println(">>> testing the method \"clear\"..."); + broadcaster.removeAllNotificationListeners(); + if (broadcaster.isListenedTo()) { + throw new RuntimeException( + "Bad implementation of the method \"clear\"!"); + } + + broadcaster.sendNotification(new Notification("", "", 1L)); + + if (received) { + throw new RuntimeException( + "Bad implementation of the method \"clear\"!"); + } + + System.out.println(">>> PASSED!"); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/openmbean/GenericMBeanExceptionTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/openmbean/GenericMBeanExceptionTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,278 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6456269 + * @summary Test GenericMBeanException + * @author Eamonn McManus + */ + +import java.beans.ConstructorProperties; +import java.lang.management.ManagementFactory; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import javax.management.GenericMBeanException; +import javax.management.JMX; +import javax.management.MBeanServer; +import javax.management.MBeanServerConnection; +import javax.management.ObjectName; +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.CompositeType; +import javax.management.openmbean.MXBeanMapping; +import javax.management.openmbean.MXBeanMappingFactory; +import javax.management.remote.JMXConnector; +import javax.management.remote.JMXConnectorFactory; +import javax.management.remote.JMXConnectorServer; +import javax.management.remote.JMXConnectorServerFactory; +import javax.management.remote.JMXServiceURL; + +public class GenericMBeanExceptionTest { + private static volatile String failure = null; + + public static interface ThrowerMBean { + public void throwGeneric() throws GenericMBeanException; + public void throwGeneric(Throwable cause) throws GenericMBeanException; + public void throwGeneric(String errorCode) throws GenericMBeanException; + public void throwGeneric(CompositeData userData) throws GenericMBeanException; + public void throwGeneric(String errorCode, CompositeData userData) + throws GenericMBeanException; + public void throwGeneric(String errorCode, CompositeData userData, Throwable cause) + throws GenericMBeanException; + } + + public static class Thrower implements ThrowerMBean { + + public void throwGeneric() throws GenericMBeanException { + throw new GenericMBeanException("Message"); + } + + public void throwGeneric(Throwable cause) throws GenericMBeanException { + throw new GenericMBeanException("Message", cause); + } + + public void throwGeneric(String errorCode) throws GenericMBeanException { + throw new GenericMBeanException("Message", errorCode, null); + } + + public void throwGeneric(CompositeData userData) throws GenericMBeanException { + throw new GenericMBeanException("Message", null, userData); + } + + public void throwGeneric(String errorCode, CompositeData userData) + throws GenericMBeanException { + throw new GenericMBeanException("Message", errorCode, userData); + } + + public void throwGeneric(String errorCode, CompositeData userData, + Throwable cause) throws GenericMBeanException { + throw new GenericMBeanException("Message", errorCode, userData, cause); + } + } + + public static class Payload { + private final int severity; + private final String subsystem; + + @ConstructorProperties({"severity", "subsystem"}) + public Payload(int severity, String subsystem) { + this.severity = severity; + this.subsystem = subsystem; + } + + public int getSeverity() { + return severity; + } + + public String getSubsystem() { + return subsystem; + } + + @Override + public boolean equals(Object x) { + if (!(x instanceof Payload)) + return false; + Payload p = (Payload) x; + return (severity == p.severity && + (subsystem == null) ? + p.subsystem == null : subsystem.equals(p.subsystem)); + } + + @Override + public int hashCode() { + return severity + subsystem.hashCode(); + } + + @Override + public String toString() { + return "Payload{severity: " + severity + ", subsystem: " + subsystem + "}"; + } + } + + public static void main(String[] args) throws Exception { + MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); + ObjectName name = new ObjectName("test:type=Thrower"); + Thrower thrower = new Thrower(); + mbs.registerMBean(thrower, name); + + if (args.length > 0) { + System.out.println("Attach client now, hit return to exit"); + System.in.read(); + return; + } + + JMXServiceURL url = new JMXServiceURL("service:jmx:rmi://"); + JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer( + url, null, mbs); + cs.start(); + JMXServiceURL addr = cs.getAddress(); + + JMXConnector cc = JMXConnectorFactory.connect(addr); + MBeanServerConnection mbsc = cc.getMBeanServerConnection(); + + ThrowerMBean throwerProxy = JMX.newMBeanProxy(mbsc, name, ThrowerMBean.class); + + Payload payload = new Payload(5, "modular modulizer"); + MXBeanMapping payloadMapping = MXBeanMappingFactory.DEFAULT.mappingForType( + Payload.class, MXBeanMappingFactory.DEFAULT); + CompositeData userData = (CompositeData) + payloadMapping.toOpenValue(payload); + Throwable cause = new IllegalArgumentException("Badness"); + + Object[][] testCases = { + {}, + {"code1"}, + {userData}, + {"code2", userData}, + {(String) null, userData}, + {"code99", userData, cause}, + {(String) null, userData, cause}, + }; + + for (Object[] testCase : testCases) { + System.out.println("Test case: " + testCaseString(testCase)); + + // Find which ThrowerMBean method it corresponds to + Method testMethod = null; +search: + for (Method m : ThrowerMBean.class.getMethods()) { + Class[] paramTypes = m.getParameterTypes(); + if (paramTypes.length != testCase.length) + continue; + for (int i = 0; i < paramTypes.length; i++) { + if (testCase[i] != null && !paramTypes[i].isInstance(testCase[i])) + continue search; + } + testMethod = m; + } + + if (testMethod == null) { + throw new Exception("TEST ERROR: no method corresponds: " + + testCaseString(testCase)); + } + + try { + testMethod.invoke(throwerProxy, testCase); + fail("Did not throw exception", testCase); + continue; + } catch (InvocationTargetException e) { + Throwable iteCause = e.getCause(); + if (!(iteCause instanceof GenericMBeanException)) { + iteCause.printStackTrace(System.out); + fail("Threw wrong exception " + iteCause, testCase); + continue; + } + GenericMBeanException ge = (GenericMBeanException) iteCause; + if (!ge.getMessage().equals("Message")) + fail("Wrong message: " + ge.getMessage(), testCase); + + Class[] paramTypes = testMethod.getParameterTypes(); + for (int i = 0; i < paramTypes.length; i++) { + Class paramType = paramTypes[i]; + + if (paramType == Throwable.class) { // cause + Throwable geCause = ge.getCause(); + if (!(geCause instanceof IllegalArgumentException)) + fail("Wrong cause: " + geCause, testCase); + else if (!geCause.getMessage().equals("Badness")) + fail("Wrong cause message: " + geCause.getMessage(), testCase); + } else if (paramType == String.class) { // errorCode + String errorCode = ge.getErrorCode(); + String expectedErrorCode = + (testCase[i] == null) ? "" : (String) testCase[i]; + if (!expectedErrorCode.equals(errorCode)) + fail("Wrong error code: " + ge.getErrorCode(), testCase); + } else if (paramType == CompositeData.class) { // userData + CompositeData userData2 = ge.getUserData(); + if (!userData.equals(userData2)) + fail("Wrong userData: " + userData2, testCase); + Payload payload2 = (Payload) payloadMapping.fromOpenValue(userData2); + if (!payload.equals(payload2)) + fail("Wrong payload: " + payload2, testCase); + } else + throw new Exception("TEST ERROR: unknown parameter type: " + paramType); + } + } + } + + if (failure == null) + System.out.println("TEST PASSED"); + else + throw new Exception("TEST FAILED: " + failure); + } + + private static String testCaseString(Object[] testCase) { + StringBuilder sb = new StringBuilder("["); + String sep = ""; + for (Object x : testCase) { + sb.append(sep); + String xs = (x instanceof CompositeData) ? + compositeDataString((CompositeData) x) : String.valueOf(x); + sb.append(xs); + sep = ", "; + } + sb.append("]"); + return sb.toString(); + } + + private static String compositeDataString(CompositeData cd) { + StringBuilder sb = new StringBuilder("CompositeData{"); + CompositeType ct = cd.getCompositeType(); + String sep = ""; + for (String key : ct.keySet()) { + sb.append(sep).append(key).append(": ").append(cd.get(key)); + sep = ", "; + } + sb.append("}"); + return sb.toString(); + } + + private static void fail(String why, Object[] testCase) { + fail(testCaseString(testCase) + ": " + why); + } + + private static void fail(String why) { + failure = why; + System.out.println("FAIL: " + why); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/remote/mandatory/connection/DaemonRMIExporterTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/remote/mandatory/connection/DaemonRMIExporterTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,123 @@ +/* + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + + +/* + * @test + * @bug 6760712 + * @summary test the connector server option that causes it not to prevent the + * VM from exiting + * @author Shanliang JIANG, Eamonn McManus + * @run main/othervm DaemonRMIExporterTest + */ +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import javax.management.MBeanServerFactory; +import javax.management.remote.JMXConnector; +import javax.management.remote.JMXConnectorFactory; +import javax.management.remote.JMXServiceURL; +import javax.management.remote.JMXConnectorServer; +import javax.management.remote.JMXConnectorServerFactory; + +// Test the connector server option that causes it not to prevent the VM +// from exiting. It's tricky to test exactly that, though possible. If +// we're being run from within jtreg, then jtreg has threads of its own +// that will prevent the VM from exiting. What's more it will kill all +// threads that the test created as soon as the main method returns, +// including the ones that would prevent the VM from exiting without the +// special option. +// Here we check that the test code does not create +// any permanent non-daemon threads, by recording the initial set of +// non-daemon threads (including at least one from jtreg), doing our stuff, +// then waiting for there to be no non-daemon threads that were not in +// the initial set. +public class DaemonRMIExporterTest { + public static void main(String[] args) throws Exception { + Set initialNonDaemonThreads = getNonDaemonThreads(); + + JMXServiceURL addr = new JMXServiceURL("rmi", null, 0); + System.out.println("DaemonRMIExporterTest: Creating a RMIConnectorServer on " + addr); + Map env = + Collections.singletonMap("jmx.remote.x.daemon", "true"); + JMXConnectorServer server = + JMXConnectorServerFactory.newJMXConnectorServer(addr, + env, + MBeanServerFactory.createMBeanServer()); + server.start(); + System.out.println("DaemonRMIExporterTest: Started the server on " + server.getAddress()); + + System.out.println("DaemonRMIExporterTest: Connecting a client to the server ..."); + final JMXConnector conn = JMXConnectorFactory.connect(server.getAddress()); + conn.getMBeanServerConnection().getDefaultDomain(); + + System.out.println("DaemonRMIExporterTest: Closing the client ..."); + conn.close(); + + System.out.println("DaemonRMIExporterTest No more user code to execute, the VM should " + + "exit normally, otherwise will be blocked forever if the bug is not fixed."); + + long deadline = System.currentTimeMillis() + 10000; + ok: { + while (System.currentTimeMillis() < deadline) { + Set nonDaemonThreads = getNonDaemonThreads(); + nonDaemonThreads.removeAll(initialNonDaemonThreads); + if (nonDaemonThreads.isEmpty()) + break ok; + System.out.println("Non-daemon threads: " + nonDaemonThreads); + try { + Thread.sleep(500); + } catch (InterruptedException e) { + throw new AssertionError(e); + } + } + throw new Exception("TEST FAILED: non-daemon threads remain"); + } + + System.out.println("TEST PASSED"); + } + + private static Set getNonDaemonThreads() { + ThreadGroup tg = Thread.currentThread().getThreadGroup(); + while (tg.getParent() != null) + tg = tg.getParent(); + Thread[] threads = null; + for (int size = 10; size < 10000; size *= 2) { + threads = new Thread[size]; + int n = tg.enumerate(threads, true); + if (n < size) { + threads = Arrays.copyOf(threads, n); + break; + } + } + Set ndThreads = new HashSet(); + for (Thread t : threads) { + if (!t.isDaemon()) + ndThreads.add(t); + } + return ndThreads; + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,217 @@ +/* + * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + + +/* + * @test + * @bug 6332907 + * @summary test the ability for connector server to close individual connections + * @author Shanliang JIANG + * @run clean CloseConnectionTest + * @run build CloseConnectionTest + * @run main CloseConnectionTest + */ +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import javax.management.MBeanServerFactory; + +import javax.management.Notification; +import javax.management.NotificationListener; +import javax.management.remote.JMXConnectionNotification; +import javax.management.remote.JMXConnector; +import javax.management.remote.JMXConnectorFactory; +import javax.management.remote.JMXServiceURL; +import javax.management.remote.JMXConnectorServer; +import javax.management.remote.JMXConnectorServerFactory; + +public class CloseConnectionTest { + + public static void main(String[] args) throws Exception { + System.out.println(">>> Test the ability for connector server to close " + + "individual connections."); + + final String[] protos = new String[]{"rmi", "iiop", "jmxmp"}; + for (String p : protos) { + System.out.println("\n>>> Testing the protocol " + p); + JMXServiceURL addr = new JMXServiceURL(p, null, 0); + System.out.println(">>> Creating a JMXConnectorServer on " + addr); + JMXConnectorServer server = null; + try { + server = JMXConnectorServerFactory.newJMXConnectorServer(addr, + null, + MBeanServerFactory.createMBeanServer()); + } catch (Exception e) { + System.out.println(">>> Skip the protocol: " + p); + continue; + } + + test1(server); + test2(server); + + server.stop(); + } + + System.out.println(">>> Bye bye!"); + } + + private static void test1(JMXConnectorServer server) throws Exception { + try { + server.closeConnection("toto"); + // not started, known id + throw new RuntimeException("An IllegalArgumentException is not thrown."); + } catch (IllegalStateException e) { + System.out.println(">>> Test1: Got expected IllegalStateException: " + e); + } + + server.start(); + System.out.println(">>>Test1 Started the server on " + server.getAddress()); + + try { + server.closeConnection("toto"); + throw new RuntimeException("An IllegalArgumentException is not thrown."); + } catch (IllegalArgumentException e) { + System.out.println(">> Test1: Got expected IllegalArgumentException: " + e); + } + + MyListener listener = new MyListener(); + server.addNotificationListener(listener, null, null); + + System.out.println(">>> Test1: Connecting a client to the server ..."); + final JMXConnector conn = JMXConnectorFactory.connect(server.getAddress()); + conn.getMBeanServerConnection().getDefaultDomain(); + final String id1 = conn.getConnectionId(); + + listener.wait(JMXConnectionNotification.OPENED, timeout); + + System.out.println(">>> Test1: Closing the connection: " + conn.getConnectionId()); + server.closeConnection(id1); + listener.wait(JMXConnectionNotification.CLOSED, timeout); + + System.out.println(">>> Test1: Using again the connector whose connection " + + "should be closed by the server, it should reconnect " + + "automatically to the server and get a new connection id."); + conn.getMBeanServerConnection().getDefaultDomain(); + final String id2 = conn.getConnectionId(); + listener.wait(JMXConnectionNotification.OPENED, timeout); + + if (id1.equals(id2)) { + throw new RuntimeException("Failed, the first client connection is not closed."); + } + + System.out.println(">>> Test1: Greate, we get a new connection id " + id2 + + ", the first one is closed as expected."); + + System.out.println(">>> Test1: Closing the client."); + conn.close(); + System.out.println(">>> Test1: Stopping the server."); + server.removeNotificationListener(listener); + } + + private static void test2(JMXConnectorServer server) throws Exception { + System.out.println(">>> Test2 close a connection before " + + "the client can use it..."); + final Killer killer = new Killer(server); + server.addNotificationListener(killer, null, null); + + System.out.println(">>> Test2 Connecting a client to the server ..."); + final JMXConnector conn; + try { + conn = JMXConnectorFactory.connect(server.getAddress()); + throw new RuntimeException(">>> Failed, do not receive an " + + "IOException telling the connection is refused."); + } catch (IOException ioe) { + System.out.println(">>> Test2 got expected IOException: "+ioe); + } + } + + private static class MyListener implements NotificationListener { + public void handleNotification(Notification n, Object hb) { + if (n instanceof JMXConnectionNotification) { + synchronized (received) { + received.add((JMXConnectionNotification) n); + received.notify(); + } + } + } + + public JMXConnectionNotification wait(String type, long timeout) + throws Exception { + JMXConnectionNotification waited = null; + long toWait = timeout; + long deadline = System.currentTimeMillis() + timeout; + synchronized (received) { + while (waited == null && toWait > 0) { + received.wait(toWait); + for (JMXConnectionNotification n : received) { + if (type.equals(n.getType())) { + waited = n; + break; + } + } + received.clear(); + toWait = deadline - System.currentTimeMillis(); + } + } + + if (waited == null) { + throw new RuntimeException("Do not receive expected notification " + type); + } else { + System.out.println(">>> Received expected notif: "+type+ + " "+waited.getConnectionId()); + } + + return waited; + } + + final List received = + new ArrayList(); + } + + private static class Killer implements NotificationListener { + public Killer(JMXConnectorServer server) { + this.server = server; + } + public void handleNotification(Notification n, Object hb) { + if (n instanceof JMXConnectionNotification) { + if (JMXConnectionNotification.OPENED.equals(n.getType())) { + final JMXConnectionNotification cn = + (JMXConnectionNotification)n; + try { + System.out.println(">>> Killer: close the connection "+ + cn.getConnectionId()); + server.closeConnection(cn.getConnectionId()); + } catch (Exception e) { + // impossible? + e.printStackTrace(); + System.exit(1); + } + } + } + } + + private final JMXConnectorServer server; + } + + private static final long timeout = 6000; +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/standardmbean/FindMethodTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/standardmbean/FindMethodTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,384 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6287328 + * @summary Add methods to StandardMBean to retrieve a method based on + * MBean{Attribute|Operation}Info + * @author Jean-Francois Denise + * @run main FindMethodTest + */ + +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.ThreadMXBean; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import javax.management.MBean; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanInfo; +import javax.management.MBeanOperationInfo; +import javax.management.MBeanParameterInfo; +import javax.management.MBeanServer; +import javax.management.ManagedAttribute; +import javax.management.ManagedOperation; +import javax.management.ObjectName; +import javax.management.StandardMBean; + +public class FindMethodTest { + + private static MBeanServer server = + ManagementFactory.getPlatformMBeanServer(); + + private static Map> expectedMapping = + new HashMap>(); + private static Set STATE_SET = new HashSet(); + private static Set ENABLED_SET = new HashSet(); + private static Set DOIT_SET = new HashSet(); + private static Set STATUS_SET = new HashSet(); + private static Set HEAPMEMORYUSAGE_SET = new HashSet(); + private static Set THREADINFO_SET = new HashSet(); + private static Set DOIT_ANNOTATED_SET = new HashSet(); + private static Set IT_ANNOTATED_SET = new HashSet(); + private static HashSet> TEST_MBEAN_SET = + new HashSet>(); + private static HashSet> ANNOTATED_MBEAN_SET = + new HashSet>(); + private static HashSet> MEMORY_MBEAN_SET = + new HashSet>(); + private static HashSet> THREAD_MBEAN_SET = + new HashSet>(); + + public interface TestMBean { + + public void doIt(); + + public void setState(String str); + + public String getState(); + + public boolean isEnabled(); + + public void setStatus(int i); + } + + public interface FaultyTestMBean { + + public void doIt(String doIt); + + public long getState(); + + public void setEnabled(boolean b); + + public int getStatus(); + + public String setWrong(int i); + } + + @MBean + public static class AnnotatedTest { + @ManagedOperation + public void doItAnnotated() { + + } + + public void dontDoIt() { + + } + + @ManagedAttribute + public String getItAnnotated() { + return null; + } + @ManagedAttribute + public void setItAnnotated(String str) { + + } + + public String getItNot() { + return null; + } + + } + + static class Test implements TestMBean { + + public void doIt() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setState(String str) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public String getState() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public boolean isEnabled() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setStatus(int i) { + throw new UnsupportedOperationException("Not supported yet."); + } + } + + + static { + try { + ENABLED_SET.add(TestMBean.class.getDeclaredMethod("isEnabled")); + + STATE_SET.add(TestMBean.class.getDeclaredMethod("getState")); + STATE_SET.add(TestMBean.class.getDeclaredMethod("setState", + String.class)); + STATUS_SET.add(TestMBean.class.getDeclaredMethod("setStatus", + int.class)); + + DOIT_SET.add(TestMBean.class.getDeclaredMethod("doIt")); + + DOIT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("doItAnnotated")); + + IT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("getItAnnotated")); + IT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("setItAnnotated", String.class)); + + THREADINFO_SET.add(ThreadMXBean.class.getDeclaredMethod("dumpAllThreads", boolean.class, + boolean.class)); + + HEAPMEMORYUSAGE_SET.add(MemoryMXBean.class.getDeclaredMethod("getHeapMemoryUsage")); + + TEST_MBEAN_SET.add(ENABLED_SET); + TEST_MBEAN_SET.add(STATE_SET); + TEST_MBEAN_SET.add(STATUS_SET); + TEST_MBEAN_SET.add(DOIT_SET); + + ANNOTATED_MBEAN_SET.add(DOIT_ANNOTATED_SET); + ANNOTATED_MBEAN_SET.add(IT_ANNOTATED_SET); + + MEMORY_MBEAN_SET.add(HEAPMEMORYUSAGE_SET); + + THREAD_MBEAN_SET.add(THREADINFO_SET); + + expectedMapping.put("State", STATE_SET); + expectedMapping.put("Enabled", ENABLED_SET); + expectedMapping.put("Status", STATUS_SET); + expectedMapping.put("doIt", DOIT_SET); + expectedMapping.put("HeapMemoryUsage", HEAPMEMORYUSAGE_SET); + expectedMapping.put("dumpAllThreads", THREADINFO_SET); + expectedMapping.put("doItAnnotated", DOIT_ANNOTATED_SET); + expectedMapping.put("ItAnnotated", IT_ANNOTATED_SET); + + } catch (Exception ex) { + ex.printStackTrace(); + throw new RuntimeException("Initialization failed"); + } + } + + private static void testMBean(ObjectName name, Class itf, + HashSet> expectMappings) + throws Exception { + + Set> expectedMappings = + (Set>) expectMappings.clone(); + + MBeanInfo info = server.getMBeanInfo(name); + for (MBeanAttributeInfo attr : info.getAttributes()) { + Set expected = expectedMapping.get(attr.getName()); + if (expected == null) { + continue; + } + if (!expectedMappings.remove(expected)) { + throw new Exception("The mapping to use is not the expected " + + "one for " + attr); + } + System.out.println("Expected : " + expected); + Set found = + StandardMBean.findAttributeAccessors(itf, attr); + System.out.println("Found : " + found); + if (!found.equals(expected)) { + throw new Exception("Mapping error."); + } + } + for (MBeanOperationInfo op : info.getOperations()) { + Set expected = expectedMapping.get(op.getName()); + if (expected == null) { + continue; + } + if (!expectedMappings.remove(expected)) { + throw new Exception("The mapping to use is not the expected " + + "one for " + op); + } + System.out.println("Expected : " + expected); + Method method = + StandardMBean.findOperationMethod(itf, op); + Set found = new HashSet(); + found.add(method); + System.out.println("Found : " + found); + if (!found.equals(expected)) { + throw new Exception("Mapping error."); + } + } + + if (expectedMappings.size() != 0) { + throw new Exception("Some mapping have not been found " + + expectedMappings); + } else { + System.out.println("All mappings have been found"); + } + } + + public static void main(String[] args) throws Exception { + // Positive tests + Test t = new Test(); + ObjectName name = ObjectName.valueOf(":type=Test"); + server.registerMBean(t, name); + AnnotatedTest at = new AnnotatedTest(); + ObjectName annotatedName = ObjectName.valueOf(":type=AnnotatedTest"); + server.registerMBean(at, annotatedName); + + testMBean(name, TestMBean.class, TEST_MBEAN_SET); + + testMBean(annotatedName, AnnotatedTest.class, ANNOTATED_MBEAN_SET); + + ObjectName memoryName = + ObjectName.valueOf(ManagementFactory.MEMORY_MXBEAN_NAME); + testMBean(memoryName, MemoryMXBean.class, MEMORY_MBEAN_SET); + + ObjectName threadName = + ObjectName.valueOf(ManagementFactory.THREAD_MXBEAN_NAME); + testMBean(threadName, ThreadMXBean.class, THREAD_MBEAN_SET); + + // Negative tests + try { + StandardMBean.findOperationMethod(null, + new MBeanOperationInfo("Test", + TestMBean.class.getDeclaredMethod("doIt"))); + throw new Exception("Expected exception not found"); + } catch (IllegalArgumentException ex) { + System.out.println("OK received expected exception " + ex); + } + try { + StandardMBean.findOperationMethod(TestMBean.class, null); + throw new Exception("Expected exception not found"); + } catch (IllegalArgumentException ex) { + System.out.println("OK received expected exception " + ex); + } + try { + StandardMBean.findAttributeAccessors(null, + new MBeanAttributeInfo("Test", "Test", + TestMBean.class.getDeclaredMethod("getState"), + TestMBean.class.getDeclaredMethod("setState", + String.class))); + throw new Exception("Expected exception not found"); + } catch (IllegalArgumentException ex) { + System.out.println("OK received expected exception " + ex); + } + try { + StandardMBean.findAttributeAccessors(TestMBean.class, null); + throw new Exception("Expected exception not found"); + } catch (IllegalArgumentException ex) { + System.out.println("OK received expected exception " + ex); + } + //Wrong operation signature + try { + StandardMBean.findOperationMethod(TestMBean.class, + new MBeanOperationInfo("FaultyTest", + FaultyTestMBean.class.getDeclaredMethod("doIt", + String.class))); + throw new Exception("Expected exception not found"); + } catch (NoSuchMethodException ex) { + System.out.println("OK received expected exception " + ex); + } + //Wrong attribute accessor + try { + StandardMBean.findAttributeAccessors(TestMBean.class, + new MBeanAttributeInfo("FaultyTest", "FaultyTest", null, + FaultyTestMBean.class.getDeclaredMethod("setEnabled", + String.class))); + throw new Exception("Expected exception not found"); + } catch (NoSuchMethodException ex) { + System.out.println("OK received expected exception " + ex); + } + //Wrong attribute type + try { + StandardMBean.findAttributeAccessors(TestMBean.class, + new MBeanAttributeInfo("State", "toto.FaultType", + "FaultyTest", true, true, false)); + throw new Exception("Expected exception not found"); + } catch (ClassNotFoundException ex) { + System.out.println("OK received expected exception " + ex); + } + //Wrong operation parameter type + try { + MBeanParameterInfo[] p = {new MBeanParameterInfo("p1", + "toto.FaultType2", "FaultyParameter") + }; + StandardMBean.findOperationMethod(TestMBean.class, + new MBeanOperationInfo("doIt", "FaultyMethod", p, "void", + 0)); + throw new Exception("Expected exception not found"); + } catch (ClassNotFoundException ex) { + System.out.println("OK received expected exception " + ex); + } + // Check that not annotated attributes are not found + try { + StandardMBean.findAttributeAccessors(AnnotatedTest.class, + new MBeanAttributeInfo("ItNot", String.class.getName(), + "FaultyTest", true, false, false)); + throw new Exception("Expected exception not found"); + } catch (NoSuchMethodException ex) { + System.out.println("OK received expected exception " + ex); + } + // Check that not annotated operations are not found + try { + StandardMBean.findOperationMethod(AnnotatedTest.class, + new MBeanOperationInfo("dontDoIt","dontDoIt",null, + Void.TYPE.getName(),0)); + throw new Exception("Expected exception not found"); + } catch (NoSuchMethodException ex) { + System.out.println("OK received expected exception " + ex); + } + // Check that wrong getter return type throws Exception + try { + StandardMBean.findAttributeAccessors(AnnotatedTest.class, + new MBeanAttributeInfo("ItAnnotated", Long.class.getName(), + "FaultyTest", true, false, false)); + throw new Exception("Expected exception not found"); + } catch (NoSuchMethodException ex) { + System.out.println("OK received expected exception " + ex); + } + // Check that wrong setter return type throws Exception + try { + StandardMBean.findAttributeAccessors(FaultyTestMBean.class, + new MBeanAttributeInfo("Wrong", String.class.getName(), + "FaultyTest", true, true, false)); + throw new Exception("Expected exception not found"); + } catch (NoSuchMethodException ex) { + System.out.println("OK received expected exception " + ex); + } + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/management/standardmbean/RegistrationTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/management/standardmbean/RegistrationTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,91 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6450834 + * @summary Forward MBeanRegistration calls + * @author JF Denise + * @run main RegistrationTest + */ + +import java.io.Serializable; +import java.lang.management.ManagementFactory; +import javax.management.*; + +public class RegistrationTest { + static boolean preRegisterCalled; + static boolean postRegisterCalled; + static boolean preDeregisterCalled; + static boolean postDeregisterCalled; + + static void checkResult(boolean expected) throws Exception { + if((preRegisterCalled != expected || + postRegisterCalled != expected || + preDeregisterCalled != expected || + postDeregisterCalled != expected)) + throw new Exception("Mismatch preRegisterCalled = " + + preRegisterCalled + ", postRegisterCalled = " + + postRegisterCalled + ", preDeregisterCalled = " + + preDeregisterCalled + ", postDeregisterCalled = " + + postDeregisterCalled); + } + static class Wrapped implements MBeanRegistration,Serializable { + + public ObjectName preRegister(MBeanServer server, ObjectName name) + throws Exception { + preRegisterCalled = true; + return name; + } + + public void postRegister(Boolean registrationDone) { + postRegisterCalled = true; + } + + public void preDeregister() throws Exception { + preDeregisterCalled = true; + } + + public void postDeregister() { + postDeregisterCalled = true; + } + + } + + public static void main(String[] args) throws Exception { + StandardMBean std = new StandardMBean(new Wrapped(), + Serializable.class); + ObjectName name = ObjectName.valueOf(":type=Test"); + ManagementFactory.getPlatformMBeanServer().registerMBean(std,name); + ManagementFactory.getPlatformMBeanServer().unregisterMBean(name); + checkResult(false); + StandardMBean.Options opt = new StandardMBean.Options(); + opt.setMBeanRegistrationForwarded(true); + std = new StandardMBean(new Wrapped(), + Serializable.class, opt ); + ManagementFactory.getPlatformMBeanServer().registerMBean(std,name); + ManagementFactory.getPlatformMBeanServer().unregisterMBean(name); + checkResult(true); + System.out.println("Test OK"); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/javax/print/CheckDupFlavor.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/print/CheckDupFlavor.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,67 @@ +/* + * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 4996318 6731937 + * @summary There should be no duplicates returned by getSupportedDocFlavors. + * @run main CheckDupFlavor + */ +import javax.print.*; +import javax.print.attribute.*; +import javax.print.attribute.standard.*; +import java.util.ArrayList; + + +public class CheckDupFlavor { + public static void main(String[] args){ + PrintService pservice = + PrintServiceLookup.lookupDefaultPrintService(); + + if (pservice == null) { + System.out.println("No default PrintService found. Test ABORTED."); + return; + } + + System.out.println("Default service = "+pservice); + + DocFlavor[] flavors = pservice.getSupportedDocFlavors(); + if (flavors==null) { + System.out.println("No flavors supported. Test PASSED."); + return; + } + + + ArrayList flavorList = new ArrayList(); + for (int i=0; i OPAQUE) { + gg.setColor(new Color(0, 0, 0, 0)); + gg.setComposite(AlphaComposite.Src); + } else { + gg.setColor(new Color(0xAD, 0xD8, 0xE6)); + } + gg.fillRect(0, 0, w, h); + } + + private void render(Image im, int type, String s) { + Graphics2D g2d = (Graphics2D) im.getGraphics(); + clear(g2d, type, im.getWidth(null), im.getHeight(null)); + g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB); + Font f = new Font("Dialog", Font.BOLD, 40);// g2d.getFont().deriveFont(32.0f); + g2d.setColor(Color.white); + g2d.setFont(g2d.getFont().deriveFont(36.0f)); + g2d.drawString(s, 10, im.getHeight(null) / 2); + } + + Image images[]; + private void initImages(int w, int h) { + if (images == null) { + images = new Image[6]; + GraphicsConfiguration gc = getGraphicsConfiguration(); + for (int i = OPAQUE; i <= TRANSLUCENT; i++) { + VolatileImage vi = + gc.createCompatibleVolatileImage(w,h/images.length,i); + images[i-1] = vi; + vi.validate(gc); + String s = "LCD AA Text rendered to " + tr[i - 1] + " HW destination"; + render(vi, i, s); + + s = "LCD AA Text rendered to " + tr[i - 1] + " SW destination"; + images[i-1+3] = gc.createCompatibleImage(w, h/images.length, i); + render(images[i-1+3], i, s); + } + } + } + + public static void main(String[] args) throws InterruptedException { + EventQueue.invokeLater(new Runnable() { + @Override + public void run() { + NonOpaqueDestLCDAATest t = new NonOpaqueDestLCDAATest(); + t.pack(); + t.setVisible(true); + } + }); + + complete.await(); + if (!passed) { + throw new RuntimeException("Test Failed!"); + } + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/sun/java2d/DirectX/OpaqueImageToSurfaceBlitTest/OpaqueImageToSurfaceBlitTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/sun/java2d/DirectX/OpaqueImageToSurfaceBlitTest/OpaqueImageToSurfaceBlitTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,75 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6764257 + * @summary Tests that the alpha in opaque images doesn't affect result of alpha + * compositing + * @author Dmitri.Trembovetski@sun.com: area=Graphics + * @run main/othervm OpaqueImageToSurfaceBlitTest + * @run main/othervm -Dsun.java2d.noddraw=true OpaqueImageToSurfaceBlitTest + * @run main/othervm -Dsun.java2d.opengl=True OpaqueImageToSurfaceBlitTest + */ + +import java.awt.AlphaComposite; +import java.awt.Graphics2D; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.image.BufferedImage; +import java.awt.image.DataBufferInt; +import java.awt.image.VolatileImage; + +public class OpaqueImageToSurfaceBlitTest { + + public static void main(String[] args) { + + GraphicsEnvironment ge = + GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice gd = ge.getDefaultScreenDevice(); + GraphicsConfiguration gc = gd.getDefaultConfiguration(); + VolatileImage vi = gc.createCompatibleVolatileImage(16, 16); + vi.validate(gc); + + BufferedImage bi = + new BufferedImage(2, 2, BufferedImage.TYPE_INT_RGB); + int data[] = ((DataBufferInt)bi.getRaster().getDataBuffer()).getData(); + data[0] = 0x0000007f; + data[1] = 0x0000007f; + data[2] = 0xff00007f; + data[3] = 0xff00007f; + Graphics2D g = vi.createGraphics(); + g.setComposite(AlphaComposite.SrcOver.derive(0.999f)); + g.drawImage(bi, 0, 0, null); + + bi = vi.getSnapshot(); + if (bi.getRGB(0, 0) != bi.getRGB(1, 1)) { + throw new RuntimeException("Test FAILED: color at 0x0 ="+ + Integer.toHexString(bi.getRGB(0, 0))+" differs from 1x1 ="+ + Integer.toHexString(bi.getRGB(1,1))); + } + + System.out.println("Test PASSED."); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 jdk/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java Wed Jul 05 16:45:14 2017 +0200 @@ -0,0 +1,107 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6764257 + * @summary Tests that the color is reset properly after save/restore context + * @author Dmitri.Trembovetski@sun.com: area=Graphics + * @compile -XDignore.symbol.file=true RSLContextInvalidationTest.java + * @run main/othervm RSLContextInvalidationTest + * @run main/othervm -Dsun.java2d.noddraw=true RSLContextInvalidationTest + * @run main/othervm -Dsun.java2d.opengl=True RSLContextInvalidationTest + */ + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.image.BufferedImage; +import java.awt.image.VolatileImage; +import sun.java2d.DestSurfaceProvider; +import sun.java2d.Surface; +import sun.java2d.pipe.RenderQueue; +import sun.java2d.pipe.hw.*; + +public class RSLContextInvalidationTest { + + public static void main(String[] args) { + GraphicsEnvironment ge = + GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice gd = ge.getDefaultScreenDevice(); + GraphicsConfiguration gc = gd.getDefaultConfiguration(); + VolatileImage vi = gc.createCompatibleVolatileImage(100, 100); + vi.validate(gc); + VolatileImage vi1 = gc.createCompatibleVolatileImage(100, 100); + vi1.validate(gc); + + if (!(vi instanceof DestSurfaceProvider)) { + System.out.println("Test considered PASSED: no HW acceleration"); + return; + } + + DestSurfaceProvider p = (DestSurfaceProvider)vi; + Surface s = p.getDestSurface(); + if (!(s instanceof AccelSurface)) { + System.out.println("Test considered PASSED: no HW acceleration"); + return; + } + AccelSurface dst = (AccelSurface)s; + + Graphics g = vi.createGraphics(); + g.drawImage(vi1, 95, 95, null); + g.setColor(Color.red); + g.fillRect(0, 0, 100, 100); + g.setColor(Color.black); + g.fillRect(0, 0, 100, 100); + // after this the validated context color is black + + RenderQueue rq = dst.getContext().getRenderQueue(); + rq.lock(); + try { + dst.getContext().saveState(); + dst.getContext().restoreState(); + } finally { + rq.unlock(); + } + + // this will cause ResetPaint (it will set color to extended EA=ff, + // which is ffffffff==Color.white) + g.drawImage(vi1, 95, 95, null); + + // now try filling with black again, but it will come up as white + // because this fill rect won't validate the color properly + g.setColor(Color.black); + g.fillRect(0, 0, 100, 100); + + BufferedImage bi = vi.getSnapshot(); + if (bi.getRGB(50, 50) != Color.black.getRGB()) { + throw new RuntimeException("Test FAILED: found color="+ + Integer.toHexString(bi.getRGB(50, 50))+" instead of "+ + Integer.toHexString(Color.black.getRGB())); + } + + System.out.println("Test PASSED."); + } +} diff -r 7157899b7d32 -r 41bd0a702bc8 langtools/.hgtags --- a/langtools/.hgtags Wed Jul 05 16:44:40 2017 +0200 +++ b/langtools/.hgtags Wed Jul 05 16:45:14 2017 +0200 @@ -16,3 +16,4 @@ 3fb51e47622bb771571680bc6a7b64c6172b482d jdk7-b39 32e30988324601d08b87989f0821d99aa8534511 jdk7-b40 ded6b40f558e8d19b3c17715b3d67ee001606645 jdk7-b41 +5e5567c2db56a931cf07768218c20903d9828b5f jdk7-b42 diff -r 7157899b7d32 -r 41bd0a702bc8 langtools/test/com/sun/javadoc/testSourceTab/DoubleTab/C.java --- a/langtools/test/com/sun/javadoc/testSourceTab/DoubleTab/C.java Wed Jul 05 16:44:40 2017 +0200 +++ b/langtools/test/com/sun/javadoc/testSourceTab/DoubleTab/C.java Wed Jul 05 16:45:14 2017 +0200 @@ -1,4 +1,4 @@ -/* +/* * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -23,15 +23,15 @@ /** *
- * 		This source
- * 		is indented
- * 		with tabs.
+ * \t\tThis source
+ * \t\tis indented
+ * \t\twith tabs.
  * 
*/ public class C { - - //This source - //is indented - //with tabs. - + +\t\t//This source +\t\t//is indented +\t\t//with tabs. + } diff -r 7157899b7d32 -r 41bd0a702bc8 langtools/test/com/sun/javadoc/testSourceTab/SingleTab/C.java --- a/langtools/test/com/sun/javadoc/testSourceTab/SingleTab/C.java Wed Jul 05 16:44:40 2017 +0200 +++ b/langtools/test/com/sun/javadoc/testSourceTab/SingleTab/C.java Wed Jul 05 16:45:14 2017 +0200 @@ -1,4 +1,4 @@ -/* +/* * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -23,15 +23,15 @@ /** *
- *	This source
- * 	is indented
- * 	with tabs.
+ *\tThis source
+ * \tis indented
+ * \twith tabs.
  * 
*/ public class C { - - //This source - //is indented - //with tabs. - + +\t//This source +\t//is indented +\t//with tabs. + } diff -r 7157899b7d32 -r 41bd0a702bc8 langtools/test/com/sun/javadoc/testSourceTab/TestSourceTab.java --- a/langtools/test/com/sun/javadoc/testSourceTab/TestSourceTab.java Wed Jul 05 16:44:40 2017 +0200 +++ b/langtools/test/com/sun/javadoc/testSourceTab/TestSourceTab.java Wed Jul 05 16:45:14 2017 +0200 @@ -1,5 +1,5 @@ -/* - * Copyright 2002-2004 Sun Microsystems, Inc. All Rights Reserved. +/* + * Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,59 +33,102 @@ * @run main TestSourceTab */ +import java.io.*; + public class TestSourceTab extends JavadocTester { - + private static final String BUG_ID = "4510979"; + private static final String TMP_SRC_DIR = "tmpSrc"; private static final String OUTPUT_DIR1 = BUG_ID + "-tabLengthEight"; private static final String OUTPUT_DIR2 = BUG_ID + "-tabLengthFour"; private static final String[][] TEST = NO_TEST; private static final String[][] NEGATED_TEST = NO_TEST; - + //Run Javadoc on a source file with that is indented with a single tab per line private static final String[] ARGS1 = new String[] { - "-d", OUTPUT_DIR1, "-sourcepath", SRC_DIR, - "-notimestamp", "-linksource", SRC_DIR + FS + "SingleTab" + FS + "C.java" + "-d", OUTPUT_DIR1, "-sourcepath", TMP_SRC_DIR, + "-notimestamp", "-linksource", TMP_SRC_DIR + FS + "SingleTab" + FS + "C.java" }; - + //Run Javadoc on a source file with that is indented with a two tab per line //If we double the tabs and decrease the tab length by a half, the output should //be the same as the one generated above. private static final String[] ARGS2 = new String[] { - "-d", OUTPUT_DIR2, "-sourcepath", SRC_DIR, - "-notimestamp", "-sourcetab", "4", SRC_DIR + FS + "DoubleTab" + FS + "C.java" + "-d", OUTPUT_DIR2, "-sourcepath", TMP_SRC_DIR, + "-notimestamp", "-sourcetab", "4", TMP_SRC_DIR + FS + "DoubleTab" + FS + "C.java" }; - + //Files to diff private static final String[][] FILES_TO_DIFF = { {OUTPUT_DIR1 + FS + "src-html" + FS + "C.html", OUTPUT_DIR2 + FS + "src-html" + FS + "C.html" - }, + }, {OUTPUT_DIR1 + FS + "C.html", OUTPUT_DIR2 + FS + "C.html" } - + }; - + /** * The entry point of the test. * @param args the array of command line arguments. */ - public static void main(String[] args) { + public static void main(String[] args) throws IOException { TestSourceTab tester = new TestSourceTab(); run(tester, ARGS1, TEST, NEGATED_TEST); run(tester, ARGS2, TEST, NEGATED_TEST); tester.runDiffs(FILES_TO_DIFF); } - + + TestSourceTab() throws IOException { + initTabs(new File(SRC_DIR), new File(TMP_SRC_DIR)); + } + + void initTabs(File from, File to) throws IOException { + for (File f: from.listFiles()) { + File t = new File(to, f.getName()); + if (f.isDirectory()) { + initTabs(f, t); + } else if (f.getName().endsWith(".java")) { + write(t, read(f).replace("\\t", "\t")); + } + } + } + + String read(File f) throws IOException { + StringBuilder sb = new StringBuilder(); + BufferedReader in = new BufferedReader(new FileReader(f)); + try { + String line; + while ((line = in.readLine()) != null) { + sb.append(line); + sb.append("\n"); + } + } finally { + in.close(); + } + return sb.toString(); + } + + void write(File f, String s) throws IOException { + f.getParentFile().mkdirs(); + Writer out = new FileWriter(f); + try { + out.write(s); + } finally { + out.close(); + } + } + /** * {@inheritDoc} */ public String getBugId() { return BUG_ID; } - + /** * {@inheritDoc} */