7011510 CLDR 1.9 locale data integration
authorjenda
Fri, 22 Apr 2011 14:09:20 +0200
changeset 130 66e398a2332f
parent 129 d19cbbb5ef59
child 131 fddc3d7b4e46
7011510 CLDR 1.9 locale data integration
Makefile
locale/hy_AM.UTF-8.spec
misc/patches/cldr_core/ar.patch
misc/patches/cldr_core/ar_iso_hack.patch
misc/patches/cldr_core/ca.patch
misc/patches/cldr_core/cs.patch
misc/patches/cldr_core/de.patch
misc/patches/cldr_core/kk_collation.patch
misc/patches/cldr_core/ml.patch
misc/patches/cldr_core/sl.patch
misc/patches/cldr_tools/03_cldr2024_monetary.patch
misc/patches/cldr_tools/07_improve_datetime_fmt.patch
misc/patches/cldr_tools/08_solaris_yesno.patch
misc/patches/cldr_tools/10_add_destfile.patch
misc/patches/cldr_tools/11_quiet_ant.patch
misc/patches/cldr_tools/12_locale_description.patch
misc/patches/cldr_tools/14_fix_dtd_path
misc/patches/cldr_tools/15_java15.patch
misc/patches/cldr_tools/16_arabic_hack.patch
misc/patches/cldr_tools/16_fix_arabic_alt_numbers.patch
misc/patches/cldr_tools/17_lctime_fix.patch
misc/patches/cldr_tools/18_generateposix_quiet.patch
misc/patches/cldr_tools/19_fix_POSIXCharName.patch
misc/patches/cldr_tools/20_bell_workaround.patch
misc/patches/cldr_tools/21_default_repertire.patch
misc/patches/cldr_tools/22_ctype_tolowerupper.patch
misc/patches/icu4j/01_quiet_ant.patch
misc/patches/icu4j/02_icu7223_fix.patch
misc/patches/icu4j/03.missing_manifest_stub.patch
--- a/Makefile	Fri Apr 22 14:09:17 2011 +0200
+++ b/Makefile	Fri Apr 22 14:09:20 2011 +0200
@@ -31,6 +31,7 @@
 UNZIP		?= unzip
 ZIP		?= zip
 PERL		?= perl
+GNU_TAR		?= gtar
 CC		= /opt/SUNWspro/bin/cc
 
 
@@ -42,8 +43,8 @@
 
 
 # software versions
-CLDR_VERSION		:= 1.7.1
-ICU4J_VERSION		:= 4.2
+CLDR_VERSION		:= 1.9.0
+ICU4J_VERSION		:= 4.6.1
 XALAN_VERSION		:= 2.7.1
 
 CLDR_CORE_SOURCE	:= core_$(subst .,_,$(CLDR_VERSION)).zip
@@ -52,7 +53,7 @@
 CLDR_TOOLS_SOURCE	:= tools_$(subst .,_,$(CLDR_VERSION)).zip
 CLDR_TOOLS_SITE		:= http://unicode.org/Public/cldr/$(CLDR_VERSION)/tools.zip
 
-ICU4J_SOURCE		:= icu4j-$(subst .,_,$(ICU4J_VERSION))-src.jar
+ICU4J_SOURCE		:= icu4j-$(subst .,_,$(ICU4J_VERSION)).tgz
 ICU4J_SITE		:= http://download.icu-project.org/files/icu4j/$(ICU4J_VERSION)/$(ICU4J_SOURCE)
 
 XALAN_SOURCE		:= xalan-j_$(subst .,_,$(XALAN_VERSION))-bin.zip
@@ -94,7 +95,6 @@
 # misc
 DOWNLOADS	?= .
 FILEROOT	= proto/$(MACH)/fileroot
-UNICODESET	= [[\u0000-\U0010FFFF]-[[:Phoenician:][:Kharoshthi:][:Cuneiform:][\U0001D200-\U0001D24F][:Lycian:][:Carian:][:Lydian:][\U0001F000-\U0001F02F][\U0001F030-\U0001F09F]]]
 
 
 # ==== END OF CONFIGURATION ====
@@ -121,7 +121,7 @@
 # java flags for cldr posix locale generator
 #	'-DCLDR_DTD_CACHE=.dtd_cache':		cache dir for temporary files
 #	'-Dhttp.proxyHost=webcache.sfbay -Dhttp.proxyPort=8080:		default web proxy
-CLDR_JAVAFLAGS	= $(JAVAFLAGS) -Dhttp.proxyHost=emeacache.uk.oracle.com -Dhttp.proxyPort=80 -DCLDR_DTD_CACHE=build/.dtd_cache
+CLDR_JAVAFLAGS	= $(JAVAFLAGS) -Dhttp.proxyHost=emeacache.uk.oracle.com -Dhttp.proxyPort=80 -DCLDR_DTD_CACHE=build/.dtd_cache -DCLDR_DIR=build/cldr_core
 
 # locale name parsing functions
 locale_xxYY = $(firstword $(subst ., ,$(1)))
@@ -136,7 +136,7 @@
 # ==== Public targets ====
 # ************************
 
-.PHONY: all install ips doc clean
+.PHONY: all install ips doc build_tools clean
 
 all: build/pkgs.d build/cldr.d locale_objects
 
@@ -146,8 +146,11 @@
 
 doc: build/report_diff.html
 
+build_tools: build/icu4j.jar build/xalan.jar build/xml-apis.jar build/utilities.jar build/cldr.jar build/cldr_core/.src
+
 clean: 
-	rm -Rf build pkgmaps proto
+	$(M)CLEAN
+	$(Q)rm -Rf build pkgmaps proto
 
 
 
@@ -185,16 +188,18 @@
 # ==== Locale Objects ====
 # ************************
 
-.PHONY: locale_objects
+.PHONY: posix locale_objects
 
 locale_objects: $(LOCALES:%=build/%/32bit.so.3) $(LOCALES:%=build/%/64bit.so.3)
 
 # all jars that CldrTools needs
 CLDR_TOOLS_DEPS	= build/icu4j.jar build/xalan.jar build/xml-apis.jar build/utilities.jar build/cldr.jar build/cldr_core/.src
 
+posix: $(LOCALES:%=build/%/posix.src)
+
 $(LOCALES:%=build/%/posix.src): build/%/posix.src: build/%/cldr_variant $(CLDR_TOOLS_DEPS) build/.dtd_cache/.src
 	$(M)GENERATE $@
-	$(Q)$(GEN_POSIX) -s build/cldr_core -d $(@D) -o $(@F) -c $(call cldr_charmap,$*) -m $(shell cat $<) 
+	$(Q)$(GEN_POSIX) -d $(@D) -o $(@F) -c $(call cldr_charmap,$*) -m $(shell cat $<) 
 
 $(LOCALES:%=build/%/32bit.so.3): build/%/32bit.so.3: build/%/posix.src build/%/32bit/.methods_so
 	$(M)LOCALEDEF $@
@@ -212,16 +217,12 @@
 # ==== Charmaps ====
 # ******************
 
-CHARMAPS_NOUTF8 = $(filter-out UTF-8, $(CHARMAPS))
-$(CHARMAPS_NOUTF8:%=build/%.cm): build/%.cm: $(CLDR_TOOLS_DEPS) build/.dir build/.dtd_cache/.src
+$(CHARMAPS:%=build/%.cm): build/%.cm: $(CLDR_TOOLS_DEPS) build/.dir build/.dtd_cache/.src
 	$(M)GENERATE $@
 	$(Q)$(GEN_CHARMAP) -d $(@D) -c $(call cldr_charmap,$*)
 	$(Q)[ "$(call charmap,$*)" = "$(call cldr_charmap,$*)" ] || mv build/$(call cldr_charmap,$*).cm $@
-
-build/UTF-8.cm: $(CLDR_TOOLS_DEPS) build/.dir build/.dtd_cache/.src
-	$(M)GENERATE $@
-	$(Q)$(GEN_CHARMAP) -d $(@D) -c UTF-8 -u '$(UNICODESET)'
-
+	# Note: 0x07 and 0x1f514 chars have the same name (<BELL>) - Unicode 6.0 bug?
+	$(Q)perl -i -ne 'print unless /^<BELL>(\s+\\x07)$$/' $@
 
 
 
@@ -398,6 +399,7 @@
 # xalan
 build/xalan/.src: downloads/$(XALAN_SOURCE)
 	$(M)UNPACK $(@D)
+	$(Q)rm -Rf $(@D)
 	$(Q)$(UNZIP) -u $(if $(Q),-q) -d $(@D) $<
 	$(Q)touch $@
 
@@ -411,14 +413,14 @@
 
 
 # icu4j
-build/icu4j/.unpack: downloads/$(ICU4J_SOURCE) 
+build/icu4j/.src: downloads/$(ICU4J_SOURCE) $(wildcard misc/patches/icu4j/*.patch)
 	$(M)UNPACK $(@D)
-	$(Q)$(UNZIP) -u $(if $(Q),-q) -d $(@D) $<
-	$(Q)touch $@
-
-build/icu4j/.src: build/icu4j/.unpack $(wildcard misc/patches/icu4j/*.patch)
+	$(Q)rm -Rf $(@D)
+	$(Q)mkdir $(@D)
+	$(Q)(cd $(@D);  $(GNU_TAR) x$(if $(Q),,v)zf ../../$<)
 	$(M)PATCH icu4j
-	$(Q)for a in $(filter %.patch, $(sort $^)); do  \
+	$(Q)for a in $(filter %.patch, $(sort $^)); do \
+		echo "   $$a"; \
 		(cd $(@D); $(GNU_PATCH) -p1 $(if $(Q),-s)) < $$a; \
 	done
 	$(Q)touch $@
@@ -430,7 +432,7 @@
 
 build/utilities.jar: build/icu4j/.compiled
 	$(M)INSTALL $@
-	$(Q)cp build/icu4j/utilities.jar $@
+	$(Q)cp build/icu4j/out/cldr_util/lib/utilities.jar $@
 	$(Q)touch $@
 
 build/icu4j.jar: build/icu4j/.compiled 
@@ -440,15 +442,14 @@
 
 
 # cldr_tools
-build/cldr_tools/.unpack: downloads/$(CLDR_TOOLS_SOURCE)
+build/cldr_tools/.src: downloads/$(CLDR_TOOLS_SOURCE) $(wildcard misc/patches/cldr_tools/*.patch)
 	$(M)UNPACK $(@D)
+	$(Q)rm -Rf $(@D)
 	$(Q)$(UNZIP) -u $(if $(Q),-q) -d $(@D) $<
-	$(Q)touch $@
-
-build/cldr_tools/.src: build/cldr_tools/.unpack $(wildcard misc/patches/cldr_tools/*.patch)
 	$(M)PATCH $(@D)
 	$(Q)find $(@D) -type f -exec perl -pi -e 's,\r$$,,' {} \;
 	$(Q)for a in $(filter %.patch, $(sort $^)); do  \
+		echo "   $$a"; \
 		(cd $(@D); $(GNU_PATCH) -p1 $(if $(Q),-s)) < $$a; \
 	done
 	$(Q)touch $@
@@ -465,16 +466,14 @@
 
 
 # cldr_core
-build/cldr_core/.unpack: downloads/$(CLDR_CORE_SOURCE)
+build/cldr_core/.src: downloads/$(CLDR_CORE_SOURCE) $(wildcard misc/patches/cldr_core/*.patch)
 	$(M)UNPACK $(@D)
+	$(Q)rm -Rf $(@D)
 	$(Q)$(UNZIP) -u $(if $(Q),-q) -d $(@D) $<
-	$(Q)touch $@
-
-build/cldr_core/.src: build/cldr_core/.unpack $(wildcard misc/patches/cldr_core/*.patch)
 	$(M)PATCH $(@D)
 	$(Q)find $(@D) -type f -exec perl -pi -e 's,\r$$,,' {} \;
-	$(Q)mv build/cldr_core/common/* build/cldr_core/
 	$(Q)for a in $(filter %.patch, $(sort $^)); do  \
+		echo "   $$a"; \
 		(cd $(@D); $(GNU_PATCH) -p1 $(if $(Q),-s)) < $$a; \
 	done
 	$(Q)touch $@
@@ -562,15 +561,17 @@
 # - if more than one process use build/.dtd_cache dir, the second process could
 # receive uncomplete dtd and parallel build could fail
 
-downloads/$(CLDR_DTD_SOURCE): downloads/.dir $(CLDR_TOOLS_DEPS) build/.dtd_cache/.dir
+downloads/$(CLDR_DTD_SOURCE): downloads/.dir $(CLDR_TOOLS_DEPS)
 	$(M)DOWNLOAD DTDs
 	$(Q)if [ -f $(DOWNLOADS)/$(@F) ]; then \
 		cp $(DOWNLOADS)/$(@F) $(@D); \
 	else \
-		$(XMLVALIDATOR) build/cldr_core/main/en.xml > /dev/null; \
-		$(XMLVALIDATOR) build/cldr_core/supplemental/supplementalData.xml > /dev/null; \
-		(cd build/.dtd_cache/; $(ZIP) $(if $(Q),-q) -o ../../$(@) *.dtd); \
+		mkdir -p build/.dtd_cache; \
+		$(XMLVALIDATOR) build/cldr_core/common/main/en.xml > /dev/null; \
+		$(XMLVALIDATOR) build/cldr_core/common/supplemental/supplementalData.xml > /dev/null; \
+		(cd build/.dtd_cache/; $(ZIP) $(if $(Q),-q) -o ../../$@ *.dtd); \
 	fi
+	$(Q)touch $@
 
 
 
--- a/locale/hy_AM.UTF-8.spec	Fri Apr 22 14:09:17 2011 +0200
+++ b/locale/hy_AM.UTF-8.spec	Fri Apr 22 14:09:20 2011 +0200
@@ -1,4 +1,3 @@
-cldr_variant	hy_AM_REVISED
 # because bug in LocaleDescription.java the locale_desc must be defined there
 locale_desc	Armenian, Armenia (UTF-8)
 manifest_raw	legacy category=system,l10nhy desc="Armenian language support" name="Armenian language support" pkg=SUNWlang-hy vendor="Oracle Corporation" version=1.0,REV=2010.12.06
--- a/misc/patches/cldr_core/ar.patch	Fri Apr 22 14:09:17 2011 +0200
+++ b/misc/patches/cldr_core/ar.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -1,13 +1,14 @@
-diff -ruN cldr_core.orig/main/ar.xml cldr_core/main/ar.xml
---- cldr_core.orig/main/ar.xml	2009-09-24 17:29:27.000000000 +0200
-+++ cldr_core/main/ar.xml	2009-09-24 17:29:58.000000000 +0200
-@@ -2348,8 +2348,7 @@
- 			<list alt="arab">؛</list>
+result of this hack is that POSIX_LCTime will generate correct alt_digits.
+This is not final solution, we need to find better way how to detect that  alt_digits are necessary.
+
+diff -ruN cldr_core.orig//common/main/ar.xml cldr_core/common/main/ar.xml
+--- cldr_core.orig//common/main/ar.xml	2011-04-13 14:19:01.981990993 +0200
++++ cldr_core/common/main/ar.xml	2011-04-13 14:22:00.257991030 +0200
+@@ -2585,6 +2585,7 @@
+ 			<group>.</group>
+ 			<list>;</list>
  			<percentSign>%</percentSign>
- 			<percentSign alt="arab">٪</percentSign>
--			<nativeZeroDigit>0</nativeZeroDigit>
--			<nativeZeroDigit alt="arab">٠</nativeZeroDigit>
 +			<nativeZeroDigit>٠</nativeZeroDigit>
- 			<patternDigit>#</patternDigit>
  			<plusSign>+</plusSign>
  			<minusSign>-</minusSign>
+ 			<exponential>E</exponential>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_core/ar_iso_hack.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,15 @@
+the ar_EG.ISO8859-6 does not have RIGHT-TO-LEFT character which is used in Egyptian currency symbol.
+
+diff -ruN cldr_core.orig//common/supplemental/characters.xml cldr_core/common/supplemental/characters.xml
+--- cldr_core.orig//common/supplemental/characters.xml	2011-04-15 11:55:52.388445375 +0200
++++ cldr_core/common/supplemental/characters.xml	2011-04-15 11:54:37.624445411 +0200
+@@ -489,6 +489,9 @@
+ 			<character value = " ̄">
+ 				<substitute>¯</substitute>
+ 			</character>
++			<character value = "&#x200f;">
++				<substitute></substitute>
++			</character>
+ 		</character-fallback> 
+ 	</characters>
+ </supplementalData>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_core/ca.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,68 @@
+this is workaround for 'mon' and 'abmon' generator bug, 
+the monthContext type="stand-alone" should be used for posix data
+
+diff -ruN cldr_core.orig//common/main/ca.xml cldr_core/common/main/ca.xml
+--- cldr_core.orig//common/main/ca.xml	2011-04-13 16:26:40.165992553 +0200
++++ cldr_core/common/main/ca.xml	2011-04-13 16:39:44.969992713 +0200
+@@ -1078,18 +1078,18 @@
+ 				<months>
+ 					<monthContext type="format">
+ 						<monthWidth type="abbreviated">
+-							<month type="1">de gen.</month>
+-							<month type="2">de febr.</month>
+-							<month type="3">de març</month>
+-							<month type="4">d’abr.</month>
+-							<month type="5">de maig</month>
+-							<month type="6">de juny</month>
+-							<month type="7">de jul.</month>
+-							<month type="8">d’ag.</month>
+-							<month type="9">de set.</month>
+-							<month type="10">d’oct.</month>
+-							<month type="11">de nov.</month>
+-							<month type="12">de des.</month>
++							<month type="1">gen.</month>
++							<month type="2">febr.</month>
++							<month type="3">març</month>
++							<month type="4">abr.</month>
++							<month type="5">maig</month>
++							<month type="6">juny</month>
++							<month type="7">jul.</month>
++							<month type="8">ag.</month>
++							<month type="9">set.</month>
++							<month type="10">oct.</month>
++							<month type="11">nov.</month>
++							<month type="12">des.</month>
+ 						</monthWidth>
+ 						<monthWidth type="narrow">
+ 							<month type="1" draft="provisional">G</month>
+@@ -1106,18 +1106,18 @@
+ 							<month type="12" draft="provisional">D</month>
+ 						</monthWidth>
+ 						<monthWidth type="wide">
+-							<month type="1">de gener</month>
+-							<month type="2">de febrer</month>
+-							<month type="3">de març</month>
+-							<month type="4">d’abril</month>
+-							<month type="5">de maig</month>
+-							<month type="6">de juny</month>
+-							<month type="7">de juliol</month>
+-							<month type="8">d’agost</month>
+-							<month type="9">de setembre</month>
+-							<month type="10">d’octubre</month>
+-							<month type="11">de novembre</month>
+-							<month type="12">de desembre</month>
++							<month type="1">gener</month>
++							<month type="2">febrer</month>
++							<month type="3">març</month>
++							<month type="4">abril</month>
++							<month type="5">maig</month>
++							<month type="6">juny</month>
++							<month type="7">juliol</month>
++							<month type="8">agost</month>
++							<month type="9">setembre</month>
++							<month type="10">octubre</month>
++							<month type="11">novembre</month>
++							<month type="12">desembre</month>
+ 						</monthWidth>
+ 					</monthContext>
+ 					<monthContext type="stand-alone">
--- a/misc/patches/cldr_core/cs.patch	Fri Apr 22 14:09:17 2011 +0200
+++ b/misc/patches/cldr_core/cs.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -1,45 +1,34 @@
 Index: cldr_core/main/cs.xml
 ===================================================================
---- cldr_core.orig/common/main/cs.xml	2009-06-18 16:47:09.000000000 +0200
-+++ cldr_core/main/cs.xml	2009-09-21 13:22:54.000000000 +0200
-@@ -980,29 +980,29 @@
+--- cldr_core.orig/common/main/cs.xml	2011-03-29 17:25:12.000000000 +0200
++++ cldr_core/common/main/cs.xml	2011-03-29 22:47:00.734348621 +0200
+@@ -953,18 +953,18 @@
+ 				<months>
  					<monthContext type="format">
  						<monthWidth type="abbreviated">
- 							<month type="1" draft="provisional">1</month>
--							<month type="1" alt="proposed-x1001" draft="unconfirmed">1.</month>
+-							<month type="1" draft="provisional">1</month>
+-							<month type="2" draft="provisional">2</month>
+-							<month type="3" draft="provisional">3</month>
+-							<month type="4" draft="provisional">4</month>
+-							<month type="5" draft="provisional">5</month>
+-							<month type="6" draft="provisional">6</month>
+-							<month type="7" draft="provisional">7</month>
+-							<month type="8" draft="provisional">8</month>
+-							<month type="9" draft="provisional">9</month>
+-							<month type="10" draft="provisional">10</month>
+-							<month type="11" draft="provisional">11</month>
+-							<month type="12" draft="provisional">12</month>
 +							<month type="1">led</month>
- 							<month type="2" draft="provisional">2</month>
--							<month type="2" alt="proposed-x1001" draft="unconfirmed">2.</month>
 +							<month type="2">úno</month>
- 							<month type="3" draft="provisional">3</month>
--							<month type="3" alt="proposed-x1001" draft="unconfirmed">3.</month>
 +							<month type="3">bře</month>
- 							<month type="4" draft="provisional">4</month>
--							<month type="4" alt="proposed-x1001" draft="unconfirmed">4.</month>
 +							<month type="4">dub</month>
- 							<month type="5" draft="provisional">5</month>
--							<month type="5" alt="proposed-x1001" draft="unconfirmed">5.</month>
 +							<month type="5">kvě</month>
- 							<month type="6" draft="unconfirmed">6</month>
--							<month type="6" alt="proposed-x1001" draft="unconfirmed">6.</month>
 +							<month type="6">črn</month>
- 							<month type="7" draft="unconfirmed">7</month>
--							<month type="7" alt="proposed-x1001" draft="unconfirmed">7.</month>
 +							<month type="7">črc</month>
- 							<month type="8" draft="provisional">8</month>
--							<month type="8" alt="proposed-x1001" draft="unconfirmed">8.</month>
 +							<month type="8">srp</month>
- 							<month type="9" draft="provisional">9</month>
--							<month type="9" alt="proposed-x1001" draft="unconfirmed">9.</month>
 +							<month type="9">zář</month>
- 							<month type="10" draft="provisional">10</month>
--							<month type="10" alt="proposed-x1001" draft="unconfirmed">10.</month>
 +							<month type="10">říj</month>
- 							<month type="11" draft="provisional">11</month>
--							<month type="11" alt="proposed-x1001" draft="unconfirmed">11.</month>
 +							<month type="11">lis</month>
- 							<month type="12" draft="provisional">12</month>
--							<month type="12" alt="proposed-x1001" draft="unconfirmed">12.</month>
 +							<month type="12">pro</month>
  						</monthWidth>
  						<monthWidth type="wide">
--- a/misc/patches/cldr_core/de.patch	Fri Apr 22 14:09:17 2011 +0200
+++ b/misc/patches/cldr_core/de.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -1,7 +1,19 @@
-diff -ruN cldr_core.orig/main/de.xml cldr_core/main/de.xml
---- cldr_core.orig/main/de.xml	2010-01-07 12:16:50.005934996 +0100
-+++ cldr_core/main/de.xml	2010-01-07 13:47:50.233934925 +0100
-@@ -1284,12 +1284,12 @@
+diff -ruN cldr_core.orig//common/main/de.xml cldr_core/common/main/de.xml
+--- cldr_core.orig//common/main/de.xml	2011-04-13 15:36:47.965991943 +0200
++++ cldr_core/common/main/de.xml	2011-04-13 15:41:58.101992007 +0200
+@@ -1239,6 +1239,11 @@
+ 					</dateFormatLength>
+ 				</dateFormats>
+ 				<dateTimeFormats>
++					<dateTimeFormatLength type="long">
++						<dateTimeFormat>
++							<pattern>{1}, {0}</pattern>
++						</dateTimeFormat>
++					</dateTimeFormatLength>
+ 					<availableFormats> <!-- per cldrbug 2835, added from gregorian and adjusted for G -->
+ 						<dateFormatItem id="d">d</dateFormatItem>
+ 						<dateFormatItem id="Ed">E d.</dateFormatItem>
+@@ -1483,12 +1488,12 @@
  				<timeFormats>
  					<timeFormatLength type="full">
  						<timeFormat>
@@ -16,30 +28,3 @@
  						</timeFormat>
  					</timeFormatLength>
  					<timeFormatLength type="medium">
-@@ -1306,22 +1306,22 @@
- 				<dateTimeFormats>
- 					<dateTimeFormatLength type="full">
- 						<dateTimeFormat>
--							<pattern>{1} {0}</pattern>
-+							<pattern>{1}, {0}</pattern>
- 						</dateTimeFormat>
- 					</dateTimeFormatLength>
- 					<dateTimeFormatLength type="long">
- 						<dateTimeFormat>
--							<pattern>{1} {0}</pattern>
-+							<pattern>{1}, {0}</pattern>
- 						</dateTimeFormat>
- 					</dateTimeFormatLength>
- 					<dateTimeFormatLength type="medium">
- 						<dateTimeFormat>
--							<pattern>{1} {0}</pattern>
-+							<pattern>{1}, {0}</pattern>
- 						</dateTimeFormat>
- 					</dateTimeFormatLength>
- 					<dateTimeFormatLength type="short">
- 						<dateTimeFormat>
--							<pattern>{1} {0}</pattern>
-+							<pattern>{1}, {0}</pattern>
- 						</dateTimeFormat>
- 					</dateTimeFormatLength>
- 					<availableFormats>
--- a/misc/patches/cldr_core/kk_collation.patch	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-diff -ruN cldr_core.orig/collation/kk.xml cldr_core/collation/kk.xml
---- cldr_core.orig/collation/kk.xml	2010-01-19 14:21:10.385961470 +0100
-+++ cldr_core/collation/kk.xml	2010-01-19 14:22:09.667045222 +0100
-@@ -7,7 +7,7 @@
- 		<language type="kk" /> 
- 	</identity>
- 		<collations  validSubLocales="kk_KZ">
--			<collation type="standard" draft="unconfirmed" alt="proposed">
-+			<collation type="standard">
- 				<settings normalization="on"  />
- 				<suppress_contractions>[Ѐ-џ]</suppress_contractions>
- 				<rules>
-@@ -22,7 +22,7 @@
- 					<t>І</t>
- 				</rules>
- 			</collation  >
--			<collation type="standard" >
-+			<collation type="standard" alt="orig" >
- 				<settings normalization="on"  />
- 				<suppress_contractions>[Ѐ-џ]</suppress_contractions>
- 				<rules>
--- a/misc/patches/cldr_core/ml.patch	Fri Apr 22 14:09:17 2011 +0200
+++ b/misc/patches/cldr_core/ml.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -1,19 +1,8 @@
 Index: cldr_core/main/ml.xml
 ===================================================================
---- cldr_core.orig/main/ml.xml	2009-10-05 11:01:54.000000000 +0200
-+++ cldr_core/main/ml.xml	2009-10-05 12:04:24.000000000 +0200
-@@ -1115,8 +1115,8 @@
- 						</quarterWidth>
- 					</quarterContext>
- 				</quarters>
--				<am>am</am>
--				<pm>pm</pm>
-+ 				<am>രാവിലെ</am>
-+ 				<pm>വൈകു</pm>
- 				<eras>
- 					<eraNames>
- 						<era type="0">ക്രിസ്തുവിനു് മുമ്പ്‌</era>
-@@ -1161,7 +1161,7 @@
+--- cldr_core.orig/common/main/ml.xml	2011-03-29 17:25:12.000000000 +0200
++++ cldr_core/common/main/ml.xml	2011-03-30 08:00:16.716734466 +0200
+@@ -1198,7 +1198,7 @@
  					</timeFormatLength>
  					<timeFormatLength type="long">
  						<timeFormat>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_core/sl.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,11 @@
+diff -ruN cldr_core.orig/common/main/sl.xml cldr_core/common/main/sl.xml
+--- cldr_core.orig/common/main/sl.xml	2011-04-05 17:03:57.833861743 +0200
++++ cldr_core/common/main/sl.xml	2011-04-05 17:06:56.569113214 +0200
+@@ -2594,6 +2594,7 @@
+ 				<displayName count="one" draft="provisional">slovenski tolar</displayName>
+ 				<displayName count="other" draft="provisional">slovenskih tolarjev</displayName>
+ 				<displayName count="two" draft="provisional">slovenska tolarja</displayName>
++				<symbol>SIT</symbol>
+ 			</currency>
+ 			<currency type="SKK">
+ 				<displayName>slovaška krona</displayName>
--- a/misc/patches/cldr_tools/03_cldr2024_monetary.patch	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-Index: cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCMonetary.java
-===================================================================
---- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCMonetary.java	2009-04-16 18:09:15.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCMonetary.java	2009-09-18 11:43:34.000000000 +0200
-@@ -149,6 +149,9 @@
-    if (space_position == -1)
-       space_position = monetary_formats[POSITIVE].indexOf('\u00a0');
- 
-+   if (space_position == -1)
-+      space_position = monetary_formats[POSITIVE].indexOf('\u00a0');
-+
-    if ( currency_symbol_position >= 0) 
-       if ( currency_symbol_position > decimal_symbol_position )
-          p_cs_precedes = "0";
-@@ -223,6 +226,9 @@
-    if (space_position == -1)
-       space_position = monetary_formats[NEGATIVE].indexOf('\u00a0');
- 
-+   if (space_position == -1)
-+      space_position = monetary_formats[NEGATIVE].indexOf('\u00a0');
-+
-    if ( currency_symbol_position >= 0) 
-       if ( currency_symbol_position > decimal_symbol_position )
-          n_cs_precedes = "0";
--- a/misc/patches/cldr_tools/07_improve_datetime_fmt.patch	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-Binary files cldr_tools.orig/tools/java/classes/org/unicode/cldr/posix/POSIX_LCTime.class and cldr_tools/tools/java/classes/org/unicode/cldr/posix/POSIX_LCTime.class differ
-Binary files cldr_tools.orig/tools/java/cldr.jar and cldr_tools/tools/java/cldr.jar differ
-diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java
---- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java	2009-03-27 14:38:05.735777027 +0100
-+++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java	2009-03-27 14:51:28.317680012 +0100
-@@ -130,8 +130,13 @@
-          d_fmt = d_fmt.replaceAll("\"", "/\""); //excaping of " in strings
- 
-       // d_t_fmt - 
--         SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength/dateTimeFormat/pattern";
-+         SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength[@type='long']/dateTimeFormat/pattern";
-          n = LDMLUtilities.getNode(doc, SearchLocation);
-+         if ( n == null) 
-+	 {
-+	    SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength/dateTimeFormat/pattern";
-+	    n = LDMLUtilities.getNode(doc, SearchLocation);
-+	 }
-          d_t_fmt = LDMLUtilities.getNodeValue(n);
- 
-          SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/timeFormats/timeFormatLength[@type='long']/timeFormat/pattern";
-@@ -161,8 +166,13 @@
-          if ( variant.platform.equals(POSIXVariant.SOLARIS))
-          {
-              // date_fmt
--             SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength/dateTimeFormat/pattern";
-+             SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength[@type='full']/dateTimeFormat/pattern";
-              n = LDMLUtilities.getNode(doc, SearchLocation);
-+	     if ( n == null) 
-+	     {
-+		SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength/dateTimeFormat/pattern";
-+		n = LDMLUtilities.getNode(doc, SearchLocation);
-+	     }
-              date_fmt = LDMLUtilities.getNodeValue(n);
-              
-              SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/timeFormats/timeFormatLength[@type='full']/timeFormat/pattern";
--- a/misc/patches/cldr_tools/08_solaris_yesno.patch	Fri Apr 22 14:09:17 2011 +0200
+++ b/misc/patches/cldr_tools/08_solaris_yesno.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -1,17 +1,17 @@
 Index: cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCMessages.java
 ===================================================================
---- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCMessages.java	2009-09-18 11:50:58.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCMessages.java	2009-09-18 11:51:00.000000000 +0200
-@@ -41,7 +41,7 @@
-          if ( n != null && (( s = LDMLUtilities.getNodeValue(n)) != null ))
-          {
+--- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCMessages.java	2010-03-12 19:27:46.000000000 +0100
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCMessages.java	2011-03-28 15:56:09.960150597 +0200
+@@ -36,7 +36,7 @@
+          s = doc.getWinningValue(SearchLocation);
+          if ( s != null ) {
              StringBuffer buf;
 -            if ( variant.yesno.equals("short"))
 +            if ( variant.yesno.equals("short") || variant.yesno.equals("solaris"))
              {
                 i = s.indexOf(":");
                 if ( i > 0 )
-@@ -58,9 +58,13 @@
+@@ -53,9 +53,13 @@
                   buf.append(":yes:y:YES:Y");
              }
              yesstr = POSIXUtilities.POSIXCharNameNP(buf.toString());
@@ -26,16 +26,16 @@
           {
              yesstr = "yes";
              yesexpr = POSIXUtilities.POSIXYesNoExpr(yesstr);
-@@ -76,7 +80,7 @@
-          if ( n != null && (( s = LDMLUtilities.getNodeValue(n)) != null ))
-          {
+@@ -70,7 +74,7 @@
+          s = doc.getWinningValue(SearchLocation);
+          if ( s != null ) {
              StringBuffer buf;
--            if ( variant.yesno.equals("short"))
-+            if ( variant.yesno.equals("short") || variant.yesno.equals("solaris"))
-             {
+-            if ( variant.yesno.equals("short")) {
++	    if ( variant.yesno.equals("short") || variant.yesno.equals("solaris")) {
                 i = s.indexOf(":");
                 if ( i > 0 )
-@@ -93,9 +97,13 @@
+                   buf = new StringBuffer(s.substring(0,i));
+@@ -86,9 +90,13 @@
                   buf.append(":no:n:NO:N");
              }
              nostr = POSIXUtilities.POSIXCharNameNP(buf.toString());
@@ -52,9 +52,9 @@
              noexpr = POSIXUtilities.POSIXYesNoExpr(nostr);
 Index: cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java
 ===================================================================
---- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2009-09-18 11:50:58.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2009-09-18 11:51:00.000000000 +0200
-@@ -528,8 +528,11 @@
+--- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2010-03-26 18:13:21.000000000 +0100
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2011-03-28 15:54:31.311576656 +0200
+@@ -532,8 +532,11 @@
           {   
              if ( result.length() > 0 )
                 result.append(")|(");
@@ -68,7 +68,7 @@
  
              StringCharacterIterator si = new StringCharacterIterator(cur);
              boolean OptLastChars = false;
-@@ -554,7 +557,9 @@
+@@ -558,7 +561,9 @@
                 result.append(")?");
           }
        }
--- a/misc/patches/cldr_tools/10_add_destfile.patch	Fri Apr 22 14:09:17 2011 +0200
+++ b/misc/patches/cldr_tools/10_add_destfile.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -1,17 +1,18 @@
-diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/posix/GeneratePOSIX.java cldr_tools/tools/java/org/unicode/cldr/posix/GeneratePOSIX.java
---- cldr_tools.orig/tools/java/org/unicode/cldr/posix/GeneratePOSIX.java	2009-07-02 12:34:27.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/posix/GeneratePOSIX.java	2009-07-02 12:34:56.000000000 +0200
-@@ -30,7 +30,8 @@
-         MATCH = 4,
-         UNICODESET = 5,
-         COLLATESET = 6,
--        CHARSET = 7;
-+        CHARSET = 7,
-+        DESTFILE = 8;
+Index: cldr_tools/tools/java/org/unicode/cldr/posix/GeneratePOSIX.java
+===================================================================
+--- cldr_tools.orig/tools/java/org/unicode/cldr/posix/GeneratePOSIX.java	2010-03-12 19:27:46.000000000 +0100
++++ cldr_tools/tools/java/org/unicode/cldr/posix/GeneratePOSIX.java	2011-03-28 16:00:14.159573345 +0200
+@@ -29,7 +29,8 @@
+         MATCH = 3,
+         UNICODESET = 4,
+         COLLATESET = 5,
+-        CHARSET = 6;
++        CHARSET = 6,
++        DESTFILE = 7;
  
      private static final UOption[] options = {
          UOption.HELP_H(),
-@@ -41,6 +42,7 @@
+@@ -39,6 +40,7 @@
          UOption.create("unicodeset", 'u', UOption.REQUIRES_ARG),
          UOption.create("collateset", 'x', UOption.REQUIRES_ARG),
          UOption.create("charset", 'c', UOption.REQUIRES_ARG).setDefault("UTF-8"),
@@ -19,10 +20,10 @@
      };
  
      public static void main(String[] args) throws Exception {
-@@ -80,18 +82,19 @@
+@@ -76,17 +78,18 @@
  
  
-     	POSIXLocale pl = new POSIXLocale(locale,cldr_data_location,repertoire,Charset.forName(options[CHARSET].value),codeset,collate_set,variant);
+     	POSIXLocale pl = new POSIXLocale(locale,repertoire,Charset.forName(options[CHARSET].value),codeset,collate_set,variant);
 -        PrintWriter out = BagFormatter.openUTF8Writer(options[DESTDIR].value+File.separator,options[MATCH].value + "." + codeset + ".src");
 +        PrintWriter out = BagFormatter.openUTF8Writer(options[DESTDIR].value+File.separator, options[DESTFILE].doesOccur ? options[DESTFILE].value : options[MATCH].value + "." + codeset + ".src");
          pl.write(out);
@@ -31,11 +32,10 @@
  
      public static void Usage () {
  
--    System.out.println("Usage: GeneratePOSIX [-s source_dir] [-d target_dir] -m locale_name[@variants]");
-+    System.out.println("Usage: GeneratePOSIX [-s source_dir] [-d target_dir] [-o target_file] -m locale_name[@variants]");
+-    System.out.println("Usage: GeneratePOSIX [-d target_dir] -m locale_name[@variants]");
++    System.out.println("Usage: GeneratePOSIX [-d target_dir] [-o target_file] -m locale_name[@variants]");
      System.out.println("                     { [-c codeset] | [-u repertoire_set][-x collation_set] }");
      System.out.println("where:");
-     System.out.println("   -s source_dir is the directory where CLDR .xml files reside");
      System.out.println("   -d target_dir is the directory where POSIX .src files will be written");
 +    System.out.println("   -o target_file is the file where POSIX .src files will be written");
      System.out.println("   -m locale_name is the language/territory you want to generate");
--- a/misc/patches/cldr_tools/11_quiet_ant.patch	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-Index: cldr_tools/tools/java/build.xml
-===================================================================
---- cldr_tools.orig/tools/java/build.xml	2009-05-07 18:07:46.000000000 +0200
-+++ cldr_tools/tools/java/build.xml	2009-09-18 11:55:39.000000000 +0200
-@@ -44,18 +44,18 @@
-             <pathelement location="${env.UTILITIES_JAR}"/>
-             <pathelement location="${env.XML_APIS_JAR}"/>
-         </path>
--        <echo message="java home: ${java.home}"/>
--        <echo message="java version: ${java.version}"/>
--        <echo message="ant java version: ${ant.java.version}"/>
--        <echo message="${ant.version}"/>
--        <echo message="java.class.path: ${java.class.path}/"/>
--        <echo message="build.dir: ${build.dir}"/>
--        <echo message="env.ICU4J_CLASSES: ${env.ICU4J_CLASSES}"/>
--        <echo message="env.CLDR_CLASSES: ${env.CLDR_CLASSES}"/>
--        <echo message="env.ICU4J_JAR: ${env.ICU4J_JAR}"/>
--        <echo message="env.CLDR_JAR: ${env.CLDR_JAR}"/>
--        <echo message="env.UTILITIES_JAR: ${env.UTILITIES_JAR}"/>
--        <echo message="env.XML_APIS_JAR: ${env.XML_APIS_JAR}"/>
-+        <echo message="java home: ${java.home}" level="info"/>
-+        <echo message="java version: ${java.version}" level="info"/>
-+        <echo message="ant java version: ${ant.java.version}" level="info"/>
-+        <echo message="${ant.version}" level="info"/>
-+        <echo message="java.class.path: ${java.class.path}/" level="info"/>
-+        <echo message="build.dir: ${build.dir}" level="info"/>
-+        <echo message="env.ICU4J_CLASSES: ${env.ICU4J_CLASSES}" level="info"/>
-+        <echo message="env.CLDR_CLASSES: ${env.CLDR_CLASSES}" level="info"/>
-+        <echo message="env.ICU4J_JAR: ${env.ICU4J_JAR}" level="info"/>
-+        <echo message="env.CLDR_JAR: ${env.CLDR_JAR}" level="info"/>
-+        <echo message="env.UTILITIES_JAR: ${env.UTILITIES_JAR}" level="info"/>
-+        <echo message="env.XML_APIS_JAR: ${env.XML_APIS_JAR}" level="info"/>
-     </target>
- 
-     <!-- build everything but dist-related stuff -->
-@@ -153,7 +153,7 @@
- 	<tstamp>
- 		<format property="current.year" pattern="yyyy"/>
- 	</tstamp>
--        <echo message="doc params: ${doc.params}"/>
-+        <echo message="doc params: ${doc.params}" level="info"/>
-         <mkdir dir="${doc.dir}"/>
-         <javadoc
-             packagenames="org.unicode.cldr.*"
-@@ -236,7 +236,7 @@
-         	<pathelement path="${env.XML_APIS_JAR}"/>
-         </path>
- 
--        <echo message="weblib.classpath is set to = ${derby.jar}:${icu.jar}:${utilities.jar}:${servlet.jar}"/>
-+        <echo message="weblib.classpath is set to = ${derby.jar}:${icu.jar}:${utilities.jar}:${servlet.jar}" level="info"/>
-         
-         <!--
-         TODO: do the following for the other env variables above.. 
--- a/misc/patches/cldr_tools/12_locale_description.patch	Fri Apr 22 14:09:17 2011 +0200
+++ b/misc/patches/cldr_tools/12_locale_description.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -1,27 +1,26 @@
-diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/tool/LocaleDescription.java cldr_tools/tools/java/org/unicode/cldr/tool/LocaleDescription.java
---- cldr_tools.orig/tools/java/org/unicode/cldr/tool/LocaleDescription.java	1970-01-01 01:00:00.000000000 +0100
-+++ cldr_tools/tools/java/org/unicode/cldr/tool/LocaleDescription.java	2009-08-05 15:05:42.000000000 +0200
-@@ -0,0 +1,23 @@
+diff -u cldr_tools/tools/java/org/unicode/cldr/tool/LocaleDescription.java cldr_tools/tools/java/org/unicode/cldr/tool/LocaleDescription.java
+--- cldr_tools/tools/java/org/unicode/cldr/tool/LocaleDescription.java	2009-08-05 15:05:42.000000000 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/tool/LocaleDescription.java	2011-04-01 16:16:03.793008317 +0200
+@@ -0,0 +1,22 @@
 +package org.unicode.cldr.tool;
 +
 +import java.io.File;
 +
-+import org.w3c.dom.Document;
-+import org.w3c.dom.Node;
-+
-+import org.unicode.cldr.util.LDMLUtilities;
++import org.unicode.cldr.util.CLDRFile;
++import org.unicode.cldr.util.CLDRFile.Factory;
++import org.unicode.cldr.util.CldrUtility;
 +
 +class LocaleDescription {
 +
 +	public static void main(String[] args) throws Exception {
-+		Document doc = LDMLUtilities.getFullyResolvedLDML(args[0]+File.separator+"main", "en", false, false, false, true);
++		Factory mainFactory = Factory.make(CldrUtility.MAIN_DIRECTORY, ".*");
++		CLDRFile doc = mainFactory.make("en", true);
 +		String[] tmp = args[1].split("@");
 +		String[] loc = tmp[0].split("[_-]");
 +		
-+		Node n = LDMLUtilities.getNode(doc, "//ldml/localeDisplayNames/languages/language[@type=\"" + loc[0] +"\"]");
-+		System.out.print(LDMLUtilities.getNodeValue(n) + ", ");
++		System.out.print(doc.getWinningValue("//ldml/localeDisplayNames/languages/language[@type=\"" + loc[0] +"\"]"));
++		System.out.print(", ");
 +
-+		n = LDMLUtilities.getNode(doc, "//ldml/localeDisplayNames/territories/territory[@type=\"" + loc[loc.length-1] + "\"]");
-+		System.out.print(LDMLUtilities.getNodeValue(n));
++		System.out.print(doc.getWinningValue("//ldml/localeDisplayNames/territories/territory[@type=\"" + loc[loc.length-1] + "\"]"));
 +	}
 +}
--- a/misc/patches/cldr_tools/14_fix_dtd_path	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-diff -ruN cldr_tools.orig/org/unicode/cldr/util/Utility.java cldr_tools/org/unicode/cldr/util/Utility.java
---- cldr_tools.orig/org/unicode/cldr/util/Utility.java	2009-09-21 15:57:29.000000000 +0200
-+++ cldr_tools/org/unicode/cldr/util/Utility.java	2009-09-21 15:59:01.000000000 +0200
-@@ -188,8 +188,8 @@
-           line1 = stripTags(line1);
-           line2 = stripTags(line2);
-           if (line1.equals(line2)) return LINES_SAME;
--        } else if (line1.startsWith("<!DOCTYPE ldml SYSTEM \"../../common/dtd/")
--                && line2.startsWith("<!DOCTYPE ldml SYSTEM \"../../common/dtd/")) {
-+        } else if (line1.startsWith("<!DOCTYPE ldml SYSTEM \"http://www.unicode.org/cldr/dtd/")
-+                && line2.startsWith("<!DOCTYPE ldml SYSTEM \"http://www.unicode.org/cldr/dtd/")) {
-           return LINES_SAME;
-         }
-       }
--- a/misc/patches/cldr_tools/15_java15.patch	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/test/TestTransformsSimple.java cldr_tools/tools/java/org/unicode/cldr/test/TestTransformsSimple.java
---- cldr_tools.orig/tools/java/org/unicode/cldr/test/TestTransformsSimple.java	2009-09-21 12:20:29.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/test/TestTransformsSimple.java	2009-09-21 12:33:53.000000000 +0200
-@@ -4,7 +4,7 @@
- import org.unicode.cldr.util.Utility;
- 
- import com.ibm.icu.dev.test.TestFmwk;
--import com.ibm.icu.dev.test.translit.TransliteratorTest;
-+//import com.ibm.icu.dev.test.translit.TransliteratorTest;
- import com.ibm.icu.dev.test.util.BagFormatter;
- import com.ibm.icu.lang.UCharacter;
- import com.ibm.icu.lang.UProperty;
-@@ -447,4 +447,4 @@
-       }
-     }
-   }
--}
-\ No newline at end of file
-+}
-diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/tool/GenerateBcp47Bits.java cldr_tools/tools/java/org/unicode/cldr/tool/GenerateBcp47Bits.java
---- cldr_tools.orig/tools/java/org/unicode/cldr/tool/GenerateBcp47Bits.java	2009-09-21 12:20:29.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/tool/GenerateBcp47Bits.java	2009-09-21 12:33:26.000000000 +0200
-@@ -333,7 +333,7 @@
- 
-         }
-       }
--      if (type == Type.REGION) return result.toString().toUpperCase(Locale.ROOT);
-+      if (type == Type.REGION) return result.toString().toUpperCase(Locale.US);
-       return result.toString();
-     }
-   }
--- a/misc/patches/cldr_tools/16_arabic_hack.patch	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-diff -ruN cldr_tools.orig/tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java
---- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2009-10-21 12:51:00.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2009-10-21 13:26:53.000000000 +0200
-@@ -25,6 +25,7 @@
- 
-    private static UnicodeSet repertoire = new UnicodeSet(0x0000,0x10FFFF);
-    private static Document char_fallbk;
-+   public static boolean isInReperoire = true;
- 
-    public static void setRepertoire ( UnicodeSet rep )
-    {
-@@ -51,6 +52,7 @@
-    public static String POSIXCharName ( String s )
-    {
-         int cp;
-+        isInReperoire = true;
-         StringBuffer result = new StringBuffer();
-         for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) {
-             cp = UTF16.charAt(s, i);
-@@ -111,7 +113,10 @@
-               result = new StringBuffer(POSIXUtilities.POSIXCharName(substituteString));
-            }
-            else
-+           {
-               System.out.println("	No acceptable substitute found. The resulting locale source may not compile.");
-+              isInReperoire = false;
-+           }
-         }
- 
-         return result.toString();
-diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCMonetary.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCMonetary.java
---- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCMonetary.java	2009-10-21 12:51:00.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCMonetary.java	2009-10-21 13:27:11.000000000 +0200
-@@ -97,6 +97,10 @@
-    else
-       currency_symbol = POSIXUtilities.POSIXCharName(tmp_currency_symbol);
- 
-+   if (tmp_currency_symbol.endsWith("\u200F") && POSIXUtilities.isInReperoire == false)
-+       currency_symbol = POSIXUtilities.POSIXCharName(
-+               new StringBuffer(tmp_currency_symbol).deleteCharAt(tmp_currency_symbol.length()-1).reverse().toString());
-+
-    n = LDMLUtilities.getNode(doc, "//ldml/numbers/currencies/currency[@type='"+int_curr_symbol+"']/decimal");
-    if ( n == null )
-       n = LDMLUtilities.getNode(doc, "//ldml/numbers/symbols/currencySeparator");
-diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java
---- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java	2009-10-21 17:41:39.000000000 +0200
-+++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java	2009-10-21 17:42:27.000000000 +0200
-@@ -80,11 +80,12 @@
-          alt_digits[0] = "";
-          SearchLocation = "//ldml/numbers/symbols/nativeZeroDigit";
-          n = LDMLUtilities.getNode(doc, SearchLocation);
--         if ( (n != null) &&  !(LDMLUtilities.getNodeValue(n).equals("0")))
-+         String NativeZeroDigit = LDMLUtilities.getNodeValue(n);
-+         String NativeZeroDigitChar = POSIXUtilities.POSIXCharName(NativeZeroDigit);
-+         if ( (n != null) &&  !NativeZeroDigit.equals("0") && POSIXUtilities.isInReperoire)
-          {
-             //Character ThisDigit;
--            String NativeZeroDigit = LDMLUtilities.getNodeValue(n);
--            alt_digits[0] = POSIXUtilities.POSIXCharName(NativeZeroDigit);
-+            alt_digits[0] = NativeZeroDigitChar;
-             char base_value = NativeZeroDigit.charAt(0);
-             for ( short i = 1 ; i < 10 ; i++ )
-                 alt_digits[i] = POSIXUtilities.POSIXCharName(Character.toString(((char)((short)base_value + i))));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_tools/16_fix_arabic_alt_numbers.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,28 @@
+Files cldr_tools.orig/tools/java/org/unicode/cldr/posix/.POSIXUtilities.java.swp and cldr_tools/tools/java/org/unicode/cldr/posix/.POSIXUtilities.java.swp differ
+diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java
+--- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java	2011-04-14 15:27:21.565561256 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java	2011-04-14 15:35:02.520218871 +0200
+@@ -70,7 +70,7 @@
+          alt_digits[0] = "";
+          SearchLocation = "//ldml/numbers/symbols/nativeZeroDigit";
+          String nativeZeroDigit = doc.getWinningValue(SearchLocation);
+-         if ( (nativeZeroDigit != null) &&  !(nativeZeroDigit.equals("0")))
++         if ( (nativeZeroDigit != null) &&  !(nativeZeroDigit.equals("0")) && POSIXUtilities.getRepertoire().contains(nativeZeroDigit) )
+          {
+             //Character ThisDigit;
+             alt_digits[0] = POSIXUtilities.POSIXCharName(nativeZeroDigit);
+diff -ruN cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIXUtilities.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java
+--- cldr_tools.orig/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2011-04-14 15:27:21.563020782 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2011-04-14 15:35:34.620961195 +0200
+@@ -29,6 +29,11 @@
+    {
+       repertoire = rep;
+    }
++   
++   public static UnicodeSet getRepertoire ()
++   {
++      return repertoire;
++   }
+ 
+    public static void setCharFallback ( CLDRFile fallbk )
+    {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_tools/17_lctime_fix.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,26 @@
+diff -ruN cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIX_LCTime.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java
+--- cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIX_LCTime.java	2011-03-31 13:52:10.348679572 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCTime.java	2011-03-31 13:58:24.585181074 +0200
+@@ -147,13 +147,19 @@
+          if ( variant.platform.equals(POSIXVariant.SOLARIS))
+          {
+              // date_fmt
+-             SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/dateTimeFormats/dateTimeFormatLength/dateTimeFormat/pattern";
++             SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']" +
++                 "/dateTimeFormats/dateTimeFormatLength[@type='full']" +
++                 "/dateTimeFormat[@type='standard']/pattern[@type='standard']";
+              date_fmt = doc.getWinningValue(SearchLocation);
+              
+-             SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/timeFormats/timeFormatLength[@type='full']/timeFormat/pattern";
++             SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']" +
++                 "/timeFormats/timeFormatLength[@type='full']" +
++                 "/timeFormat[@type='standard']/pattern[@type='standard']";
+              date_fmt = date_fmt.replaceAll("\\{0\\}",doc.getWinningValue(SearchLocation));
+              
+-             SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']/dateFormats/dateFormatLength[@type='full']/dateFormat/pattern";
++             SearchLocation = "//ldml/dates/calendars/calendar[@type='gregorian']" +
++                 "/dateFormats/dateFormatLength[@type='full']" +
++                 "/dateFormat[@type='standard']/pattern[@type='standard']";
+              date_fmt = date_fmt.replaceAll("\\{1\\}",doc.getWinningValue(SearchLocation));
+              
+              date_fmt = POSIXUtilities.POSIXDateTimeFormat(date_fmt, alt_digits[0].length()>0, variant);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_tools/18_generateposix_quiet.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,12 @@
+diff -ruN cldr_tools.orig//tools/java/org/unicode/cldr/util/CldrUtility.java cldr_tools/tools/java/org/unicode/cldr/util/CldrUtility.java
+--- cldr_tools.orig//tools/java/org/unicode/cldr/util/CldrUtility.java	2011-04-01 15:04:51.945755388 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/util/CldrUtility.java	2011-04-01 15:15:21.909505208 +0200
+@@ -1059,7 +1059,7 @@
+     } else if (result.length() == 0) {
+       result = valueIfEmpty;
+     }
+-    System.out.println("-D" + key + "=" + result);
++    //System.out.println("-D" + key + "=" + result);
+     return result;
+   }
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_tools/19_fix_POSIXCharName.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,14 @@
+Binary files cldr_tools.orig//tools/java/classes/org/unicode/cldr/posix/POSIXUtilities.class and cldr_tools/tools/java/classes/org/unicode/cldr/posix/POSIXUtilities.class differ
+Binary files cldr_tools.orig//tools/java/cldr.jar and cldr_tools/tools/java/cldr.jar differ
+diff -ruN cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIXUtilities.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java
+--- cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2011-04-05 15:23:40.309612580 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2011-04-05 15:22:01.781612365 +0200
+@@ -96,7 +96,7 @@
+ 
+            String substituteString = "";
+            boolean SubFound = false;
+-           String SearchLocation = "//supplementalData/characters/character-fallback/character[@value='"+UCharacter.toString(cp)+"']/substitute";
++           String SearchLocation = "//supplementalData/characters/character-fallback/character[@value=\""+UCharacter.toString(cp)+"\"]/substitute";
+ 
+            for ( Iterator<String> it = char_fallbk.iterator(SearchLocation,CLDRFile.ldmlComparator); it.hasNext() && !SubFound;)
+            {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_tools/20_bell_workaround.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,14 @@
+0x07 and 0x1f514 chars have the same name <BELL> (Unicode 6.0 bug?)
+Charmap is case sensitive, we use as workaround '<bell>' for U+0007
+
+diff -ruN cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIXUtilities.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java
+--- cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2011-04-14 00:16:17.661998294 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIXUtilities.java	2011-04-14 00:17:18.861998306 +0200
+@@ -72,6 +72,7 @@
+            String n = UCharacter.getExtendedName(cp);
+            result.append(n.replaceAll(" ","_").replaceAll("DIGIT_","").toLowerCase());
+         }
++        else if ( cp == 0x0007 ) result.append("bell"); // Required elements for POSIX portable character set
+         else if ( cp == 0x0009 ) result.append("tab"); // Required elements for POSIX portable character set
+         else if ( cp == 0x000A ) result.append("newline"); // Required elements for POSIX portable character set
+         else if ( cp == 0x000B ) result.append("vertical-tab"); // Required elements for POSIX portable character set
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_tools/21_default_repertire.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,13 @@
+diff -ruN cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIXLocale.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIXLocale.java
+--- cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIXLocale.java	2011-04-15 15:33:44.072439117 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIXLocale.java	2011-04-15 15:37:17.712439014 +0200
+@@ -100,6 +100,9 @@
+         }
+  
+         repertoire.add(0x0000,0x007f);        // Always add the ASCII set
++	repertoire.addAll(new UnicodeSet("[:Whitespace:]"));	// Always add whitespace and control chars
++	repertoire.addAll(new UnicodeSet("[:Control:]"));
++	repertoire.addAll(new UnicodeSet("[:Symbol:]"));
+         
+      }
+      else if ( ! codeset.equals("UTF-8") )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/cldr_tools/22_ctype_tolowerupper.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,38 @@
+Some tolower pairs were not valid because the second letter is not upper case (dtto for toupper and lower case).
+Only characters specified for tolower (or toupper) keywords lower and upper shall be specified in posix locale.
+
+Ex: toupper (<GREEK_SMALL_LETTER_OMEGA_WITH_YPOGEGRAMMENI>,<GREEK_CAPITAL_LETTER_OMEGA_WITH_PROSGEGRAMMENI>)
+	GREEK_CAPITAL_LETTER_OMEGA_WITH_PROSGEGRAMMENI is not uppercase (Lu), but titlecase (Lt).
+
+
+
+diff -ruN cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIX_LCCtype.java cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCCtype.java
+--- cldr_tools.orig//tools/java/org/unicode/cldr/posix/POSIX_LCCtype.java	2011-04-19 14:48:11.422077757 +0200
++++ cldr_tools/tools/java/org/unicode/cldr/posix/POSIX_LCCtype.java	2011-04-19 14:51:21.082077805 +0200
+@@ -87,11 +87,12 @@
+         // toupper processing
+ 
+         UnicodeSet lowers = new UnicodeSet(types[1][1]).retainAll(chars);
++        UnicodeSet uppers = new UnicodeSet(types[0][1]).retainAll(chars);
+ 
+         UnicodeSet us = new UnicodeSet();
+         for (UnicodeSetIterator it = new UnicodeSetIterator(chars); it.next();) {
+         	int upp = UCharacter.toUpperCase(it.codepoint);
+-            if (upp != it.codepoint && chars.contains(upp) && lowers.contains(it.codepoint)) us.add(it.codepoint);
++            if (upp != it.codepoint && uppers.contains(upp) && lowers.contains(it.codepoint)) us.add(it.codepoint);
+         }
+         item = 0;
+         last = us.size() - 1;
+@@ -106,11 +107,10 @@
+ 
+         // tolower processing
+ 
+-        UnicodeSet uppers = new UnicodeSet(types[0][1]).retainAll(chars);
+         us = new UnicodeSet();
+         for (UnicodeSetIterator it = new UnicodeSetIterator(chars); it.next();) {
+         	int low = UCharacter.toLowerCase(it.codepoint);
+-            if (low != it.codepoint && chars.contains(low) && uppers.contains(it.codepoint)) us.add(it.codepoint);
++            if (low != it.codepoint && lowers.contains(low) && uppers.contains(it.codepoint)) us.add(it.codepoint);
+         }
+         item = 0;
+         last = us.size() - 1;
--- a/misc/patches/icu4j/01_quiet_ant.patch	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-diff -ruN icu4j.orig/build.xml icu4j/build.xml
---- icu4j.orig/build.xml	2009-09-21 10:53:56.000000000 +0200
-+++ icu4j/build.xml	2009-09-21 11:00:32.000000000 +0200
-@@ -61,11 +61,11 @@
-   </target>
- 
-   <target name="warnAntVersion" unless="supported.ant.version">
--    <echo message="####################### WARNING #######################" />
--    <echo message="The version of ant used by the current configuration" />
--    <echo message="may not work well with this build script file.  Please" />
--    <echo message="use ant 1.6 or later version." />
--    <echo message="#######################################################" />
-+    <echo message="####################### WARNING #######################" level="warning" />
-+    <echo message="The version of ant used by the current configuration" level="warning" />
-+    <echo message="may not work well with this build script file.  Please" level="warning" />
-+    <echo message="use ant 1.6 or later version." level="warning" />
-+    <echo message="#######################################################" level="warning" />
-   </target>
- 
-   <target name="init" depends="initBase,initSrc"/>
-@@ -134,12 +134,12 @@
- 
-     <mkdir dir="${build.dir}" />
- 
--    <echo message="java home: ${java.home}" />
--    <echo message="java version: ${java.version}" />
--    <echo message="ant java version: ${ant.java.version}" />
--    <echo message="${ant.version}" />
--    <echo message="${env.COMPUTERNAME} with ${os.name} ${os.version} on ${os.arch}" />
--    <echo message="clover initstring = '${clover.initstring}'" />
-+    <echo message="java home: ${java.home}" level="info" />
-+    <echo message="java version: ${java.version}" level="info" />
-+    <echo message="ant java version: ${ant.java.version}" level="info" />
-+    <echo message="${ant.version}" level="info" />
-+    <echo message="${env.COMPUTERNAME} with ${os.name} ${os.version} on ${os.arch}" level="info" />
-+    <echo message="clover initstring = '${clover.initstring}'" level="info" />
- 
-     <!-- ## Java version dependent build configuration ##-->
-  
-@@ -162,7 +162,7 @@
- 
-     <fail message="Failed to detect Java runtime library version used for building ICU4J"
-           unless="target.rt.version" />
--    <echo message="target runtime environment: ${target.rt.version}" />
-+    <echo message="target runtime environment: ${target.rt.version}" level="info" />
- 
-     <condition property="default.java.build.target">
-       <equals arg1="${target.rt.version}" arg2="${default.target.rt.version}" />
-@@ -232,16 +232,16 @@
-       <format property="date.time" pattern="yyyy-MM-dd 'at' hh:mm:ss z" locale="en,US" />
-     </tstamp>
- 
--    <echo message="Initialized at ${date.time}" />
-+    <echo message="Initialized at ${date.time}" level="info" />
-   </target>
- 
-   <target name="displayBuildEnvWarning" unless="default.java.build.target">
--    <echo message="####################### WARNING #######################" />
--    <echo message="The JDK version used by the current build environment" />
--    <echo message="does not match the reference JDK version for this" />
--    <echo message="ICU4J release.  The build outputs may not be identical" />
--    <echo message="to the official ICU4J binary distribution." />
--    <echo message="#######################################################" />
-+    <echo message="####################### WARNING #######################" level="warning" />
-+    <echo message="The JDK version used by the current build environment" level="warning" />
-+    <echo message="does not match the reference JDK version for this" level="warning" />
-+    <echo message="ICU4J release.  The build outputs may not be identical" level="warning" />
-+    <echo message="to the official ICU4J binary distribution." level="warning" />
-+    <echo message="#######################################################" level="warning" />
-   </target>
- 
-   <target name="initSrc"
-@@ -279,7 +279,7 @@
-   </target>
- 
-   <target name="doMangle" unless="dontMangle">
--    <echo message="Running source code preprocessor [java com.ibm.icu.dev.tool.docs.CodeMangler ${mangler.args}]"/>
-+    <echo message="Running source code preprocessor [java com.ibm.icu.dev.tool.docs.CodeMangler ${mangler.args}]" level="info" />
-     <java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true" fork="true" dir="${basedir}">
-       <arg line="${mangler.args}"/>
-     </java>
-@@ -423,7 +423,7 @@
-   </target>
- 
-   <target name="docs14plus" depends="tools" unless="before.java14">
--    <echo message="doc params: ${doc.params}" />
-+    <echo message="doc params: ${doc.params}"  level="info" />
-     <mkdir dir="${doc.dir}" />
-     <javadoc  packagenames="com.ibm.icu.lang,com.ibm.icu.text,com.ibm.icu.util,com.ibm.icu.charset,com.ibm.icu.math,com.ibm.icu.dev"
-               sourcepath="${src.dir}"
-@@ -440,7 +440,7 @@
-   </target>
- 
-   <target name="fulldocs" depends="tools" unless="before.java14" description="build all javadoc">
--    <echo message="doc params: ${doc.params}" />
-+    <echo message="doc params: ${doc.params}"  level="info" />
-     <mkdir dir="${doc.dir}" />
-     <javadoc  packagenames="com.ibm.icu.*"
-               sourcepath="${src.dir}"
-@@ -550,7 +550,7 @@
-           depends="core,indices"
-           unless="before.java14"
-           description="build  'icu4j-charstes.jar' jar file">
--    <echo message="${icu4j.data.path}/cnvalias.icu"/>
-+    <echo message="${icu4j.data.path}/cnvalias.icu" level="info" />
-     <jar jarfile="${charsets.jar.file}" compress="true">
-       <fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
-       <fileset dir="${build.dir}"
-@@ -843,11 +843,11 @@
-   </target>
- 
-   <target name="_requires14" if="before.java14">
--    <echo message="One of your targets requires JAVA_HOME to be set to JDK version 1.4 or newer" />
-+    <echo message="One of your targets requires JAVA_HOME to be set to JDK version 1.4 or newer" level="warning" />
-   </target>
- 
-   <target name="_checktags" depends="tools" unless="before.java14">
--    <echo message="doc params: ${doc.params}" />
-+    <echo message="doc params: ${doc.params}" level="info" />
-     <javadoc sourcepath="${src.dir}" packagenames="com.ibm.icu.*" excludepackagenames="com.ibm.icu.dev.*,com.ibm.icu.impl.*" classpath="${build.dir}" source="1.4">
-       <doclet name="com.ibm.icu.dev.tool.docs.CheckTags" path="${build.dir}">
-         <!-- <param name="-short"/> -->
-@@ -1575,13 +1575,13 @@
-   <target name="initEclipsePDEBuildEnv"
-           depends="initBase,initEclipseHome,initEclipseLauncher,initEclipseOSGiJar,initEclipsePDE"
-           description="Initialize eclipse PDE build environment">
--    <echo message="[PDE build configuration properties]"/>
--    <echo message="    Eclipse home:    ${eclipse.home}"/>
--    <echo message="    Launcher jar:    ${eclipse.launcher}"/>
--    <echo message="    OSGi bundle jar: ${eclipse.osgi.jar}"/>
--    <echo message="    Base OS:         ${eclipse.baseos}"/>
--    <echo message="    Base WS:         ${eclipse.basews}"/>
--    <echo message="    Base ARCH:       ${eclipse.basearch}"/>
-+    <echo message="[PDE build configuration properties]" level="info" />
-+    <echo message="    Eclipse home:    ${eclipse.home}" level="info" />
-+    <echo message="    Launcher jar:    ${eclipse.launcher}" level="info" />
-+    <echo message="    OSGi bundle jar: ${eclipse.osgi.jar}" level="info" />
-+    <echo message="    Base OS:         ${eclipse.baseos}" level="info" />
-+    <echo message="    Base WS:         ${eclipse.basews}" level="info" />
-+    <echo message="    Base ARCH:       ${eclipse.basearch}" level="info" />
-   </target>
- 
-   <target name="initEclipseHome"
-@@ -1962,11 +1962,11 @@
-         </section>
-       </manifest>
-     </jar>
--    <echo message="Please see ${tzu.bin.dir} directory for the files." />
-+    <echo message="Please see ${tzu.bin.dir} directory for the files." level="info" />
-   </target>
- 
-   <target name="icutzucheck" depends="icutzujar" description="check ICU4J TimeZone Update Utility">
--    <echo>Testing ICUTZU ...</echo>
-+    <echo level="info">Testing ICUTZU ...</echo>
- 
-     <mkdir dir="${tzu.temp.dir}" />
-     <move todir="${tzu.temp.dir}">
-@@ -1975,12 +1975,12 @@
-       <fileset file="${tzu.bin.dir}/metazoneInfo.res" />
-     </move>
- 
--    <echo file="${tzu.bin.dir}/DirectorySearch.txt">+${tzu.test.dir}</echo>
-+    <echo file="${tzu.bin.dir}/DirectorySearch.txt" level="info">+${tzu.test.dir}</echo>
-     <get dest="${tzu.bin.dir}/zoneinfo.res" src="http://icu-project.org/tzdata/2008d/be/zoneinfo.res" />
-     <get dest="${tzu.bin.dir}/metazoneInfo.res" src="http://icu-project.org/tzdata/2008d/be/metazoneInfo.res" />
-     <copy todir="${tzu.test.dir}" file="${tzu.bin.dir}/icu4j.jar" />
- 
--    <echo>Running ICUTZU in Discovery Mode ...</echo>
-+    <echo level="info">Running ICUTZU in Discovery Mode ...</echo>
-     <exec dir="${tzu.bin.dir}" executable="${java.home}/bin/java">
-       <arg value="-cp" />
-       <arg path="${tzu.bin.dir}/${jar.file};${tzu.bin.dir}/${tzu.jar.file}" />
-@@ -1997,7 +1997,7 @@
-       <arg value="icu.gif" />
-     </exec>
- 
--    <echo>Running ICUTZU in Patch Mode ...</echo>
-+    <echo level="info">Running ICUTZU in Patch Mode ...</echo>
-     <exec dir="${tzu.bin.dir}" executable="${java.home}/bin/java">
-       <arg value="-cp" />
-       <arg path="${tzu.bin.dir}/${jar.file};${tzu.bin.dir}/${tzu.jar.file}" />
-@@ -2014,7 +2014,7 @@
-       <arg value="icu.gif" />
-     </exec>
- 
--    <echo>Comparing results ...</echo>
-+    <echo level="info">Comparing results ...</echo>
-     <unjar src="${tzu.test.dir}/${jar.file}" dest="${tzu.test.dir}">
-       <patternset>
-         <include name="**/zoneinfo.res" />
-@@ -2034,7 +2034,7 @@
-     </condition>
-     <fail unless="tzu.metazoneinfo.match">ICUTZU test failed. ${tzu.bin.dir}/metazoneInfo.res does not match ${tzu.test.dir}/metazoneInfo.res</fail>
- 
--    <echo>Cleaning up ...</echo>
-+    <echo level="info">Cleaning up ...</echo>
-     <move todir="${tzu.bin.dir}">
-       <fileset file="${tzu.temp.dir}/DirectorySearch.txt" />
-       <fileset file="${tzu.temp.dir}/zoneinfo.res" />
-@@ -2044,7 +2044,7 @@
-         <fileset file="${tzu.temp.dir}" />
-         <fileset dir="${tzu.test.dir}" />
-     </delete>
--    <echo>ICUTZU test successful.</echo>
-+    <echo level="info">ICUTZU test successful.</echo>
-   </target>
- 
-   <target name="icutzusrc-dist" depends="init" description="ICUTZU source distributable zip">
--- a/misc/patches/icu4j/02_icu7223_fix.patch	Fri Apr 22 14:09:17 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-diff -ruN icu4j.orig/src/com/ibm/icu/text/CollationParsedRuleBuilder.java icu4j/src/com/ibm/icu/text/CollationParsedRuleBuilder.java
---- icu4j.orig/src/com/ibm/icu/text/CollationParsedRuleBuilder.java	2010-11-12 16:21:58.000000000 +0100
-+++ icu4j/src/com/ibm/icu/text/CollationParsedRuleBuilder.java	2010-11-12 16:28:51.000000000 +0100
-@@ -1737,12 +1737,14 @@
-           
-     // Case bits handling for expansion
-     if(token.m_CE_[0] != 0) { // case bits should be set only for non-ignorables
--        int startoftokenrule = token.m_source_ & 0xFF;
--        if ((token.m_source_ >>> 24) > 1) {
-+	token.m_CE_[0] &= 0xFFFFFF3F; // Clean the case bits field
-+	int cSize = (token.m_source_ & 0xFF000000) >>> 24;
-+	int startoftokenrule = token.m_source_ & 0x00FFFFFF;
-+
-+        if (cSize > 1) {
-             // Do it manually
--            int length = token.m_source_ >>> 24;
-             String tokenstr = token.m_rules_.substring(startoftokenrule, 
--                                   startoftokenrule + length);
-+			      startoftokenrule + cSize);
-             token.m_CE_[0] |= getCaseBits(tokenstr);
-         } 
-         else {
-diff -ruN icu4j.orig/src/com/ibm/icu/dev/test/collator/CollationMiscTest.java icu4j/src/com/ibm/icu/dev/test/collator/CollationMiscTest.java
---- icu4j.orig/src/com/ibm/icu/dev/test/collator/CollationMiscTest.java	2010-11-12 16:21:57.000000000 +0100
-+++ icu4j/src/com/ibm/icu/dev/test/collator/CollationMiscTest.java	2010-11-12 16:22:53.000000000 +0100
-@@ -2488,3 +2488,59 @@
-     }
- }
- 
-+
-+    /* Track7223: CollationElementIterator does not return correct order for Hungarian */
-+    public void TestHungarianTailoring(){
-+        String rules = new String("&DZ<dzs<<<Dzs<<<DZS" +
-+                                  "&G<gy<<<Gy<<<GY" +
-+                                  "&L<ly<<<Ly<<<LY" +
-+                                  "&N<ny<<<Ny<<<NY" +
-+                                  "&S<sz<<<Sz<<<SZ" +
-+                                  "&T<ty<<<Ty<<<TY" +
-+                                  "&Z<zs<<<Zs<<<ZS" +
-+                                  "&O<\u00f6<<<\u00d6<<\u0151<<<\u0150" +
-+                                  "&U<\u00fc<<<\u00dc<<\u0171<<<\u0171" +
-+                                  "&cs<<<ccs/cs" +
-+                                  "&Cs<<<Ccs/cs" +
-+                                  "&CS<<<CCS/CS" +
-+                                  "&dz<<<ddz/dz" +
-+                                  "&Dz<<<Ddz/dz" +
-+                                  "&DZ<<<DDZ/DZ" +
-+                                  "&dzs<<<ddzs/dzs" +
-+                                  "&Dzs<<<Ddzs/dzs" +
-+                                  "&DZS<<<DDZS/DZS" +
-+                                  "&gy<<<ggy/gy" +
-+                                  "&Gy<<<Ggy/gy" +
-+                                  "&GY<<<GGY/GY");
-+        RuleBasedCollator coll;
-+        try {
-+            String str1 = "ggy";
-+            String str2 = "GGY";
-+            coll = new RuleBasedCollator(rules);
-+            if (coll.compare("ggy", "GGY") >= 0) {
-+                  errln("TestHungarianTailoring.compare(" + str1 + ","+ str2 +
-+                        ") was suppose to return -1 ");
-+            }
-+            CollationKey sortKey1 = coll.getCollationKey(str1);
-+            CollationKey sortKey2 = coll.getCollationKey(str2);
-+            if (sortKey1.compareTo(sortKey2) >= 0) {
-+                  errln("TestHungarianTailoring getCollationKey(\"" + str1 +"\") was suppose "+
-+                        "less than getCollationKey(\""+ str2 + "\").");
-+                  errln("  getCollationKey(\"ggy\"):" + prettify(sortKey1) +
-+                        "  getCollationKey(\"GGY\"):" + prettify(sortKey2));
-+            }
-+
-+            CollationElementIterator iter1 = coll.getCollationElementIterator(str1);
-+            CollationElementIterator iter2 = coll.getCollationElementIterator(str2);
-+            int ce1, ce2;
-+            while((ce1 = iter1.next()) != CollationElementIterator.NULLORDER &&
-+                  (ce2 = iter2.next()) != CollationElementIterator.NULLORDER) {
-+                if (ce1 > ce2) {
-+                  errln("TestHungarianTailoring.CollationElementIterator(" + str1 +
-+                      ","+ str2 + ") was suppose to return -1 ");
-+                }
-+            }
-+          } catch (Exception e) {
-+              e.printStackTrace();
-+          }
-+     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/patches/icu4j/03.missing_manifest_stub.patch	Fri Apr 22 14:09:20 2011 +0200
@@ -0,0 +1,23 @@
+diff -ruN icu4j.orig/manifest.stub icu4j/manifest.stub
+--- icu4j.orig/manifest.stub	1970-01-01 01:00:00.000000000 +0100
++++ icu4j/manifest.stub	2011-03-29 16:36:56.000000000 +0200
+@@ -0,0 +1,18 @@
++Manifest-Version: 1.0
++Specification-Title: International Components for Unicode for Java
++Specification-Version: @SPECVERSION@
++Specification-Vendor: icu-project.org
++Implementation-Title: International Components for Unicode for Java
++Implementation-Version: @IMPLVERSION@
++Implementation-Vendor: IBM Corporation
++Implementation-Vendor-Id: com.ibm
++Bundle-ManifestVersion: 2
++Bundle-Name: ICU4J
++Bundle-Description: International Components for Unicode for Java
++Bundle-SymbolicName: com.ibm.icu
++Bundle-Version: @IMPLVERSION@
++Bundle-Vendor: IBM Corporation
++Bundle-Copyright: @COPYRIGHT@
++Bundle-RequiredExecutionEnvironment: @EXECENV@
++Main-Class: com.ibm.icu.util.VersionInfo
++Export-Package: com.ibm.icu.lang,com.ibm.icu.math,com.ibm.icu.text,com.ibm.icu.util
+\ No newline at end of file