# HG changeset patch # User lana # Date 1271807410 25200 # Node ID 4114baee5fe9afa0b4f0f11b3561816b88a347a0 # Parent 9031df3e55a7d3719f1f2c7f5d72261071e8b964# Parent 960c1ce0f14df32afa193c3ae7e8812d440fe4a0 Merge diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/make/sun/javazic/tzdata/VERSION --- a/jdk/make/sun/javazic/tzdata/VERSION Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/make/sun/javazic/tzdata/VERSION Tue Apr 20 16:50:10 2010 -0700 @@ -21,4 +21,4 @@ # CA 95054 USA or visit www.sun.com if you need additional information or # have any questions. # -tzdata2010g +tzdata2010i diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/make/sun/javazic/tzdata/africa --- a/jdk/make/sun/javazic/tzdata/africa Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/make/sun/javazic/tzdata/africa Tue Apr 20 16:50:10 2010 -0700 @@ -702,6 +702,21 @@ # http://www.worldtimezone.com/dst_news/dst_news_morocco03.html # +# From Steffen Thorsen (2010-04-13): +# Several news media in Morocco report that the Ministry of Modernization +# of Public Sectors has announced that Morocco will have DST from +# 2010-05-02 to 2010-08-08. +# +# Example: +# +# http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html +# +# (French) +# Our page: +# +# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html +# + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Morocco 1939 only - Sep 12 0:00 1:00 S @@ -723,6 +738,8 @@ Rule Morocco 2008 only - Sep 1 0:00 0 - Rule Morocco 2009 only - Jun 1 0:00 1:00 S Rule Morocco 2009 only - Aug 21 0:00 0 - +Rule Morocco 2010 only - May 2 0:00 1:00 S +Rule Morocco 2010 only - Aug 8 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 0:00 Morocco WE%sT 1984 Mar 16 @@ -964,6 +981,24 @@ # Therefore, the standard time will be kept unchanged the whole year long." # So foregoing DST seems to be an exception (albeit one that may be repeated in the future). +# From Alexander Krivenyshev (2010-03-27): +# According to some news reports Tunis confirmed not to use DST in 2010 +# +# (translation): +# "The Tunisian government has decided to abandon DST, which was scheduled on +# Sunday... +# Tunisian authorities had suspended the DST for the first time last year also +# coincided with the month of Ramadan..." +# +# (in Arabic) +# +# http://www.moheet.com/show_news.aspx?nid=358861&pg=1 +# +# http://www.almadenahnews.com/newss/news.php?c=118&id=38036 +# or +# +# http://www.worldtimezone.com/dst_news/dst_news_tunis02.html + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Tunisia 1939 only - Apr 15 23:00s 1:00 S Rule Tunisia 1939 only - Nov 18 23:00s 0 - @@ -990,8 +1025,7 @@ Rule Tunisia 2005 only - Sep 30 1:00s 0 - Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 - -Rule Tunisia 2010 max - Mar lastSun 2:00s 1:00 S -Rule Tunisia 2010 max - Oct lastSun 2:00s 0 - + # Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's # more precise 0:09:21. # Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/make/sun/javazic/tzdata/asia --- a/jdk/make/sun/javazic/tzdata/asia Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/make/sun/javazic/tzdata/asia Tue Apr 20 16:50:10 2010 -0700 @@ -588,6 +588,28 @@ # was still controlled by Japan. This is hard to believe, but we don't # have any other information. +# From smallufo (2010-04-03): +# According to Taiwan's CWB, +# +# http://www.cwb.gov.tw/V6/astronomy/cdata/summert.htm +# +# Taipei has DST in 1979 between July 1st and Sep 30. + +# From Arthur David Olson (2010-04-07): +# Here's Google's translation of the table at the bottom of the "summert.htm" page: +# Decade Name Start and end date +# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time May 1 to September 30 +# 41 years of the Republic of China (AD 1952) Daylight Saving Time March 1 to October 31 +# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time April 1 to October 31 +# In the 44 years to 45 years (AD 1955-1956 years) Daylight Saving Time April 1 to September 30 +# Republic of China 46 years to 48 years (AD 1957-1959) Summer Time April 1 to September 30 +# Republic of China 49 years to 50 years (AD 1960-1961) Summer Time June 1 to September 30 +# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time +# Republic of China 63 years to 64 years (1974-1975 AD) Daylight Saving Time April 1 to September 30 +# Republic of China 65 years to 67 years (1976-1978 AD) Stop Daylight Saving Time +# Republic of China 68 years (AD 1979) Daylight Saving Time July 1 to September 30 +# Republic of China since 69 years (AD 1980) Stop Daylight Saving Time + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Taiwan 1945 1951 - May 1 0:00 1:00 D Rule Taiwan 1945 1951 - Oct 1 0:00 0 S @@ -598,8 +620,9 @@ Rule Taiwan 1960 1961 - Jun 1 0:00 1:00 D Rule Taiwan 1974 1975 - Apr 1 0:00 1:00 D Rule Taiwan 1974 1975 - Oct 1 0:00 0 S -Rule Taiwan 1980 only - Jun 30 0:00 1:00 D -Rule Taiwan 1980 only - Sep 30 0:00 0 S +Rule Taiwan 1979 only - Jun 30 0:00 1:00 D +Rule Taiwan 1979 only - Sep 30 0:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Taipei 8:06:00 - LMT 1896 # or Taibei or T'ai-pei 8:00 Taiwan C%sT @@ -1934,13 +1957,35 @@ # [T]he German Consulate General in Karachi reported me today that Pakistan # will go back to standard time on 1st of November. +# From Steffen Thorsen (2010-03-26): +# Steffen Thorsen wrote: +# > On Thursday (2010-03-25) it was announced that DST would start in +# > Pakistan on 2010-04-01. +# > +# > Then today, the president said that they might have to revert the +# > decision if it is not supported by the parliament. So at the time +# > being, it seems unclear if DST will be actually observed or not - but +# > April 1 could be a more likely date than April 15. +# Now, it seems that the decision to not observe DST in final: +# +# "Govt Withdraws Plan To Advance Clocks" +# +# http://www.apakistannews.com/govt-withdraws-plan-to-advance-clocks-172041 +# +# +# "People laud PM's announcement to end DST" +# +# http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2 +# + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Pakistan 2002 only - Apr Sun>=2 0:01 1:00 S Rule Pakistan 2002 only - Oct Sun>=2 0:01 0 - Rule Pakistan 2008 only - Jun 1 0:00 1:00 S Rule Pakistan 2008 only - Nov 1 0:00 0 - -Rule Pakistan 2009 max - Apr 15 0:00 1:00 S -Rule Pakistan 2009 max - Nov 1 0:00 0 - +Rule Pakistan 2009 only - Apr 15 0:00 1:00 S +Rule Pakistan 2009 only - Nov 1 0:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Karachi 4:28:12 - LMT 1907 5:30 - IST 1942 Sep diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/make/sun/javazic/tzdata/southamerica --- a/jdk/make/sun/javazic/tzdata/southamerica Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/make/sun/javazic/tzdata/southamerica Tue Apr 20 16:50:10 2010 -0700 @@ -459,6 +459,27 @@ # of the country calls it "ART". # ... +# From Alexander Krivenyshev (2010-04-09): +# According to news reports from El Diario de la Republica Province San +# Luis, Argentina (standard time UTC-04) will keep Daylight Saving Time +# after April 11, 2010--will continue to have same time as rest of +# Argentina (UTC-3) (no DST). +# +# Confirmaron la prórroga del huso horario de verano (Spanish) +# +# http://www.eldiariodelarepublica.com/index.php?option=com_content&task=view&id=29383&Itemid=9 +# +# or (some English translation): +# +# http://www.worldtimezone.com/dst_news/dst_news_argentina08.html +# + +# From Mariano Absatz (2010-04-12): +# yes...I can confirm this...and given that San Luis keeps calling +# UTC-03:00 "summer time", we should't just let San Luis go back to "Arg" +# rules...San Luis is still using "Western ARgentina Time" and it got +# stuck on Summer daylight savings time even though the summer is over. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Buenos Aires (BA), Capital Federal (CF), @@ -592,8 +613,8 @@ # # San Luis (SL) -Rule SanLuis 2008 max - Mar Sun>=8 0:00 0 - -Rule SanLuis 2007 max - Oct Sun>=8 0:00 1:00 S +Rule SanLuis 2008 2009 - Mar Sun>=8 0:00 0 - +Rule SanLuis 2007 2009 - Oct Sun>=8 0:00 1:00 S Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31 -4:16:48 - CMT 1920 May diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/src/share/classes/java/awt/font/NumericShaper.java --- a/jdk/src/share/classes/java/awt/font/NumericShaper.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/src/share/classes/java/awt/font/NumericShaper.java Tue Apr 20 16:50:10 2010 -0700 @@ -129,6 +129,8 @@ * @since 1.7 */ public static enum Range { + // The order of EUROPEAN to MOGOLIAN must be consistent + // with the bitmask-based constants. /** * The Latin (European) range with the Latin (ASCII) digits. */ @@ -210,6 +212,9 @@ * The Mongolian range with the Mongolian digits. */ MONGOLIAN ('\u1810', '\u1800', '\u1900'), + // The order of EUROPEAN to MOGOLIAN must be consistent + // with the bitmask-based constants. + /** * The N'Ko range with the N'Ko digits. */ @@ -259,17 +264,6 @@ */ CHAM ('\uaa50', '\uaa00', '\uaa60'); - private static final Range[] ranges = Range.class.getEnumConstants(); - static { - // sort ranges[] by base for binary search - Arrays.sort(ranges, - new Comparator() { - public int compare(Range s1, Range s2) { - return s1.base > s2.base ? 1 : s1.base == s2.base ? 0 : -1; - } - }); - } - private static int toRangeIndex(Range script) { int index = script.ordinal(); return index < NUM_KEYS ? index : -1; @@ -346,11 +340,20 @@ /** * {@code Set} indicating which Unicode ranges to * shape. {@code null} for the bit mask-based API. - * - * @since 1.7 */ private transient Set rangeSet; + /** + * rangeSet.toArray() value. Sorted by Range.base when the number + * of elements is greater then BSEARCH_THRESHOLD. + */ + private transient Range[] rangeArray; + + /** + * If more than BSEARCH_THRESHOLD ranges are specified, binary search is used. + */ + private static final int BSEARCH_THRESHOLD = 3; + private static final long serialVersionUID = -8022764705923730308L; /** Identifies the Latin-1 (European) and extended range, and @@ -513,25 +516,32 @@ // cache for the NumericShaper.Range version private transient volatile Range currentRange = Range.EUROPEAN; - private Range rangeForCodePoint(int codepoint) { - Range range = currentRange; - if (range.inRange(codepoint)) { - return range; + private Range rangeForCodePoint(final int codepoint) { + if (currentRange.inRange(codepoint)) { + return currentRange; } - final Range[] ranges = Range.ranges; - int lo = 0; - int hi = ranges.length - 1; - while (lo <= hi) { - int mid = (lo + hi) / 2; - range = ranges[mid]; - if (codepoint < range.start) { - hi = mid - 1; - } else if (codepoint >= range.end) { - lo = mid + 1; - } else { - currentRange = range; - return range; + final Range[] ranges = rangeArray; + if (ranges.length > BSEARCH_THRESHOLD) { + int lo = 0; + int hi = ranges.length - 1; + while (lo <= hi) { + int mid = (lo + hi) / 2; + Range range = ranges[mid]; + if (codepoint < range.start) { + hi = mid - 1; + } else if (codepoint >= range.end) { + lo = mid + 1; + } else { + currentRange = range; + return range; + } + } + } else { + for (int i = 0; i < ranges.length; i++) { + if (ranges[i].inRange(codepoint)) { + return ranges[i]; + } } } return Range.EUROPEAN; @@ -928,8 +938,25 @@ } private NumericShaper(Range defaultContext, Set ranges) { - this.shapingRange = defaultContext; - this.rangeSet = EnumSet.copyOf(ranges); // throws NPE if ranges is null. + shapingRange = defaultContext; + rangeSet = EnumSet.copyOf(ranges); // throws NPE if ranges is null. + + // Give precedance to EASTERN_ARABIC if both ARABIC and + // EASTERN_ARABIC are specified. + if (rangeSet.contains(Range.EASTERN_ARABIC) + && rangeSet.contains(Range.ARABIC)) { + rangeSet.remove(Range.ARABIC); + } + rangeArray = rangeSet.toArray(new Range[rangeSet.size()]); + if (rangeArray.length > BSEARCH_THRESHOLD) { + // sort rangeArray for binary search + Arrays.sort(rangeArray, + new Comparator() { + public int compare(Range s1, Range s2) { + return s1.base > s2.base ? 1 : s1.base == s2.base ? 0 : -1; + } + }); + } } /** @@ -1152,31 +1179,25 @@ } private void shapeContextually(char[] text, int start, int count, Range ctxKey) { - if (ctxKey == null) { + // if we don't support the specified context, then don't shape. + if (ctxKey == null || !rangeSet.contains(ctxKey)) { ctxKey = Range.EUROPEAN; } Range lastKey = ctxKey; int base = ctxKey.getDigitBase(); char minDigit = (char)('0' + ctxKey.getNumericBase()); - for (int i = start, end = start + count; i < end; ++i) { + final int end = start + count; + for (int i = start; i < end; ++i) { char c = text[i]; if (c >= minDigit && c <= '9') { text[i] = (char)(c + base); continue; } if (isStrongDirectional(c)) { - Range newKey = rangeForCodePoint(c); - if (newKey != lastKey) { - lastKey = newKey; - ctxKey = newKey; - if (rangeSet.contains(Range.EUROPEAN) - && (ctxKey == Range.ARABIC || ctxKey == Range.EASTERN_ARABIC)) { - ctxKey = Range.EASTERN_ARABIC; - } else if (!rangeSet.contains(ctxKey)) { - ctxKey = Range.EUROPEAN; - } - + ctxKey = rangeForCodePoint(c); + if (ctxKey != lastKey) { + lastKey = ctxKey; base = ctxKey.getDigitBase(); minDigit = (char)('0' + ctxKey.getNumericBase()); } diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/src/share/classes/java/text/DateFormat.java --- a/jdk/src/share/classes/java/text/DateFormat.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/src/share/classes/java/text/DateFormat.java Tue Apr 20 16:50:10 2010 -0700 @@ -53,20 +53,20 @@ import sun.util.LocaleServiceProviderPool; /** - * DateFormat is an abstract class for date/time formatting subclasses which + * {@code DateFormat} is an abstract class for date/time formatting subclasses which * formats and parses dates or time in a language-independent manner. - * The date/time formatting subclass, such as SimpleDateFormat, allows for + * The date/time formatting subclass, such as {@link SimpleDateFormat}, allows for * formatting (i.e., date -> text), parsing (text -> date), and * normalization. The date is represented as a Date object or * as the milliseconds since January 1, 1970, 00:00:00 GMT. * - *

DateFormat provides many class methods for obtaining default date/time + *

{@code DateFormat} provides many class methods for obtaining default date/time * formatters based on the default or a given locale and a number of formatting - * styles. The formatting styles include FULL, LONG, MEDIUM, and SHORT. More + * styles. The formatting styles include {@link #FULL}, {@link #LONG}, {@link #MEDIUM}, and {@link #SHORT}. More * detail and examples of using these styles are provided in the method * descriptions. * - *

DateFormat helps you to format and parse dates for any locale. + *

{@code DateFormat} helps you to format and parse dates for any locale. * Your code can be completely independent of the locale conventions for * months, days of the week, or even the calendar format: lunar vs. solar. * @@ -86,7 +86,7 @@ * } * *

To format a date for a different Locale, specify it in the - * call to getDateInstance(). + * call to {@link #getDateInstance(int, Locale) getDateInstance()}. *

  *  DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
  * 
@@ -94,30 +94,30 @@ *
  *  myDate = df.parse(myString);
  * 
- *

Use getDateInstance to get the normal date format for that country. + *

Use {@code getDateInstance} to get the normal date format for that country. * There are other static factory methods available. - * Use getTimeInstance to get the time format for that country. - * Use getDateTimeInstance to get a date and time format. You can pass in + * Use {@code getTimeInstance} to get the time format for that country. + * Use {@code getDateTimeInstance} to get a date and time format. You can pass in * different options to these factory methods to control the length of the - * result; from SHORT to MEDIUM to LONG to FULL. The exact result depends + * result; from {@link #SHORT} to {@link #MEDIUM} to {@link #LONG} to {@link #FULL}. The exact result depends * on the locale, but generally: - *

  • SHORT is completely numeric, such as 12.13.52 or 3:30pm - *
  • MEDIUM is longer, such as Jan 12, 1952 - *
  • LONG is longer, such as January 12, 1952 or 3:30:32pm - *
  • FULL is pretty completely specified, such as - * Tuesday, April 12, 1952 AD or 3:30:42pm PST. + *
    • {@link #SHORT} is completely numeric, such as {@code 12.13.52} or {@code 3:30pm} + *
    • {@link #MEDIUM} is longer, such as {@code Jan 12, 1952} + *
    • {@link #LONG} is longer, such as {@code January 12, 1952} or {@code 3:30:32pm} + *
    • {@link #FULL} is pretty completely specified, such as + * {@code Tuesday, April 12, 1952 AD or 3:30:42pm PST}. *
    * *

    You can also set the time zone on the format if you wish. * If you want even more control over the format or parsing, * (or want to give your users more control), - * you can try casting the DateFormat you get from the factory methods - * to a SimpleDateFormat. This will work for the majority - * of countries; just remember to put it in a try block in case you + * you can try casting the {@code DateFormat} you get from the factory methods + * to a {@link SimpleDateFormat}. This will work for the majority + * of countries; just remember to put it in a {@code try} block in case you * encounter an unusual one. * *

    You can also use forms of the parse and format methods with - * ParsePosition and FieldPosition to + * {@link ParsePosition} and {@link FieldPosition} to * allow you to *

    • progressively parse through pieces of a string. *
    • align any particular field, or find out where it is for selection @@ -143,10 +143,13 @@ public abstract class DateFormat extends Format { /** - * The calendar that DateFormat uses to produce the time field - * values needed to implement date and time formatting. Subclasses should - * initialize this to a calendar appropriate for the locale associated with - * this DateFormat. + * The {@link Calendar} instance used for calculating the date-time fields + * and the instant of time. This field is used for both formatting and + * parsing. + * + *

      Subclasses should initialize this field to a {@link Calendar} + * appropriate for the {@link Locale} associated with this + * DateFormat. * @serial */ protected Calendar calendar; @@ -358,15 +361,21 @@ /** * Parse a date/time string according to the given parse position. For - * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date - * that is equivalent to Date(837039928046). + * example, a time text {@code "07/10/96 4:5 PM, PDT"} will be parsed into a {@code Date} + * that is equivalent to {@code Date(837039900000L)}. * *

      By default, parsing is lenient: If the input is not in the form used * by this object's format method but can still be parsed as a date, then * the parse succeeds. Clients may insist on strict adherence to the - * format by calling setLenient(false). + * format by calling {@link #setLenient(boolean) setLenient(false)}. * - * @see java.text.DateFormat#setLenient(boolean) + *

      This parsing operation uses the {@link #calendar} to produce + * a {@code Date}. As a result, the {@code calendar}'s date-time + * fields and the {@code TimeZone} value may have been + * overwritten, depending on subclass implementations. Any {@code + * TimeZone} value that has previously been set by a call to + * {@link #setTimeZone(java.util.TimeZone) setTimeZone} may need + * to be restored for further operations. * * @param source The date/time string to be parsed * @@ -374,7 +383,7 @@ * output, the position at which parsing terminated, or the * start position if the parse failed. * - * @return A Date, or null if the input could not be parsed + * @return A {@code Date}, or {@code null} if the input could not be parsed */ public abstract Date parse(String source, ParsePosition pos); @@ -569,7 +578,12 @@ /** * Set the calendar to be used by this date format. Initially, the default * calendar for the specified or default locale is used. - * @param newCalendar the new Calendar to be used by the date format + * + *

      Any {@link java.util.TimeZone TimeZone} and {@linkplain + * #isLenient() leniency} values that have previously been set are + * overwritten by {@code newCalendar}'s values. + * + * @param newCalendar the new {@code Calendar} to be used by the date format */ public void setCalendar(Calendar newCalendar) { @@ -578,6 +592,7 @@ /** * Gets the calendar associated with this date/time formatter. + * * @return the calendar associated with this date/time formatter. */ public Calendar getCalendar() @@ -605,7 +620,18 @@ } /** - * Sets the time zone for the calendar of this DateFormat object. + * Sets the time zone for the calendar of this {@code DateFormat} object. + * This method is equivalent to the following call. + *

      +     *  getCalendar().setTimeZone(zone)
      +     * 
      + * + *

      The {@code TimeZone} set by this method is overwritten by a + * {@link #setCalendar(java.util.Calendar) setCalendar} call. + * + *

      The {@code TimeZone} set by this method may be overwritten as + * a result of a call to the parse method. + * * @param zone the given new time zone. */ public void setTimeZone(TimeZone zone) @@ -615,6 +641,11 @@ /** * Gets the time zone. + * This method is equivalent to the following call. + *

      +     *  getCalendar().getTimeZone()
      +     * 
      + * * @return the time zone associated with the calendar of DateFormat. */ public TimeZone getTimeZone() @@ -627,8 +658,17 @@ * lenient parsing, the parser may use heuristics to interpret inputs that * do not precisely match this object's format. With strict parsing, * inputs must match this object's format. - * @param lenient when true, parsing is lenient - * @see java.util.Calendar#setLenient + * + *

      This method is equivalent to the following call. + *

      +     *  getCalendar().setLenient(lenient)
      +     * 
      + * + *

      This leniency value is overwritten by a call to {@link + * #setCalendar(java.util.Calendar) setCalendar()}. + * + * @param lenient when {@code true}, parsing is lenient + * @see java.util.Calendar#setLenient(boolean) */ public void setLenient(boolean lenient) { @@ -637,6 +677,14 @@ /** * Tell whether date/time parsing is to be lenient. + * This method is equivalent to the following call. + *

      +     *  getCalendar().isLenient()
      +     * 
      + * + * @return {@code true} if the {@link #calendar} is lenient; + * {@code false} otherwise. + * @see java.util.Calendar#isLenient() */ public boolean isLenient() { diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/src/share/classes/java/text/SimpleDateFormat.java --- a/jdk/src/share/classes/java/text/SimpleDateFormat.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/src/share/classes/java/text/SimpleDateFormat.java Tue Apr 20 16:50:10 2010 -0700 @@ -1235,6 +1235,20 @@ * changed, the error index of pos is set to the index of * the character where the error occurred, and null is returned. * + *

      This parsing operation uses the {@link DateFormat#calendar + * calendar} to produce a {@code Date}. All of the {@code + * calendar}'s date-time fields are {@linkplain Calendar#clear() + * cleared} before parsing, and the {@code calendar}'s default + * values of the date-time fields are used for any missing + * date-time information. For example, the year value of the + * parsed {@code Date} is 1970 with {@link GregorianCalendar} if + * no year value is given from the parsing operation. The {@code + * TimeZone} value may be overwritten, depending on the given + * pattern and the time zone value in {@code text}. Any {@code + * TimeZone} value that has previously been set by a call to + * {@link #setTimeZone(java.util.TimeZone) setTimeZone} may need + * to be restored for further operations. + * * @param text A String, part of which should be parsed. * @param pos A ParsePosition object with index and error * index information as described above. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java Tue Apr 20 16:50:10 2010 -0700 @@ -756,9 +756,8 @@ * things. *

        *
      1. - * Sets the associated component to opaque (can be changed - * easily by a subclass or on JTextComponent directly), - * which is the most common case. This will cause the + * Sets the associated component to opaque if the opaque property + * has not already been set by the client program. This will cause the * component's background color to be painted. *
      2. * Installs the default caret and highlighter into the diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/src/windows/classes/sun/awt/windows/fontconfig.properties --- a/jdk/src/windows/classes/sun/awt/windows/fontconfig.properties Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/src/windows/classes/sun/awt/windows/fontconfig.properties Tue Apr 20 16:50:10 2010 -0700 @@ -41,6 +41,7 @@ allfonts.lucida=Lucida Sans Regular allfonts.symbol=Symbol allfonts.thai=Lucida Sans Regular +allfonts.georgian=Sylfaen serif.plain.alphabetic=Times New Roman serif.plain.chinese-ms950=MingLiU @@ -237,7 +238,7 @@ sequence.fallback=lucida,\ chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\ - japanese,korean,chinese-ms950-extb,chinese-ms936-extb + japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian # Exclusion Ranges @@ -296,3 +297,4 @@ filename.Symbol=SYMBOL.TTF filename.Wingdings=WINGDING.TTF +filename.Sylfaen=sylfaen.ttf diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/awt/font/NumericShaper/EasternArabicTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/awt/font/NumericShaper/EasternArabicTest.java Tue Apr 20 16:50:10 2010 -0700 @@ -0,0 +1,118 @@ +/* + * Copyright (c) 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6941948 + * @summary Make sure that EASTERN_ARABIC works with the enum interface. + */ + +import java.awt.font.NumericShaper; +import java.util.EnumSet; +import static java.awt.font.NumericShaper.*; + +public class EasternArabicTest { + static NumericShaper ns_old, ns_new; + static boolean err = false; + + static String[][] testData = { + // Arabic "October 10" + {"\u0623\u0643\u062a\u0648\u0628\u0631 10", + "\u0623\u0643\u062a\u0648\u0628\u0631 \u06f1\u06f0"}, // EASTERN_ARABIC digits + + // Tamil "Year 2009" + {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009", + "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"}, + // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not + // included in Unicode 4.0.0. + + // Ethiopic "Syllable 2009" + {"\u1200 2009", + "\u1200 \u136a00\u1371"}, + // Ethiopic zero doesn't exist even in Unicode 5.1.0. + }; + + public static void main(String[] args) { + ns_old = getContextualShaper(TAMIL|ETHIOPIC|EASTERN_ARABIC|ARABIC|THAI|LAO, + EUROPEAN); + ns_new = getContextualShaper(EnumSet.of(Range.THAI, + Range.TAMIL, + Range.ETHIOPIC, + Range.EASTERN_ARABIC, + Range.ARABIC, + Range.LAO), + Range.EUROPEAN); + + + StringBuilder cData = new StringBuilder(); + StringBuilder cExpected = new StringBuilder(); + for (int i = 0; i < testData.length; i++) { + String data = testData[i][0]; + String expected = testData[i][1]; + test(data, expected); + cData.append(data).append(' '); + cExpected.append(expected).append(' '); + } + test(cData.toString(), cExpected.toString()); + + if (err) { + throw new RuntimeException("shape() returned unexpected value."); + } + } + + private static void test(String data, String expected) { + char[] text = data.toCharArray(); + ns_old.shape(text, 0, text.length); + String got = new String(text); + + if (!expected.equals(got)) { + err = true; + System.err.println("Error with traditional range."); + System.err.println(" text = " + data); + System.err.println(" got = " + got); + System.err.println(" expected = " + expected); + } else { + System.err.println("OK with traditional range."); + System.err.println(" text = " + data); + System.err.println(" got = " + got); + System.err.println(" expected = " + expected); + } + + text = data.toCharArray(); + ns_new.shape(text, 0, text.length); + got = new String(text); + + if (!expected.equals(got)) { + err = true; + System.err.println("Error with new Enum range."); + System.err.println(" text = " + data); + System.err.println(" got = " + got); + System.err.println(" expected = " + expected); + } else { + System.err.println("OK with new Enum range."); + System.err.println(" text = " + data); + System.err.println(" got = " + got); + System.err.println(" expected = " + expected); + } + } +} diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/Locale/Bug4175998Test.java --- a/jdk/test/java/util/Locale/Bug4175998Test.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/Locale/Bug4175998Test.java Tue Apr 20 16:50:10 2010 -0700 @@ -32,16 +32,6 @@ * * (C) Copyright IBM Corp. 1998 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4083270Test.java --- a/jdk/test/java/util/ResourceBundle/Bug4083270Test.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4083270Test.java Tue Apr 20 16:50:10 2010 -0700 @@ -31,16 +31,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4165815Test.java --- a/jdk/test/java/util/ResourceBundle/Bug4165815Test.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4165815Test.java Tue Apr 20 16:50:10 2010 -0700 @@ -34,16 +34,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Class.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Class.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Class.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Getter.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Getter.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Getter.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Resource.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Resource2.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource2.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource2.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Resource3.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java --- a/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4177489Test.java --- a/jdk/test/java/util/ResourceBundle/Bug4177489Test.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4177489Test.java Tue Apr 20 16:50:10 2010 -0700 @@ -32,16 +32,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4177489_Resource.java --- a/jdk/test/java/util/ResourceBundle/Bug4177489_Resource.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4177489_Resource.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun. diff -r 9031df3e55a7 -r 4114baee5fe9 jdk/test/java/util/ResourceBundle/Bug4177489_Resource_jf.java --- a/jdk/test/java/util/ResourceBundle/Bug4177489_Resource_jf.java Tue Apr 20 16:48:56 2010 -0700 +++ b/jdk/test/java/util/ResourceBundle/Bug4177489_Resource_jf.java Tue Apr 20 16:50:10 2010 -0700 @@ -25,16 +25,6 @@ * * (C) Copyright IBM Corp. 1999 - All Rights Reserved * - * Portions Copyright 2007 by Sun Microsystems, Inc., - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. - * All rights reserved. - * - * This software is the confidential and proprietary information - * of Sun Microsystems, Inc. ("Confidential Information"). You - * shall not disclose such Confidential Information and shall use - * it only in accordance with the terms of the license agreement - * you entered into with Sun. - * * The original version of this source code and documentation is * copyrighted and owned by IBM. These materials are provided * under terms of a License Agreement between IBM and Sun.