提交 11c9e4cc 编写于 作者: L lana

Merge

...@@ -70,3 +70,4 @@ f2dce7210cc00453c23e53edeec7156f112ca382 jdk7-b92 ...@@ -70,3 +70,4 @@ f2dce7210cc00453c23e53edeec7156f112ca382 jdk7-b92
219b84b9533ae4fe3c6c2083f8a8962cb579f1de jdk7-b93 219b84b9533ae4fe3c6c2083f8a8962cb579f1de jdk7-b93
cf44386c8fe3fbdb9da14346be25d19fd1092f71 jdk7-b94 cf44386c8fe3fbdb9da14346be25d19fd1092f71 jdk7-b94
db951e984ccf50756160fee3078c791300b0917e jdk7-b95 db951e984ccf50756160fee3078c791300b0917e jdk7-b95
51b9e5dbc2da0631414484b934ac3fb62e48a2c6 jdk7-b96
...@@ -194,7 +194,16 @@ ifeq ($(FASTDEBUG), true) ...@@ -194,7 +194,16 @@ ifeq ($(FASTDEBUG), true)
CXXFLAGS_DBG += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL)) CXXFLAGS_DBG += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
endif endif
CPPFLAGS_COMMON = -D$(ARCH) -DARCH='"$(ARCH)"' -DLINUX $(VERSION_DEFINES) \ CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
ifneq ($(ARCH),alpha)
CPP_ARCH_FLAGS += -D$(ARCH)
else
CPP_ARCH_FLAGS += -D_$(ARCH)_
endif
CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \
-D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
ifeq ($(ARCH_DATA_MODEL), 64) ifeq ($(ARCH_DATA_MODEL), 64)
......
...@@ -639,21 +639,8 @@ AWT_RUNPATH = -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_RUNTIME_LIB) ...@@ -639,21 +639,8 @@ AWT_RUNPATH = -R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_RUNTIME_LIB)
# in general this is ok to continue to do. # in general this is ok to continue to do.
LIBCXX = /usr/lib$(ISA_DIR)/libCrun.so.1 LIBCXX = /usr/lib$(ISA_DIR)/libCrun.so.1
# Math Library (libm.so), do not use -lm. # JDK now requires Solaris 10, so pick up libm.so.2
# There might be two versions of libm.so on the build system: LIBM = /usr/lib$(ISA_DIR)/libm.so.2
# libm.so.1 and libm.so.2, and we want libm.so.1.
# Depending on the Solaris release being used to build with,
# /usr/lib/libm.so could point at a libm.so.2, so we are
# explicit here so that the libjvm.so you have built will work on an
# older Solaris release that might not have libm.so.2.
# This is a critical factor in allowing builds on Solaris 10 or newer
# to run on Solaris 8 or 9.
#
# Note: Historically there was also a problem picking up a static version
# of libm.a from the compiler area, but that problem has gone away
# with the newer compilers. Use of libm.a would cause .so bloat.
#
LIBM = /usr/lib$(ISA_DIR)/libm.so.1
# Socket library # Socket library
LIBSOCKET = -lsocket LIBSOCKET = -lsocket
......
...@@ -647,7 +647,9 @@ $(RT_JAR_FILELIST) + $(RES_JAR_FILELIST): \ ...@@ -647,7 +647,9 @@ $(RT_JAR_FILELIST) + $(RES_JAR_FILELIST): \
JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp
$(JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST) $(JAR_MANIFEST_FILE): $(MAINMANIFEST) $(BEANMANIFEST)
$(prep-target) $(prep-target)
$(SED) -e "s/@@RELEASE@@/$(RELEASE)/" $(MAINMANIFEST) >> $@ $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \
-e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \
$(MAINMANIFEST) >> $@
$(ECHO) >> $@ $(ECHO) >> $@
$(CAT) $(BEANMANIFEST) >> $@ $(CAT) $(BEANMANIFEST) >> $@
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
# #
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any # or visit www.oracle.com if you need additional information or have any
# have any questions # questions.
# #
# #
......
...@@ -214,7 +214,7 @@ else ...@@ -214,7 +214,7 @@ else
PRODUCT_NAME = Java(TM) PRODUCT_NAME = Java(TM)
PRODUCT_SUFFIX = SE Runtime Environment PRODUCT_SUFFIX = SE Runtime Environment
JDK_RC_PLATFORM_NAME = Platform SE JDK_RC_PLATFORM_NAME = Platform SE
COMPANY_NAME = Sun Microsystems, Inc. COMPANY_NAME = Oracle
endif endif
RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX) RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX)
......
# #
# Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1997, 20010, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -232,14 +232,34 @@ ifeq ($(PLATFORM), windows) ...@@ -232,14 +232,34 @@ ifeq ($(PLATFORM), windows)
TEMP_DISK=C:/temp TEMP_DISK=C:/temp
# GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always
# return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead. # return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead.
# And sometimes PROCESSOR_IDENTIFIER is not defined at all
# (in some restricted shells), so we use uname if we have to.
ifeq ($(PROCESSOR_IDENTIFIER),)
PROC_ARCH:=$(shell uname -m)
else
PROC_ARCH:=$(word 1, $(PROCESSOR_IDENTIFIER)) PROC_ARCH:=$(word 1, $(PROCESSOR_IDENTIFIER))
PROC_ARCH:=$(subst x86,X86,$(PROC_ARCH)) endif
PROC_ARCH:=$(subst Intel64,X64,$(PROC_ARCH)) # Cover all the possibilities, MKS uname, CYGWIN uname, PROCESSOR_IDENTIFIER
PROC_ARCH:=$(subst em64t,X64,$(PROC_ARCH)) # Get: X86, X64, or IA64
PROC_ARCH:=$(subst EM64T,X64,$(PROC_ARCH)) PROC_ARCH:=$(patsubst 386,X86,$(PROC_ARCH))
PROC_ARCH:=$(subst amd64,X64,$(PROC_ARCH)) PROC_ARCH:=$(patsubst 486,X86,$(PROC_ARCH))
PROC_ARCH:=$(subst AMD64,X64,$(PROC_ARCH)) PROC_ARCH:=$(patsubst 586,X86,$(PROC_ARCH))
PROC_ARCH:=$(subst ia64,IA64,$(PROC_ARCH)) PROC_ARCH:=$(patsubst 686,X86,$(PROC_ARCH))
PROC_ARCH:=$(patsubst i386,X86,$(PROC_ARCH))
PROC_ARCH:=$(patsubst i486,X86,$(PROC_ARCH))
PROC_ARCH:=$(patsubst i586,X86,$(PROC_ARCH))
PROC_ARCH:=$(patsubst i686,X86,$(PROC_ARCH))
PROC_ARCH:=$(patsubst x86,X86,$(PROC_ARCH))
PROC_ARCH:=$(patsubst intel64,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst Intel64,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst INTEL64,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst em64t,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst EM64T,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst amd64,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst AMD64,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst 8664,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst x86_64,X64,$(PROC_ARCH))
PROC_ARCH:=$(patsubst ia64,IA64,$(PROC_ARCH))
ifndef ARCH_DATA_MODEL ifndef ARCH_DATA_MODEL
ifeq ($(PROC_ARCH),IA64) ifeq ($(PROC_ARCH),IA64)
ARCH_DATA_MODEL=64 ARCH_DATA_MODEL=64
......
...@@ -34,6 +34,7 @@ JAVA_JAVA_java = \ ...@@ -34,6 +34,7 @@ JAVA_JAVA_java = \
java/lang/Thread.java \ java/lang/Thread.java \
java/lang/Character.java \ java/lang/Character.java \
java/lang/CharacterData.java \ java/lang/CharacterData.java \
java/lang/CharacterName.java \
sun/misc/ASCIICaseInsensitiveComparator.java \ sun/misc/ASCIICaseInsensitiveComparator.java \
sun/misc/VM.java \ sun/misc/VM.java \
sun/misc/Signal.java \ sun/misc/Signal.java \
......
...@@ -384,6 +384,27 @@ clean:: ...@@ -384,6 +384,27 @@ clean::
$(RM) $(GENSRCDIR)/java/lang/CharacterDataUndefined.java $(RM) $(GENSRCDIR)/java/lang/CharacterDataUndefined.java
$(RM) $(GENSRCDIR)/java/lang/CharacterDataPrivateUse.java $(RM) $(GENSRCDIR)/java/lang/CharacterDataPrivateUse.java
#
# Rules to generate classes/java/lang/uniName.dat
#
UNINAME = $(CLASSBINDIR)/java/lang/uniName.dat
GENERATEUNINAME_JARFILE = $(BUILDTOOLJARDIR)/generatecharacter.jar
build: $(UNINAME)
$(UNINAME): $(UNICODEDATA)/UnicodeData.txt \
$(GENERATECHARACTER_JARFILE)
@$(prep-target)
$(BOOT_JAVA_CMD) -classpath $(GENERATECHARACTER_JARFILE) \
build.tools.generatecharacter.CharacterName \
$(UNICODEDATA)/UnicodeData.txt $(UNINAME)
clean::
$(RM) $(UNINAME)
# #
# End of rules to create $(GENSRCDIR)/java/lang/CharacterDataXX.java # End of rules to create $(GENSRCDIR)/java/lang/CharacterDataXX.java
# #
......
...@@ -818,7 +818,7 @@ GENSOR_SRC = $(SHARE_SRC)/native/sun/nio/ch/genSocketOptionRegistry.c ...@@ -818,7 +818,7 @@ GENSOR_SRC = $(SHARE_SRC)/native/sun/nio/ch/genSocketOptionRegistry.c
GENSOR_EXE = $(TEMPDIR)/genSocketOptionRegistry$(EXE_SUFFIX) GENSOR_EXE = $(TEMPDIR)/genSocketOptionRegistry$(EXE_SUFFIX)
SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSOR_SRC) | \ SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSOR_SRC) | \
$(NAWK) '/^.*Copyright.*Sun/ { print $$3 }') $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
$(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC) $(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC)
$(install-non-module-file) $(install-non-module-file)
...@@ -830,7 +830,7 @@ $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC) ...@@ -830,7 +830,7 @@ $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
$(SCH_GEN)/SocketOptionRegistry.java: $(GENSOR_EXE) $(SCH_GEN)/SocketOptionRegistry.java: $(GENSOR_EXE)
$(prep-target) $(prep-target)
NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh $(SOR_COPYRIGHT_YEARS) > $@ NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@
$(GENSOR_EXE) >> $@ $(GENSOR_EXE) >> $@
# #
...@@ -852,7 +852,7 @@ GENUC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genUnixConstants.c ...@@ -852,7 +852,7 @@ GENUC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genUnixConstants.c
GENUC_EXE = $(TEMPDIR)/genUnixConstants GENUC_EXE = $(TEMPDIR)/genUnixConstants
GENUC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENUC_SRC) | \ GENUC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENUC_SRC) | \
$(NAWK) '/^.*Copyright.*Sun/ { print $$3 }') $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
$(GENUC_EXE) : $(GENUC_SRC) $(GENUC_EXE) : $(GENUC_SRC)
$(prep-target) $(prep-target)
...@@ -860,7 +860,7 @@ $(GENUC_EXE) : $(GENUC_SRC) ...@@ -860,7 +860,7 @@ $(GENUC_EXE) : $(GENUC_SRC)
$(SFS_GEN)/UnixConstants.java: $(GENUC_EXE) $(SFS_GEN)/UnixConstants.java: $(GENUC_EXE)
$(prep-target) $(prep-target)
NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh $(GENUC_COPYRIGHT_YEARS) > $@ NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENUC_COPYRIGHT_YEARS)" > $@
$(GENUC_EXE) >> $@ $(GENUC_EXE) >> $@
GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c
...@@ -868,7 +868,7 @@ GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c ...@@ -868,7 +868,7 @@ GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c
GENSC_EXE = $(TEMPDIR)/genSolarisConstants GENSC_EXE = $(TEMPDIR)/genSolarisConstants
GENSC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSC_SRC) | \ GENSC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSC_SRC) | \
$(NAWK) '/^.*Copyright.*Sun/ { print $$3 }') $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
$(GENSC_EXE) : $(GENSC_SRC) $(GENSC_EXE) : $(GENSC_SRC)
$(prep-target) $(prep-target)
...@@ -876,7 +876,7 @@ $(GENSC_EXE) : $(GENSC_SRC) ...@@ -876,7 +876,7 @@ $(GENSC_EXE) : $(GENSC_SRC)
$(SFS_GEN)/SolarisConstants.java: $(GENSC_EXE) $(SFS_GEN)/SolarisConstants.java: $(GENSC_EXE)
$(prep-target) $(prep-target)
NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh $(GENSC_COPYRIGHT_YEARS) > $@ NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENSC_COPYRIGHT_YEARS)" > $@
$(GENSC_EXE) >> $@ $(GENSC_EXE) >> $@
.PHONY: sources .PHONY: sources
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
# a java comment block. If this script is invoked with a copyright # a java comment block. If this script is invoked with a copyright
# year/year range, the java comment block will contain a Sun copyright. # year/year range, the java comment block will contain a Sun copyright.
COPYRIGHT_YEARS=$1 COPYRIGHT_YEARS="$1"
cat <<__END__ cat <<__END__
/* /*
...@@ -36,10 +36,10 @@ __END__ ...@@ -36,10 +36,10 @@ __END__
if [ "x$COPYRIGHT_YEARS" != x ]; then if [ "x$COPYRIGHT_YEARS" != x ]; then
cat <<__END__ cat <<__END__
* Copyright $COPYRIGHT_YEARS Sun Microsystems, Inc. All Rights Reserved. * Copyright (c) $COPYRIGHT_YEARS Oracle and/or its affiliates. All rights reserved.
__END__ __END__
fi fi
$NAWK ' /^#.*Copyright.*Sun/ { next } $NAWK ' /^#.*Copyright.*Oracle/ { next }
/^#([^!]|$)/ { sub(/^#/, " *"); print } /^#([^!]|$)/ { sub(/^#/, " *"); print }
/^$/ { print " */"; exit } ' $0 /^$/ { print " */"; exit } ' $0
...@@ -36,7 +36,7 @@ SPEC=$1; shift ...@@ -36,7 +36,7 @@ SPEC=$1; shift
DST=$1; shift DST=$1; shift
eval `$NAWK <$SPEC ' eval `$NAWK <$SPEC '
/^[ \t]*copyright / { printf "COPYRIGHT_YEARS=%s\n", $2; } /^[ \t]*copyright / { printf "COPYRIGHT_YEARS=\"%s %s\"\n", $2, $3; }
/^[ \t]*package / { printf "PKG=%s\n", $2; } /^[ \t]*package / { printf "PKG=%s\n", $2; }
/^[ \t]*class / { printf "CLASS=%s\n", $2; } /^[ \t]*class / { printf "CLASS=%s\n", $2; }
'` '`
......
...@@ -174,7 +174,7 @@ else ...@@ -174,7 +174,7 @@ else
# Check CYGWIN (should have already been done) # Check CYGWIN (should have already been done)
# Assumption here is that you are in a shell window via cygwin. # Assumption here is that you are in a shell window via cygwin.
proc_arch=`echo "$(PROCESSOR_IDENTIFIER)" | expand | cut -d' ' -f1 | sed -e 's@x86@X86@g' -e 's@Intel64@X64@g' -e 's@em64t@X64@g' -e 's@EM64T@X64@g' -e 's@amd64@X64@g' -e 's@AMD64@X64@g' -e 's@ia64@IA64@g'` proc_arch=`echo "${PROCESSOR_IDENTIFIER}" | expand | cut -d' ' -f1 | sed -e 's@x86@X86@g' -e 's@Intel64@X64@g' -e 's@em64t@X64@g' -e 's@EM64T@X64@g' -e 's@amd64@X64@g' -e 's@AMD64@X64@g' -e 's@ia64@IA64@g'`
if [ "${proc_arch}" = "X64" ] ; then if [ "${proc_arch}" = "X64" ] ; then
windows_arch=amd64 windows_arch=amd64
else else
......
...@@ -823,6 +823,10 @@ module jar-tool { ...@@ -823,6 +823,10 @@ module jar-tool {
include sun.tools.jar.**; include sun.tools.jar.**;
} }
module policytool {
include sun.security.tools.policytool.*;
}
module security-tools { module security-tools {
include sun.security.tools.**; include sun.security.tools.**;
......
...@@ -312,6 +312,7 @@ SUNWprivate_1.1 { ...@@ -312,6 +312,7 @@ SUNWprivate_1.1 {
Java_sun_awt_X11GraphicsEnvironment_initGLX; Java_sun_awt_X11GraphicsEnvironment_initGLX;
Java_sun_awt_X11GraphicsEnvironment_pRunningXinerama; Java_sun_awt_X11GraphicsEnvironment_pRunningXinerama;
Java_sun_awt_X11GraphicsEnvironment_getXineramaCenterPoint; Java_sun_awt_X11GraphicsEnvironment_getXineramaCenterPoint;
Java_sun_awt_X11GraphicsEnvironment_initXRender;
#Java_sun_awt_motif_MEmbedCanvasPeer_initXEmbedServer; #Java_sun_awt_motif_MEmbedCanvasPeer_initXEmbedServer;
#Java_sun_awt_motif_MEmbedCanvasPeer_destroyXEmbedServer; #Java_sun_awt_motif_MEmbedCanvasPeer_destroyXEmbedServer;
#Java_sun_awt_motif_MEmbedCanvasPeer_isXEmbedActive; #Java_sun_awt_motif_MEmbedCanvasPeer_isXEmbedActive;
...@@ -406,18 +407,53 @@ SUNWprivate_1.1 { ...@@ -406,18 +407,53 @@ SUNWprivate_1.1 {
Java_sun_java2d_x11_X11SurfaceData_initIDs; Java_sun_java2d_x11_X11SurfaceData_initIDs;
Java_sun_java2d_x11_X11SurfaceData_initOps; Java_sun_java2d_x11_X11SurfaceData_initOps;
Java_sun_java2d_x11_X11SurfaceData_initSurface; Java_sun_java2d_x11_X11SurfaceData_initSurface;
Java_sun_java2d_x11_X11SurfaceData_isDrawableValid;
Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable; Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable;
Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable; Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable;
Java_sun_java2d_x11_X11SurfaceData_setInvalid;
Java_sun_java2d_x11_X11SurfaceData_flushNativeSurface;
Java_sun_java2d_x11_X11SurfaceData_XCreateGC;
Java_sun_java2d_x11_X11SurfaceData_XResetClip;
Java_sun_java2d_x11_X11SurfaceData_XSetClip;
Java_sun_java2d_x11_X11SurfaceData_XSetCopyMode; Java_sun_java2d_x11_X11SurfaceData_XSetCopyMode;
Java_sun_java2d_x11_X11SurfaceData_XSetXorMode; Java_sun_java2d_x11_X11SurfaceData_XSetXorMode;
Java_sun_java2d_x11_X11SurfaceData_XSetForeground; Java_sun_java2d_x11_X11SurfaceData_XSetForeground;
Java_sun_java2d_x11_X11SurfaceData_XSetGraphicsExposures;
Java_sun_java2d_x11_XSurfaceData_initOps;
Java_sun_java2d_x11_XSurfaceData_XCreateGC;
Java_sun_java2d_x11_XSurfaceData_XResetClip;
Java_sun_java2d_x11_XSurfaceData_XSetClip;
Java_sun_java2d_x11_XSurfaceData_flushNativeSurface;
Java_sun_java2d_x11_XSurfaceData_isDrawableValid;
Java_sun_java2d_x11_XSurfaceData_setInvalid;
Java_sun_java2d_x11_XSurfaceData_XSetGraphicsExposures;
Java_sun_java2d_xr_XRSurfaceData_initXRPicture;
Java_sun_java2d_xr_XRSurfaceData_initIDs;
Java_sun_java2d_xr_XRSurfaceData_XRInitSurface;
Java_sun_java2d_xr_XRBackendNative_initIDs;
Java_sun_java2d_xr_XIDGenerator_bufferXIDs;
Java_sun_java2d_xr_XRBackendNative_freeGC;
Java_sun_java2d_xr_XRBackendNative_createGC;
Java_sun_java2d_xr_XRBackendNative_createPixmap;
Java_sun_java2d_xr_XRBackendNative_createPictureNative;
Java_sun_java2d_xr_XRBackendNative_freePicture;
Java_sun_java2d_xr_XRBackendNative_freePixmap;
Java_sun_java2d_xr_XRBackendNative_setPictureRepeat;
Java_sun_java2d_xr_XRBackendNative_setGCExposures;
Java_sun_java2d_xr_XRBackendNative_setGCForeground;
Java_sun_java2d_xr_XRBackendNative_copyArea;
Java_sun_java2d_xr_XRBackendNative_renderComposite;
Java_sun_java2d_xr_XRBackendNative_renderRectangle;
Java_sun_java2d_xr_XRBackendNative_XRenderRectanglesNative;
Java_sun_java2d_xr_XRBackendNative_XRSetTransformNative;
Java_sun_java2d_xr_XRBackendNative_XRCreateLinearGradientPaintNative;
Java_sun_java2d_xr_XRBackendNative_XRCreateRadialGradientPaintNative;
Java_sun_java2d_xr_XRBackendNative_setFilter;
Java_sun_java2d_xr_XRBackendNative_XRSetClipNative;
Java_sun_java2d_xr_XRBackendNative_putMaskNative;
Java_sun_java2d_xr_XRBackendNative_XRAddGlyphsNative;
Java_sun_java2d_xr_XRBackendNative_XRFreeGlyphsNative;
Java_sun_java2d_xr_XRBackendNative_XRenderCreateGlyphSetNative;
Java_sun_java2d_xr_XRBackendNative_XRenderCompositeTextNative;
Java_sun_java2d_xr_XRBackendNative_setGCMode;
Java_sun_java2d_xr_XRBackendNative_GCRectanglesNative;
Java_sun_java2d_xr_XRUtils_initFormatPtrs;
Java_sun_java2d_xr_XRBackendNative_renderCompositeTrapezoidsNative;
XRT_DrawGlyphList;
Java_sun_java2d_opengl_OGLContext_getOGLIdString; Java_sun_java2d_opengl_OGLContext_getOGLIdString;
Java_sun_java2d_opengl_OGLMaskFill_maskFill; Java_sun_java2d_opengl_OGLMaskFill_maskFill;
......
...@@ -425,6 +425,7 @@ SUNWprivate_1.1 { ...@@ -425,6 +425,7 @@ SUNWprivate_1.1 {
Java_sun_awt_X11GraphicsEnvironment_initDisplay; Java_sun_awt_X11GraphicsEnvironment_initDisplay;
Java_sun_awt_X11GraphicsEnvironment_pRunningXinerama; Java_sun_awt_X11GraphicsEnvironment_pRunningXinerama;
Java_sun_awt_X11GraphicsEnvironment_getXineramaCenterPoint; Java_sun_awt_X11GraphicsEnvironment_getXineramaCenterPoint;
Java_sun_awt_X11GraphicsEnvironment_initXRender;
......
...@@ -46,17 +46,20 @@ SUNWprivate_1.1 { ...@@ -46,17 +46,20 @@ SUNWprivate_1.1 {
Java_sun_java2d_x11_X11Renderer_XFillRoundRect; Java_sun_java2d_x11_X11Renderer_XFillRoundRect;
Java_sun_java2d_x11_X11Renderer_devCopyArea; Java_sun_java2d_x11_X11Renderer_devCopyArea;
Java_sun_java2d_x11_X11SurfaceData_initIDs; Java_sun_java2d_x11_X11SurfaceData_initIDs;
Java_sun_java2d_x11_X11SurfaceData_initOps;
Java_sun_java2d_x11_X11SurfaceData_isDrawableValid;
Java_sun_java2d_x11_X11SurfaceData_initSurface; Java_sun_java2d_x11_X11SurfaceData_initSurface;
Java_sun_java2d_x11_X11SurfaceData_setInvalid;
Java_sun_java2d_x11_X11SurfaceData_XCreateGC;
Java_sun_java2d_x11_X11SurfaceData_XResetClip;
Java_sun_java2d_x11_X11SurfaceData_XSetClip;
Java_sun_java2d_x11_X11SurfaceData_XSetCopyMode; Java_sun_java2d_x11_X11SurfaceData_XSetCopyMode;
Java_sun_java2d_x11_X11SurfaceData_XSetXorMode; Java_sun_java2d_x11_X11SurfaceData_XSetXorMode;
Java_sun_java2d_x11_X11SurfaceData_XSetForeground; Java_sun_java2d_x11_X11SurfaceData_XSetForeground;
Java_sun_java2d_x11_XSurfaceData_initOps;
Java_sun_java2d_x11_XSurfaceData_XCreateGC;
Java_sun_java2d_x11_XSurfaceData_XResetClip;
Java_sun_java2d_x11_XSurfaceData_XSetClip;
Java_sun_java2d_x11_XSurfaceData_flushNativeSurface;
Java_sun_java2d_x11_XSurfaceData_isDrawableValid;
Java_sun_java2d_x11_XSurfaceData_setInvalid;
Java_sun_java2d_x11_XSurfaceData_XSetGraphicsExposures;
X11SurfaceData_GetOps; X11SurfaceData_GetOps;
Java_java_awt_Font_initIDs; Java_java_awt_Font_initIDs;
Java_sun_font_FontConfigManager_getFontConfig; Java_sun_font_FontConfigManager_getFontConfig;
......
...@@ -113,7 +113,7 @@ CPPFLAGS += -I$(OPENWIN_HOME)/include \ ...@@ -113,7 +113,7 @@ CPPFLAGS += -I$(OPENWIN_HOME)/include \
# Libraries to link in. # Libraries to link in.
# #
ifeq ($(PLATFORM), solaris) ifeq ($(PLATFORM), solaris)
OTHER_LDLIBS = -L$(LIBDIR)/$(LIBARCH) -L$(OPENWIN_LIB) -L$(LIBDIR)/$(LIBARCH)/xawt -lmawt OTHER_LDLIBS = -L$(LIBDIR)/$(LIBARCH) -L$(OPENWIN_LIB) -L$(LIBDIR)/$(LIBARCH)/xawt -lmawt -L/usr/openwin/sfw/lib$(ISA_DIR) -lXrender
endif # PLATFORM endif # PLATFORM
ifeq ($(PLATFORM), linux) ifeq ($(PLATFORM), linux)
......
# #
# Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -47,5 +47,5 @@ include $(BUILDDIR)/common/Classes.gmk ...@@ -47,5 +47,5 @@ include $(BUILDDIR)/common/Classes.gmk
build: build:
$(call make-launcher, keytool, sun.security.tools.KeyTool, , ) $(call make-launcher, keytool, sun.security.tools.KeyTool, , )
$(call make-launcher, policytool, sun.security.tools.PolicyTool, , ) $(call make-launcher, policytool, sun.security.tools.policytool.PolicyTool, , )
...@@ -80,4 +80,6 @@ FILES_c = \ ...@@ -80,4 +80,6 @@ FILES_c = \
swing_GTKEngine.c \ swing_GTKEngine.c \
swing_GTKStyle.c \ swing_GTKStyle.c \
rect.c \ rect.c \
sun_awt_X11_GtkFileDialogPeer.c sun_awt_X11_GtkFileDialogPeer.c \
XRSurfaceData.c \
XRBackendNative.c
...@@ -49,6 +49,11 @@ AUTO_JAVA_PRUNE = WrapperGenerator.java ...@@ -49,6 +49,11 @@ AUTO_JAVA_PRUNE = WrapperGenerator.java
LDFLAGS += -L$(OPENWIN_LIB) LDFLAGS += -L$(OPENWIN_LIB)
# For Xrender extension.
ifeq ($(PLATFORM), solaris)
LDFLAGS += -L/usr/openwin/sfw/lib$(ISA_DIR) -R/usr/openwin/sfw/lib$(ISA_DIR)
endif
ifeq ($(PLATFORM), linux) ifeq ($(PLATFORM), linux)
LDFLAGS += -lpthread LDFLAGS += -lpthread
dummy := $(shell $(MKDIR) -p $(LIB_LOCATION)) dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
...@@ -88,7 +93,7 @@ vpath %.c $(SHARE_SRC)/native/sun/java2d/opengl ...@@ -88,7 +93,7 @@ vpath %.c $(SHARE_SRC)/native/sun/java2d/opengl
vpath %.c $(PLATFORM_SRC)/native/sun/java2d/opengl vpath %.c $(PLATFORM_SRC)/native/sun/java2d/opengl
vpath %.c $(PLATFORM_SRC)/native/sun/java2d/x11 vpath %.c $(PLATFORM_SRC)/native/sun/java2d/x11
OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -ldl \ OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -lXrender -ldl \
$(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
ifeq ($(PLATFORM), solaris) ifeq ($(PLATFORM), solaris)
......
...@@ -192,6 +192,7 @@ SUNWprivate_1.1 { ...@@ -192,6 +192,7 @@ SUNWprivate_1.1 {
Java_sun_font_X11FontManager_setNativeFontPath; Java_sun_font_X11FontManager_setNativeFontPath;
Java_sun_awt_X11GraphicsEnvironment_initDisplay; Java_sun_awt_X11GraphicsEnvironment_initDisplay;
Java_sun_awt_X11GraphicsEnvironment_initGLX; Java_sun_awt_X11GraphicsEnvironment_initGLX;
Java_sun_awt_X11GraphicsEnvironment_initXRender;
Java_sun_awt_X11GraphicsEnvironment_checkShmExt; Java_sun_awt_X11GraphicsEnvironment_checkShmExt;
Java_sun_awt_X11GraphicsEnvironment_getNumScreens; Java_sun_awt_X11GraphicsEnvironment_getNumScreens;
Java_sun_awt_X11GraphicsEnvironment_getDefaultScreenNum; Java_sun_awt_X11GraphicsEnvironment_getDefaultScreenNum;
...@@ -355,21 +356,52 @@ SUNWprivate_1.1 { ...@@ -355,21 +356,52 @@ SUNWprivate_1.1 {
Java_sun_java2d_x11_X11Renderer_XFillRect; Java_sun_java2d_x11_X11Renderer_XFillRect;
Java_sun_java2d_x11_X11Renderer_XFillRoundRect; Java_sun_java2d_x11_X11Renderer_XFillRoundRect;
Java_sun_java2d_x11_X11Renderer_devCopyArea; Java_sun_java2d_x11_X11Renderer_devCopyArea;
Java_sun_java2d_x11_X11SurfaceData_setInvalid;
Java_sun_java2d_x11_X11SurfaceData_initIDs; Java_sun_java2d_x11_X11SurfaceData_initIDs;
Java_sun_java2d_x11_X11SurfaceData_isDrawableValid;
Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable; Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable;
Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable; Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable;
Java_sun_java2d_x11_X11SurfaceData_initOps;
Java_sun_java2d_x11_X11SurfaceData_initSurface; Java_sun_java2d_x11_X11SurfaceData_initSurface;
Java_sun_java2d_x11_X11SurfaceData_flushNativeSurface;
Java_sun_java2d_x11_X11SurfaceData_XCreateGC;
Java_sun_java2d_x11_X11SurfaceData_XResetClip;
Java_sun_java2d_x11_X11SurfaceData_XSetClip;
Java_sun_java2d_x11_X11SurfaceData_XSetCopyMode; Java_sun_java2d_x11_X11SurfaceData_XSetCopyMode;
Java_sun_java2d_x11_X11SurfaceData_XSetXorMode; Java_sun_java2d_x11_X11SurfaceData_XSetXorMode;
Java_sun_java2d_x11_X11SurfaceData_XSetForeground; Java_sun_java2d_x11_X11SurfaceData_XSetForeground;
Java_sun_java2d_x11_X11SurfaceData_XSetGraphicsExposures;
Java_sun_java2d_x11_XSurfaceData_initOps;
Java_sun_java2d_x11_XSurfaceData_XCreateGC;
Java_sun_java2d_x11_XSurfaceData_XResetClip;
Java_sun_java2d_x11_XSurfaceData_XSetClip;
Java_sun_java2d_x11_XSurfaceData_flushNativeSurface;
Java_sun_java2d_x11_XSurfaceData_isDrawableValid;
Java_sun_java2d_x11_XSurfaceData_setInvalid;
Java_sun_java2d_x11_XSurfaceData_XSetGraphicsExposures;
Java_sun_java2d_xr_XRSurfaceData_initXRPicture;
Java_sun_java2d_xr_XRSurfaceData_initIDs;
Java_sun_java2d_xr_XRSurfaceData_XRInitSurface;
Java_sun_java2d_xr_XRBackendNative_initIDs;
Java_sun_java2d_xr_XRBackendNative_freeGC;
Java_sun_java2d_xr_XRBackendNative_createGC;
Java_sun_java2d_xr_XRBackendNative_createPixmap;
Java_sun_java2d_xr_XRBackendNative_createPictureNative;
Java_sun_java2d_xr_XRBackendNative_freePicture;
Java_sun_java2d_xr_XRBackendNative_freePixmap;
Java_sun_java2d_xr_XRBackendNative_setPictureRepeat;
Java_sun_java2d_xr_XRBackendNative_setGCExposures;
Java_sun_java2d_xr_XRBackendNative_setGCForeground;
Java_sun_java2d_xr_XRBackendNative_copyArea;
Java_sun_java2d_xr_XRBackendNative_renderComposite;
Java_sun_java2d_xr_XRBackendNative_renderRectangle;
Java_sun_java2d_xr_XRBackendNative_XRenderRectanglesNative;
Java_sun_java2d_xr_XRBackendNative_XRSetTransformNative;
Java_sun_java2d_xr_XRBackendNative_XRCreateLinearGradientPaintNative;
Java_sun_java2d_xr_XRBackendNative_XRCreateRadialGradientPaintNative;
Java_sun_java2d_xr_XRBackendNative_setFilter;
Java_sun_java2d_xr_XRBackendNative_XRSetClipNative;
Java_sun_java2d_xr_XRBackendNative_putMaskNative;
Java_sun_java2d_xr_XRBackendNative_XRAddGlyphsNative;
Java_sun_java2d_xr_XRBackendNative_XRFreeGlyphsNative;
Java_sun_java2d_xr_XRBackendNative_XRenderCreateGlyphSetNative;
Java_sun_java2d_xr_XRBackendNative_XRenderCompositeTextNative;
Java_sun_java2d_xr_XRBackendNative_setGCMode;
Java_sun_java2d_xr_XRBackendNative_GCRectanglesNative;
Java_sun_java2d_xr_XRBackendNative_renderCompositeTrapezoidsNative;
Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1arrow; Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1arrow;
Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1box; Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1box;
......
此差异已折叠。
Manifest-Version: 1.0 Manifest-Version: 1.0
Specification-Title: Java Platform API Specification Specification-Title: Java Platform API Specification
Specification-Version: 1.6 Specification-Version: 1.6
Specification-Vendor: Sun Microsystems, Inc. Specification-Vendor: Oracle
Implementation-Title: Java Runtime Environment Implementation-Title: Java Runtime Environment
Implementation-Version: @@RELEASE@@ Implementation-Version: @@RELEASE@@
Implementation-Vendor: Sun Microsystems, Inc. Implementation-Vendor: @@COMPANY_NAME@@
package build.tools.generatecharacter;
import java.io.*;
import java.nio.*;
import java.util.*;
import java.util.zip.*;
public class CharacterName {
public static void main(String[] args) {
FileReader reader = null;
try {
if (args.length != 2) {
System.err.println("Usage: java CharacterName UniocdeData.txt uniName.dat");
System.exit(1);
}
reader = new FileReader(args[0]);
BufferedReader bfr = new BufferedReader(reader);
String line = null;
StringBuilder namePool = new StringBuilder();
byte[] cpPoolBytes = new byte[0x100000];
ByteBuffer cpBB = ByteBuffer.wrap(cpPoolBytes);
int lastCp = 0;
int cpNum = 0;
while ((line = bfr.readLine()) != null) {
if (line.startsWith("#"))
continue;
UnicodeSpec spec = UnicodeSpec.parse(line);
if (spec != null) {
int cp = spec.getCodePoint();
String name = spec.getName();
cpNum++;
if (name.equals("<control>") && spec.getOldName() != null) {
if (spec.getOldName().length() != 0)
name = spec.getOldName();
else
continue;
} else if (name.startsWith("<")) {
/*
3400 <CJK Ideograph Extension A, First>
4db5 <CJK Ideograph Extension A, Last>
4e00 <CJK Ideograph, First>
9fc3 <CJK Ideograph, Last>
ac00 <Hangul Syllable, First>
d7a3 <Hangul Syllable, Last>
d800 <Non Private Use High Surrogate, First>
db7f <Non Private Use High Surrogate, Last>
db80 <Private Use High Surrogate, First>
dbff <Private Use High Surrogate, Last>
dc00 <Low Surrogate, First>
dfff <Low Surrogate, Last>
e000 <Private Use, First>
f8ff <Private Use, Last>
20000 <CJK Ideograph Extension B, First>
2a6d6 <CJK Ideograph Extension B, Last>
f0000 <Plane 15 Private Use, First>
ffffd <Plane 15 Private Use, Last>
*/
continue;
}
if (cp == lastCp + 1) {
cpBB.put((byte)name.length());
} else {
cpBB.put((byte)0); // segment start flag
cpBB.putInt((name.length() << 24) | (cp & 0xffffff));
}
namePool.append(name);
lastCp = cp;
}
}
byte[] namePoolBytes = namePool.toString().getBytes("ASCII");
int cpLen = cpBB.position();
int total = cpLen + namePoolBytes.length;
DataOutputStream dos = new DataOutputStream(
new DeflaterOutputStream(
new FileOutputStream(args[1])));
dos.writeInt(total); // total
dos.writeInt(cpLen); // nameOff
dos.write(cpPoolBytes, 0, cpLen);
dos.write(namePoolBytes);
dos.close();
} catch (Throwable e) {
System.out.println("Unexpected exception:");
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (Throwable ee) { ee.printStackTrace(); }
}
}
}
}
import java.util.regex.*;
import java.util.*;
import java.io.*;
public class CharacterScript {
// generate the code needed for j.l.C.UnicodeScript
static void fortest(String fmt, Object... o) {
//System.out.printf(fmt, o);
}
static void print(String fmt, Object... o) {
System.out.printf(fmt, o);
}
static void debug(String fmt, Object... o) {
//System.out.printf(fmt, o);
}
public static void main(String args[]){
try {
if (args.length != 1) {
System.out.println("java CharacterScript script.txt out");
System.exit(1);
}
int i, j;
BufferedReader sbfr = new BufferedReader(new FileReader(args[0]));
HashMap<String,Integer> scriptMap = new HashMap<String,Integer>();
String line = null;
Matcher m = Pattern.compile("(\\p{XDigit}+)(?:\\.{2}(\\p{XDigit}+))?\\s+;\\s+(\\w+)\\s+#.*").matcher("");
int prevS = -1;
int prevE = -1;
String prevN = null;
int[][] scripts = new int[1024][3];
int scriptSize = 0;
while ((line = sbfr.readLine()) != null) {
if (line.length() <= 1 || line.charAt(0) == '#') {
continue;
}
m.reset(line);
if (m.matches()) {
int start = Integer.parseInt(m.group(1), 16);
int end = (m.group(2)==null)?start
:Integer.parseInt(m.group(2), 16);
String name = m.group(3);
if (name.equals(prevN) && start == prevE + 1) {
prevE = end;
} else {
if (prevS != -1) {
if (scriptMap.get(prevN) == null) {
scriptMap.put(prevN, scriptMap.size());
}
scripts[scriptSize][0] = prevS;
scripts[scriptSize][1] = prevE;
scripts[scriptSize][2] = scriptMap.get(prevN);
scriptSize++;
}
debug("%x-%x\t%s%n", prevS, prevE, prevN);
prevS = start; prevE = end; prevN = name;
}
} else {
debug("Warning: Unrecognized line <%s>%n", line);
}
}
//last one.
if (scriptMap.get(prevN) == null) {
scriptMap.put(prevN, scriptMap.size());
}
scripts[scriptSize][0] = prevS;
scripts[scriptSize][1] = prevE;
scripts[scriptSize][2] = scriptMap.get(prevN);
scriptSize++;
debug("%x-%x\t%s%n", prevS, prevE, prevN);
debug("-----------------%n");
debug("Total scripts=%s%n", scriptMap.size());
debug("-----------------%n%n");
String[] names = new String[scriptMap.size()];
for (String name: scriptMap.keySet()) {
names[scriptMap.get(name).intValue()] = name;
}
for (j = 0; j < scriptSize; j++) {
for (int cp = scripts[j][0]; cp <= scripts[j][1]; cp++) {
String name = names[scripts[j][2]].toUpperCase(Locale.ENGLISH);;
if (cp > 0xffff)
System.out.printf("%05X %s%n", cp, name);
else
System.out.printf("%05X %s%n", cp, name);
}
}
Arrays.sort(scripts, 0, scriptSize,
new Comparator<int[]>() {
public int compare(int[] a1, int[] a2) {
return a1[0] - a2[0];
}
public boolean compare(Object obj) {
return obj == this;
}
});
// Consolidation: there are lots of "reserved" code points
// embedded in those otherwise "sequential" blocks.
// To make the lookup table smaller, we combine those
// separated segments with the assumption that the lookup
// implementation checks
// Character.getType() != Character.UNASSIGNED
// first (return UNKNOWN for unassigned)
ArrayList<int[]> list = new ArrayList();
list.add(scripts[0]);
int[] last = scripts[0];
for (i = 1; i < scriptSize; i++) {
if (scripts[i][0] != (last[1] + 1)) {
boolean isNotUnassigned = false;
for (int cp = last[1] + 1; cp < scripts[i][0]; cp++) {
if (Character.getType(cp) != Character.UNASSIGNED) {
isNotUnassigned = true;
debug("Warning: [%x] is ASSIGNED but in NON script%n", cp);
break;
}
}
if (isNotUnassigned) {
// surrogates only?
int[] a = new int[3];
a[0] = last[1] + 1;
a[1] = scripts[i][0] - 1;
a[2] = -1; // unknown
list.add(a);
} else {
if (last[2] == scripts[i][2]) {
//combine
last[1] = scripts[i][1];
continue;
} else {
// expand last
last[1] = scripts[i][0] - 1;
}
}
}
list.add(scripts[i]);
last = scripts[i];
}
for (i = 0; i < list.size(); i++) {
int[] a = (int[])list.get(i);
String name = "UNKNOWN";
if (a[2] != -1)
name = names[a[2]].toUpperCase(Locale.US);
debug("0x%05x, 0x%05x %s%n", a[0], a[1], name);
}
debug("--->total=%d%n", list.size());
//////////////////OUTPUT//////////////////////////////////
print("public class Scripts {%n%n");
print(" public static enum UnicodeScript {%n");
for (i = 0; i < names.length; i++) {
print(" /**%n * Unicode script \"%s\".%n */%n", names[i]);
print(" %s,%n%n", names[i].toUpperCase(Locale.US));
}
print(" /**%n * Unicode script \"Unknown\".%n */%n UNKNOWN;%n%n");
// lookup table
print(" private static final int[] scriptStarts = {%n");
for (int[] a : list) {
String name = "UNKNOWN";
if (a[2] != -1)
name = names[a[2]].toUpperCase(Locale.US);
if (a[0] < 0x10000)
print(" 0x%04X, // %04X..%04X; %s%n",
a[0], a[0], a[1], name);
else
print(" 0x%05X, // %05X..%05X; %s%n",
a[0], a[0], a[1], name);
}
last = list.get(list.size() -1);
if (last[1] != Character.MAX_CODE_POINT)
print(" 0x%05X // %05X..%06X; %s%n",
last[1] + 1, last[1] + 1, Character.MAX_CODE_POINT,
"UNKNOWN");
print("%n };%n%n");
print(" private static final UnicodeScript[] scripts = {%n");
for (int[] a : list) {
String name = "UNKNOWN";
if (a[2] != -1)
name = names[a[2]].toUpperCase(Locale.US);
print(" %s,%n", name);
}
if (last[1] != Character.MAX_CODE_POINT)
print(" UNKNOWN%n");
print(" };%n");
print(" }%n");
print("}%n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
...@@ -35,6 +35,8 @@ import java.io.BufferedWriter; ...@@ -35,6 +35,8 @@ import java.io.BufferedWriter;
import java.io.FileWriter; import java.io.FileWriter;
import java.io.File; import java.io.File;
import build.tools.generatecharacter.CharacterName;
/** /**
* This program generates the source code for the class java.lang.Character. * This program generates the source code for the class java.lang.Character.
* It also generates native C code that can perform the same operations. * It also generates native C code that can perform the same operations.
......
...@@ -20,9 +20,9 @@ You should have received a copy of the GNU General Public License version ...@@ -20,9 +20,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
<head> <head>
<title>Jarsigner Signing Mechanism Package</title> <title>Jarsigner Signing Mechanism Package</title>
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
<body bgcolor="white"> <body bgcolor="white">
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY> <BODY>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY> <BODY>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY> <BODY>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY> <BODY>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY> <BODY>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY> <BODY>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY> <BODY>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY> <BODY>
......
...@@ -525,11 +525,11 @@ public class DnsClient { ...@@ -525,11 +525,11 @@ public class DnsClient {
} }
byte[] pkt; byte[] pkt;
if ((pkt = (byte[]) resps.get(xid)) != null) { if ((pkt = (byte[]) resps.get(xid)) != null) {
checkResponseCode(new Header(pkt, pkt.length));
synchronized (queuesLock) { synchronized (queuesLock) {
resps.remove(xid); resps.remove(xid);
reqs.remove(xid); reqs.remove(xid);
} }
checkResponseCode(new Header(pkt, pkt.length));
if (debug) { if (debug) {
dprint("FOUND (" + Thread.currentThread() + dprint("FOUND (" + Thread.currentThread() +
...@@ -562,12 +562,12 @@ public class DnsClient { ...@@ -562,12 +562,12 @@ public class DnsClient {
dprint("XID MATCH:" + xid); dprint("XID MATCH:" + xid);
} }
checkResponseCode(hdr);
// remove the response for the xid if received by some other thread. // remove the response for the xid if received by some other thread.
synchronized (queuesLock) { synchronized (queuesLock) {
resps.remove(xid); resps.remove(xid);
reqs.remove(xid); reqs.remove(xid);
} }
checkResponseCode(hdr);
return true; return true;
} }
......
...@@ -24,9 +24,9 @@ You should have received a copy of the GNU General Public License version ...@@ -24,9 +24,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -23,9 +23,9 @@ You should have received a copy of the GNU General Public License version ...@@ -23,9 +23,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
......
...@@ -28,9 +28,9 @@ You should have received a copy of the GNU General Public License version ...@@ -28,9 +28,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
<title>javax.sql.rowset.providers Package</title> <title>javax.sql.rowset.providers Package</title>
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
......
...@@ -25,9 +25,9 @@ You should have received a copy of the GNU General Public License version ...@@ -25,9 +25,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
<style type="text/css"> <style type="text/css">
......
...@@ -25,9 +25,9 @@ You should have received a copy of the GNU General Public License version ...@@ -25,9 +25,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
<style type="text/css"> <style type="text/css">
......
...@@ -25,9 +25,9 @@ You should have received a copy of the GNU General Public License version ...@@ -25,9 +25,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
<style type="text/css"> <style type="text/css">
......
...@@ -18,9 +18,9 @@ You should have received a copy of the GNU General Public License version ...@@ -18,9 +18,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
<html> <html>
......
...@@ -343,6 +343,10 @@ public class Font implements java.io.Serializable ...@@ -343,6 +343,10 @@ public class Font implements java.io.Serializable
* Identify a font resource of type TRUETYPE. * Identify a font resource of type TRUETYPE.
* Used to specify a TrueType font resource to the * Used to specify a TrueType font resource to the
* {@link #createFont} method. * {@link #createFont} method.
* The TrueType format was extended to become the OpenType
* format, which adds support for fonts with Postscript outlines,
* this tag therefore references these fonts, as well as those
* with TrueType outlines.
* @since 1.3 * @since 1.3
*/ */
......
...@@ -117,7 +117,7 @@ abstract class AbstractStringBuilder implements Appendable, CharSequence { ...@@ -117,7 +117,7 @@ abstract class AbstractStringBuilder implements Appendable, CharSequence {
* size check or synchronization. * size check or synchronization.
*/ */
void expandCapacity(int minimumCapacity) { void expandCapacity(int minimumCapacity) {
int newCapacity = value.length * 2; int newCapacity = value.length * 2 + 2;
if (newCapacity - minimumCapacity < 0) if (newCapacity - minimumCapacity < 0)
newCapacity = minimumCapacity; newCapacity = minimumCapacity;
if (newCapacity < 0) { if (newCapacity < 0) {
......
/*
* Copyright 2010 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 java.lang;
import java.io.DataInputStream;
import java.io.InputStream;
import java.lang.ref.SoftReference;
import java.util.Arrays;
import java.util.zip.InflaterInputStream;
import java.security.AccessController;
import java.security.PrivilegedAction;
class CharacterName {
private static SoftReference<byte[]> refStrPool;
private static int[][] lookup;
private static synchronized byte[] initNamePool() {
byte[] strPool = null;
if (refStrPool != null && (strPool = refStrPool.get()) != null)
return strPool;
DataInputStream dis = null;
try {
dis = new DataInputStream(new InflaterInputStream(
AccessController.doPrivileged(new PrivilegedAction<InputStream>()
{
public InputStream run() {
return getClass().getResourceAsStream("uniName.dat");
}
})));
lookup = new int[(Character.MAX_CODE_POINT + 1) >> 8][];
int total = dis.readInt();
int cpEnd = dis.readInt();
byte ba[] = new byte[cpEnd];
dis.readFully(ba);
int nameOff = 0;
int cpOff = 0;
int cp = 0;
do {
int len = ba[cpOff++] & 0xff;
if (len == 0) {
len = ba[cpOff++] & 0xff;
// always big-endian
cp = ((ba[cpOff++] & 0xff) << 16) |
((ba[cpOff++] & 0xff) << 8) |
((ba[cpOff++] & 0xff));
} else {
cp++;
}
int hi = cp >> 8;
if (lookup[hi] == null) {
lookup[hi] = new int[0x100];
}
lookup[hi][cp&0xff] = (nameOff << 8) | len;
nameOff += len;
} while (cpOff < cpEnd);
strPool = new byte[total - cpEnd];
dis.readFully(strPool);
refStrPool = new SoftReference<byte[]>(strPool);
} catch (Exception x) {
throw new InternalError(x.getMessage());
} finally {
try {
if (dis != null)
dis.close();
} catch (Exception xx) {}
}
return strPool;
}
public static String get(int cp) {
byte[] strPool = null;
if (refStrPool == null || (strPool = refStrPool.get()) == null)
strPool = initNamePool();
int off = 0;
if (lookup[cp>>8] == null ||
(off = lookup[cp>>8][cp&0xff]) == 0)
return null;
return new String(strPool, 0, off >>> 8, off & 0xff); // ASCII
}
}
...@@ -2491,6 +2491,8 @@ public final class URI ...@@ -2491,6 +2491,8 @@ public final class URI
// Tell whether the given character is permitted by the given mask pair // Tell whether the given character is permitted by the given mask pair
private static boolean match(char c, long lowMask, long highMask) { private static boolean match(char c, long lowMask, long highMask) {
if (c == 0) // 0 doesn't have a slot in the mask. So, it never matches.
return false;
if (c < 64) if (c < 64)
return ((1L << c) & lowMask) != 0; return ((1L << c) & lowMask) != 0;
if (c < 128) if (c < 128)
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
SINCE=1.4 SINCE=1.4
PACKAGE=java.nio.channels PACKAGE=java.nio.channels
# This year should only change if the generated source is modified. # This year should only change if the generated source is modified.
COPYRIGHT_YEARS=2000-2007 COPYRIGHT_YEARS="2000, 2007,"
SUPER=java.io.IOException SUPER=java.io.IOException
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
SINCE=1.4 SINCE=1.4
PACKAGE=java.nio.charset PACKAGE=java.nio.charset
# This year should only change if the generated source is modified. # This year should only change if the generated source is modified.
COPYRIGHT_YEARS=2000-2007 COPYRIGHT_YEARS="2000, 2007,"
SUPER=java.io.IOException SUPER=java.io.IOException
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
SINCE=1.4 SINCE=1.4
PACKAGE=java.nio PACKAGE=java.nio
# This year should only change if the generated source is modified. # This year should only change if the generated source is modified.
COPYRIGHT_YEARS=2000-2007 COPYRIGHT_YEARS="2000, 2007,"
SUPER=RuntimeException SUPER=RuntimeException
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -76,7 +76,7 @@ class JarVerifier { ...@@ -76,7 +76,7 @@ class JarVerifier {
private ByteArrayOutputStream baos; private ByteArrayOutputStream baos;
/** The ManifestDigester object */ /** The ManifestDigester object */
private ManifestDigester manDig; private volatile ManifestDigester manDig;
/** the bytes for the manDig object */ /** the bytes for the manDig object */
byte manifestRawBytes[] = null; byte manifestRawBytes[] = null;
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -29,6 +29,7 @@ import java.security.AccessController; ...@@ -29,6 +29,7 @@ import java.security.AccessController;
import java.security.PrivilegedAction; import java.security.PrivilegedAction;
import java.text.CharacterIterator; import java.text.CharacterIterator;
import java.text.Normalizer; import java.text.Normalizer;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -200,8 +201,9 @@ import java.util.Arrays; ...@@ -200,8 +201,9 @@ import java.util.Arrays;
* <td>Equivalent to java.lang.Character.isMirrored()</td></tr> * <td>Equivalent to java.lang.Character.isMirrored()</td></tr>
* *
* <tr><th>&nbsp;</th></tr> * <tr><th>&nbsp;</th></tr>
* <tr align="left"><th colspan="2" id="unicode">Classes for Unicode blocks and categories</th></tr> * <tr align="left"><th colspan="2" id="unicode">Classes for Unicode scripts, blocks and categories</th></tr>
* * * <tr><td valign="top" headers="construct unicode"><tt>\p{IsLatin}</tt></td>
* <td headers="matches">A Latin&nbsp;script character (simple <a href="#ubc">script</a>)</td></tr>
* <tr><td valign="top" headers="construct unicode"><tt>\p{InGreek}</tt></td> * <tr><td valign="top" headers="construct unicode"><tt>\p{InGreek}</tt></td>
* <td headers="matches">A character in the Greek&nbsp;block (simple <a href="#ubc">block</a>)</td></tr> * <td headers="matches">A character in the Greek&nbsp;block (simple <a href="#ubc">block</a>)</td></tr>
* <tr><td valign="top" headers="construct unicode"><tt>\p{Lu}</tt></td> * <tr><td valign="top" headers="construct unicode"><tt>\p{Lu}</tt></td>
...@@ -527,25 +529,40 @@ import java.util.Arrays; ...@@ -527,25 +529,40 @@ import java.util.Arrays;
* while not equal, compile into the same pattern, which matches the character * while not equal, compile into the same pattern, which matches the character
* with hexadecimal value <tt>0x2014</tt>. * with hexadecimal value <tt>0x2014</tt>.
* *
* <a name="ubc"> <p>Unicode blocks and categories are written with the * <a name="ubc">
* <tt>\p</tt> and <tt>\P</tt> constructs as in * <p>Unicode scripts, blocks and categories are written with the <tt>\p</tt> and
* Perl. <tt>\p{</tt><i>prop</i><tt>}</tt> matches if the input has the * <tt>\P</tt> constructs as in Perl. <tt>\p{</tt><i>prop</i><tt>}</tt> matches if
* property <i>prop</i>, while <tt>\P{</tt><i>prop</i><tt>}</tt> does not match if * the input has the property <i>prop</i>, while <tt>\P{</tt><i>prop</i><tt>}</tt>
* the input has that property. Blocks are specified with the prefix * does not match if the input has that property.
* <tt>In</tt>, as in <tt>InMongolian</tt>. Categories may be specified with * <p>
* the optional prefix <tt>Is</tt>: Both <tt>\p{L}</tt> and <tt>\p{IsL}</tt> * Scripts are specified either with the prefix {@code Is}, as in
* denote the category of Unicode letters. Blocks and categories can be used * {@code IsHiragana}, or by using the {@code script} keyword (or its short
* both inside and outside of a character class. * form {@code sc})as in {@code script=Hiragana} or {@code sc=Hiragana}.
* * <p>
* Blocks are specified with the prefix {@code In}, as in
* {@code InMongolian}, or by using the keyword {@code block} (or its short
* form {@code blk}) as in {@code block=Mongolian} or {@code blk=Mongolian}.
* <p>
* Categories may be specified with the optional prefix {@code Is}:
* Both {@code \p{L}} and {@code \p{IsL}} denote the category of Unicode
* letters. Same as scripts and blocks, categories can also be specified
* by using the keyword {@code general_category} (or its short form
* {@code gc}) as in {@code general_category=Lu} or {@code gc=Lu}.
* <p>
* Scripts, blocks and categories can be used both inside and outside of a
* character class.
* <p> The supported categories are those of * <p> The supported categories are those of
* <a href="http://www.unicode.org/unicode/standard/standard.html"> * <a href="http://www.unicode.org/unicode/standard/standard.html">
* <i>The Unicode Standard</i></a> in the version specified by the * <i>The Unicode Standard</i></a> in the version specified by the
* {@link java.lang.Character Character} class. The category names are those * {@link java.lang.Character Character} class. The category names are those
* defined in the Standard, both normative and informative. * defined in the Standard, both normative and informative.
* The script names supported by <code>Pattern</code> are the valid script names
* accepted and defined by
* {@link java.lang.Character.UnicodeScript#forName(String) UnicodeScript.forName}.
* The block names supported by <code>Pattern</code> are the valid block names * The block names supported by <code>Pattern</code> are the valid block names
* accepted and defined by * accepted and defined by
* {@link java.lang.Character.UnicodeBlock#forName(String) UnicodeBlock.forName}. * {@link java.lang.Character.UnicodeBlock#forName(String) UnicodeBlock.forName}.
* * <p>
* <a name="jcc"> <p>Categories that behave like the java.lang.Character * <a name="jcc"> <p>Categories that behave like the java.lang.Character
* boolean is<i>methodname</i> methods (except for the deprecated ones) are * boolean is<i>methodname</i> methods (except for the deprecated ones) are
* available through the same <tt>\p{</tt><i>prop</i><tt>}</tt> syntax where * available through the same <tt>\p{</tt><i>prop</i><tt>}</tt> syntax where
...@@ -2488,13 +2505,35 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) { ...@@ -2488,13 +2505,35 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
name = new String(temp, i, j-i-1); name = new String(temp, i, j-i-1);
} }
int i = name.indexOf('=');
if (i != -1) {
// property construct \p{name=value}
String value = name.substring(i + 1);
name = name.substring(0, i).toLowerCase(Locale.ENGLISH);
if ("sc".equals(name) || "script".equals(name)) {
node = unicodeScriptPropertyFor(value);
} else if ("blk".equals(name) || "block".equals(name)) {
node = unicodeBlockPropertyFor(value);
} else if ("gc".equals(name) || "general_category".equals(name)) {
node = charPropertyNodeFor(value);
} else {
throw error("Unknown Unicode property {name=<" + name + ">, "
+ "value=<" + value + ">}");
}
} else {
if (name.startsWith("In")) { if (name.startsWith("In")) {
// \p{inBlockName}
node = unicodeBlockPropertyFor(name.substring(2)); node = unicodeBlockPropertyFor(name.substring(2));
} else { } else if (name.startsWith("Is")) {
if (name.startsWith("Is")) // \p{isGeneralCategory} and \p{isScriptName}
name = name.substring(2); name = name.substring(2);
node = CharPropertyNames.charPropertyFor(name);
if (node == null)
node = unicodeScriptPropertyFor(name);
} else {
node = charPropertyNodeFor(name); node = charPropertyNodeFor(name);
} }
}
if (maybeComplement) { if (maybeComplement) {
if (node instanceof Category || node instanceof Block) if (node instanceof Category || node instanceof Block)
hasSupplementary = true; hasSupplementary = true;
...@@ -2503,6 +2542,21 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) { ...@@ -2503,6 +2542,21 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
return node; return node;
} }
/**
* Returns a CharProperty matching all characters belong to
* a UnicodeScript.
*/
private CharProperty unicodeScriptPropertyFor(String name) {
final Character.UnicodeScript script;
try {
script = Character.UnicodeScript.forName(name);
} catch (IllegalArgumentException iae) {
throw error("Unknown character script name {" + name + "}");
}
return new Script(script);
}
/** /**
* Returns a CharProperty matching all characters in a UnicodeBlock. * Returns a CharProperty matching all characters in a UnicodeBlock.
*/ */
...@@ -3566,6 +3620,19 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) { ...@@ -3566,6 +3620,19 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
} }
} }
/**
* Node class that matches a Unicode script
*/
static final class Script extends CharProperty {
final Character.UnicodeScript script;
Script(Character.UnicodeScript script) {
this.script = script;
}
boolean isSatisfiedBy(int ch) {
return script == Character.UnicodeScript.of(ch);
}
}
/** /**
* Node class that matches a Unicode category. * Node class that matches a Unicode category.
*/ */
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
...@@ -21,9 +21,9 @@ You should have received a copy of the GNU General Public License version ...@@ -21,9 +21,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</head> </head>
......
/* /*
* Copyright (c) 1996, 2002, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -54,25 +54,82 @@ class GZIPOutputStream extends DeflaterOutputStream { ...@@ -54,25 +54,82 @@ class GZIPOutputStream extends DeflaterOutputStream {
/** /**
* Creates a new output stream with the specified buffer size. * Creates a new output stream with the specified buffer size.
*
* <p>The new output stream instance is created as if by invoking
* the 3-argument constructor GZIPOutputStream(out, size, false).
*
* @param out the output stream * @param out the output stream
* @param size the output buffer size * @param size the output buffer size
* @exception IOException If an I/O error has occurred. * @exception IOException If an I/O error has occurred.
* @exception IllegalArgumentException if size is <= 0 * @exception IllegalArgumentException if size is <= 0
*/ */
public GZIPOutputStream(OutputStream out, int size) throws IOException { public GZIPOutputStream(OutputStream out, int size) throws IOException {
super(out, new Deflater(Deflater.DEFAULT_COMPRESSION, true), size); this(out, size, false);
}
/**
* Creates a new output stream with the specified buffer size and
* flush mode.
*
* @param out the output stream
* @param size the output buffer size
* @param syncFlush
* if {@code true} invocation of the inherited
* {@link DeflaterOutputStream#flush() flush()} method of
* this instance flushes the compressor with flush mode
* {@link Deflater#SYNC_FLUSH} before flushing the output
* stream, otherwise only flushes the output stream
* @exception IOException If an I/O error has occurred.
* @exception IllegalArgumentException if size is <= 0
*
* @since 1.7
*/
public GZIPOutputStream(OutputStream out, int size, boolean syncFlush)
throws IOException
{
super(out, new Deflater(Deflater.DEFAULT_COMPRESSION, true),
size,
syncFlush);
usesDefaultDeflater = true; usesDefaultDeflater = true;
writeHeader(); writeHeader();
crc.reset(); crc.reset();
} }
/** /**
* Creates a new output stream with a default buffer size. * Creates a new output stream with a default buffer size.
*
* <p>The new output stream instance is created as if by invoking
* the 2-argument constructor GZIPOutputStream(out, false).
*
* @param out the output stream * @param out the output stream
* @exception IOException If an I/O error has occurred. * @exception IOException If an I/O error has occurred.
*/ */
public GZIPOutputStream(OutputStream out) throws IOException { public GZIPOutputStream(OutputStream out) throws IOException {
this(out, 512); this(out, 512, false);
}
/**
* Creates a new output stream with a default buffer size and
* the specified flush mode.
*
* @param out the output stream
* @param syncFlush
* if {@code true} invocation of the inherited
* {@link DeflaterOutputStream#flush() flush()} method of
* this instance flushes the compressor with flush mode
* {@link Deflater#SYNC_FLUSH} before flushing the output
* stream, otherwise only flushes the output stream
*
* @exception IOException If an I/O error has occurred.
*
* @since 1.7
*/
public GZIPOutputStream(OutputStream out, boolean syncFlush)
throws IOException
{
this(out, 512, syncFlush);
} }
/** /**
...@@ -122,8 +179,8 @@ class GZIPOutputStream extends DeflaterOutputStream { ...@@ -122,8 +179,8 @@ class GZIPOutputStream extends DeflaterOutputStream {
/* /*
* Writes GZIP member header. * Writes GZIP member header.
*/ */
private void writeHeader() throws IOException {
private final static byte[] header = { out.write(new byte[] {
(byte) GZIP_MAGIC, // Magic number (short) (byte) GZIP_MAGIC, // Magic number (short)
(byte)(GZIP_MAGIC >> 8), // Magic number (short) (byte)(GZIP_MAGIC >> 8), // Magic number (short)
Deflater.DEFLATED, // Compression method (CM) Deflater.DEFLATED, // Compression method (CM)
...@@ -134,10 +191,7 @@ class GZIPOutputStream extends DeflaterOutputStream { ...@@ -134,10 +191,7 @@ class GZIPOutputStream extends DeflaterOutputStream {
0, // Modification time MTIME (int) 0, // Modification time MTIME (int)
0, // Extra flags (XFLG) 0, // Extra flags (XFLG)
0 // Operating system (OS) 0 // Operating system (OS)
}; });
private void writeHeader() throws IOException {
out.write(header);
} }
/* /*
......
...@@ -22,9 +22,9 @@ You should have received a copy of the GNU General Public License version ...@@ -22,9 +22,9 @@ 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, 2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
CA 95054 USA or visit www.sun.com if you need additional information or or visit www.oracle.com if you need additional information or have any
have any questions. questions.
--> -->
</HEAD> </HEAD>
<BODY BGCOLOR="#FFFFFF"> <BODY BGCOLOR="#FFFFFF">
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册