ICU-12005 Fix numerous warnings / errors from Javadoc generation
X-SVN-Rev: 38385
This commit is contained in:
parent
6a32e3f591
commit
8f598f6746
@ -788,8 +788,9 @@
|
||||
</target>
|
||||
|
||||
<!-- doclint in V8 is too strict to handle existing html in javadoc -->
|
||||
<!-- doclint options are: html, accessibiltiy, missing, reference, syntax -->
|
||||
<target name="_setLintV8" unless="is.pre.java8">
|
||||
<property name="lintParam" value="-Xdoclint:-html"/>
|
||||
<property name="lintParam" value=""/>
|
||||
</target>
|
||||
<target name="_setLintPreV8" if="is.pre.java8">
|
||||
<property name="lintParam" value=""/>
|
||||
@ -799,6 +800,7 @@
|
||||
<echo message="JCite library path: ${jcite.libs}"/>
|
||||
<echo message="JCite additional source path: ${jcite.addl.src}"/>
|
||||
<echo message="Custom stylesheet: ${docs.style.sheet}"/>
|
||||
<echo message="lintParam: ${lintParam}"/>
|
||||
<javadoc
|
||||
destdir="${doc.dir}"
|
||||
nodeprecatedlist="true"
|
||||
@ -832,7 +834,8 @@
|
||||
</javadoc>
|
||||
</target>
|
||||
|
||||
<target name="_docsWithoutJCite" unless="jcite.libs">
|
||||
<target name="_docsWithoutJCite" unless="jcite.libs, _setLintV8, _setLintPreV8">
|
||||
<echo message="lintParam: ${lintParam}"/>
|
||||
<javadoc
|
||||
destdir="${doc.dir}"
|
||||
nodeprecatedlist="true"
|
||||
@ -843,7 +846,7 @@
|
||||
docencoding="UTF-8"
|
||||
charset="UTF-8"
|
||||
bottom="<font size=-1>Copyright (c) ${current.year} IBM Corporation and others.</font>"
|
||||
additionalparam="-breakiterator -use -tagletpath ${icu4j.build-tools.jar} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet"
|
||||
additionalparam="${lintParam} -breakiterator -use -tagletpath ${icu4j.build-tools.jar} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet"
|
||||
link="${icu4j.api.doc.jdk.link}"
|
||||
source="1.6"
|
||||
bootclasspath="${java6.bootclasspath}">
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2006-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 2006-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -20,7 +20,7 @@ import com.ibm.icu.text.UnicodeSet;
|
||||
* <p>A subclass of java.nio.Charset for providing implementation of ICU's charset converters.
|
||||
* This API is used to convert codepage or character encoded data to and
|
||||
* from UTF-16. You can open a converter with {@link Charset#forName} and {@link #forNameICU}. With that
|
||||
* converter, you can get its properties, set options, convert your data.</p>
|
||||
* converter, you can get its properties, set options, convert your data.
|
||||
*
|
||||
* <p>Since many software programs recognize different converter names for
|
||||
* different types of converters, there are other functions in this API to
|
||||
@ -376,13 +376,14 @@ public abstract class CharsetICU extends Charset{
|
||||
abstract void getUnicodeSetImpl(UnicodeSet setFillIn, int which);
|
||||
|
||||
/**
|
||||
* <p>Returns the set of Unicode code points that can be converted by an ICU Converter.
|
||||
* <p>
|
||||
* The current implementation returns only one kind of set (UCNV_ROUNDTRIP_SET): The set of all Unicode code points that can be
|
||||
* Returns the set of Unicode code points that can be converted by an ICU Converter.
|
||||
*
|
||||
* <p>The current implementation returns only one kind of set (UCNV_ROUNDTRIP_SET): The set of all Unicode code points that can be
|
||||
* roundtrip-converted (converted without any data loss) with the converter This set will not include code points that have fallback
|
||||
* mappings or are only the result of reverse fallback mappings. See UTR #22 "Character Mapping Markup Language" at <a href="http://www.unicode.org/reports/tr22/">http://www.unicode.org/reports/tr22/</a>
|
||||
* <p>* In the future, there may be more UConverterUnicodeSet choices to select sets with different properties.
|
||||
* <p>
|
||||
*
|
||||
* <p>In the future, there may be more UConverterUnicodeSet choices to select sets with different properties.
|
||||
*
|
||||
* <p>This is useful for example for
|
||||
* <ul><li>checking that a string or document can be roundtrip-converted with a converter,
|
||||
* without/before actually performing the conversion</li>
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2008-2014, Google Inc, International Business Machines Corporation
|
||||
* Copyright (C) 2008-2016, Google Inc, International Business Machines Corporation
|
||||
* and others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -41,16 +41,16 @@ import com.ibm.icu.util.ULocale;
|
||||
* (bucket) of a larger "target" list. That is, each label corresponds to a bucket in
|
||||
* the target list, where everything in the bucket is greater than or equal to the character
|
||||
* (according to the locale's collation). Strings can be added to the index;
|
||||
* they will be in sorted order in the right bucket.</p>
|
||||
* they will be in sorted order in the right bucket.
|
||||
* <p>
|
||||
* The class also supports having buckets for strings before the first (underflow),
|
||||
* after the last (overflow), and between scripts (inflow). For example, if the index
|
||||
* is constructed with labels for Russian and English, Greek characters would fall
|
||||
* into an inflow bucket between the other two scripts.</p>
|
||||
* into an inflow bucket between the other two scripts.
|
||||
*
|
||||
* <p><em>Note:</em> If you expect to have a lot of ASCII or Latin characters
|
||||
* as well as characters from the user's language,
|
||||
* then it is a good idea to call addLabels(ULocale.English).</p>
|
||||
* then it is a good idea to call addLabels(ULocale.English).
|
||||
*
|
||||
* <h2>Direct Use</h2>
|
||||
* <p>The following shows an example of building an index directly.
|
||||
@ -733,7 +733,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of records in the index: that is, the total number of distinct <name,data> pairs added with addRecord(...), over all the buckets.
|
||||
* Return the number of records in the index: that is, the total number of distinct <name,data> pairs added with addRecord(...), over all the buckets.
|
||||
*
|
||||
* @return total number of records in buckets
|
||||
* @stable ICU 4.8
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2014, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -22,18 +22,18 @@ import com.ibm.icu.impl.coll.UTF16CollationIterator;
|
||||
import com.ibm.icu.impl.coll.UVector32;
|
||||
|
||||
/**
|
||||
* <p><code>CollationElementIterator</code> is an iterator created by
|
||||
* <code>CollationElementIterator</code> is an iterator created by
|
||||
* a RuleBasedCollator to walk through a string. The return result of
|
||||
* each iteration is a 32-bit collation element (CE) that defines the
|
||||
* ordering priority of the next character or sequence of characters
|
||||
* in the source string.</p>
|
||||
* in the source string.
|
||||
*
|
||||
* <p>For illustration, consider the following in Slovak and in traditional Spanish collation:
|
||||
* <blockquote>
|
||||
* <pre>
|
||||
* "ca" -> the first collation element is CE('c') and the second
|
||||
* "ca" -> the first collation element is CE('c') and the second
|
||||
* collation element is CE('a').
|
||||
* "cha" -> the first collation element is CE('ch') and the second
|
||||
* "cha" -> the first collation element is CE('ch') and the second
|
||||
* collation element is CE('a').
|
||||
* </pre>
|
||||
* </blockquote>
|
||||
@ -43,12 +43,11 @@ import com.ibm.icu.impl.coll.UVector32;
|
||||
* Since the character 'æ' is a composed character of 'a' and 'e', the
|
||||
* iterator returns two collation elements for the single character 'æ'
|
||||
*
|
||||
* "æb" -> the first collation element is collation_element('a'), the
|
||||
* "æb" -> the first collation element is collation_element('a'), the
|
||||
* second collation element is collation_element('e'), and the
|
||||
* third collation element is collation_element('b').
|
||||
* </pre>
|
||||
* </blockquote>
|
||||
* </p>
|
||||
*
|
||||
* <p>For collation ordering comparison, the collation element results
|
||||
* can not be compared simply by using basic arithmetic operators,
|
||||
@ -57,11 +56,11 @@ import com.ibm.icu.impl.coll.UVector32;
|
||||
* <a href="http://userguide.icu-project.org/collation/architecture">
|
||||
* User Guide</a>. An example of using the CollationElementIterator
|
||||
* for collation ordering comparison is the class
|
||||
* {@link com.ibm.icu.text.StringSearch}.</p>
|
||||
* {@link com.ibm.icu.text.StringSearch}.
|
||||
*
|
||||
* <p>To construct a CollationElementIterator object, users
|
||||
* call the method getCollationElementIterator() on a
|
||||
* RuleBasedCollator that defines the desired sorting order.</p>
|
||||
* RuleBasedCollator that defines the desired sorting order.
|
||||
*
|
||||
* <p> Example:
|
||||
* <blockquote>
|
||||
@ -72,7 +71,7 @@ import com.ibm.icu.impl.coll.UVector32;
|
||||
* int primaryOrder = iterator.IGNORABLE;
|
||||
* while (primaryOrder != iterator.NULLORDER) {
|
||||
* int order = iterator.next();
|
||||
* if (order != iterator.IGNORABLE &&
|
||||
* if (order != iterator.IGNORABLE &&
|
||||
* order != iterator.NULLORDER) {
|
||||
* // order is valid, not ignorable and we have not passed the end
|
||||
* // of the iteration, we do something
|
||||
@ -83,7 +82,6 @@ import com.ibm.icu.impl.coll.UVector32;
|
||||
* }
|
||||
* </pre>
|
||||
* </blockquote>
|
||||
* </p>
|
||||
* <p>
|
||||
* The method next() returns the collation order of the next character based on
|
||||
* the comparison level of the collator. The method previous() returns the
|
||||
@ -97,10 +95,8 @@ import com.ibm.icu.impl.coll.UVector32;
|
||||
* Hence at the next call of next() or previous(), the first or last collation order,
|
||||
* or collation order at the specified position will be returned. If a change of
|
||||
* direction is done without one of these calls, the result is undefined.
|
||||
* </p>
|
||||
* <p>
|
||||
* This class is not subclassable.
|
||||
* </p>
|
||||
* @see Collator
|
||||
* @see RuleBasedCollator
|
||||
* @see StringSearch
|
||||
@ -113,7 +109,7 @@ public final class CollationElementIterator
|
||||
private RuleBasedCollator rbc_; // aliased
|
||||
private int otherHalf_;
|
||||
/**
|
||||
* <0: backwards; 0: just after reset() (previous() begins from end);
|
||||
* <0: backwards; 0: just after reset() (previous() begins from end);
|
||||
* 1: just after setOffset(); >1: forward
|
||||
*/
|
||||
private byte dir_;
|
||||
@ -128,23 +124,23 @@ public final class CollationElementIterator
|
||||
|
||||
|
||||
/**
|
||||
* <p>This constant is returned by the iterator in the methods
|
||||
* This constant is returned by the iterator in the methods
|
||||
* next() and previous() when the end or the beginning of the
|
||||
* source string has been reached, and there are no more valid
|
||||
* collation elements to return.</p>
|
||||
* collation elements to return.
|
||||
*
|
||||
* <p>See class documentation for an example of use.</p>
|
||||
* <p>See class documentation for an example of use.
|
||||
* @stable ICU 2.8
|
||||
* @see #next
|
||||
* @see #previous */
|
||||
public final static int NULLORDER = 0xffffffff;
|
||||
|
||||
/**
|
||||
* <p>This constant is returned by the iterator in the methods
|
||||
* This constant is returned by the iterator in the methods
|
||||
* next() and previous() when a collation element result is to be
|
||||
* ignored.</p>
|
||||
* ignored.
|
||||
*
|
||||
* <p>See class documentation for an example of use.</p>
|
||||
* <p>See class documentation for an example of use.
|
||||
* @stable ICU 2.8
|
||||
* @see #next
|
||||
* @see #previous */
|
||||
@ -205,11 +201,11 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>CollationElementIterator constructor. This takes a source
|
||||
* CollationElementIterator constructor. This takes a source
|
||||
* string and a RuleBasedCollator. The iterator will walk through
|
||||
* the source string based on the rules defined by the
|
||||
* collator. If the source string is empty, NULLORDER will be
|
||||
* returned on the first call to next().</p>
|
||||
* returned on the first call to next().
|
||||
*
|
||||
* @param source the source string.
|
||||
* @param collator the RuleBasedCollator
|
||||
@ -229,11 +225,11 @@ public final class CollationElementIterator
|
||||
// but only contain the part of RBC.equals() related to data and rules.
|
||||
|
||||
/**
|
||||
* <p>CollationElementIterator constructor. This takes a source
|
||||
* CollationElementIterator constructor. This takes a source
|
||||
* character iterator and a RuleBasedCollator. The iterator will
|
||||
* walk through the source string based on the rules defined by
|
||||
* the collator. If the source string is empty, NULLORDER will be
|
||||
* returned on the first call to next().</p>
|
||||
* returned on the first call to next().
|
||||
*
|
||||
* @param source the source string iterator.
|
||||
* @param collator the RuleBasedCollator
|
||||
@ -245,11 +241,11 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>CollationElementIterator constructor. This takes a source
|
||||
* CollationElementIterator constructor. This takes a source
|
||||
* character iterator and a RuleBasedCollator. The iterator will
|
||||
* walk through the source string based on the rules defined by
|
||||
* the collator. If the source string is empty, NULLORDER will be
|
||||
* returned on the first call to next().</p>
|
||||
* returned on the first call to next().
|
||||
*
|
||||
* @param source the source string iterator.
|
||||
* @param collator the RuleBasedCollator
|
||||
@ -261,7 +257,7 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Returns the character offset in the source string
|
||||
* Returns the character offset in the source string
|
||||
* corresponding to the next collation element. I.e., getOffset()
|
||||
* returns the position in the source string corresponding to the
|
||||
* collation element that will be returned by the next call to
|
||||
@ -281,7 +277,7 @@ public final class CollationElementIterator
|
||||
* <li> The length of the source string, if iteration has reached
|
||||
* the end.
|
||||
*</ul>
|
||||
* </p>
|
||||
*
|
||||
* @return The character offset in the source string corresponding to the
|
||||
* collation element that will be returned by the next call to
|
||||
* next() or previous().
|
||||
@ -303,18 +299,18 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Get the next collation element in the source string.</p>
|
||||
* Get the next collation element in the source string.
|
||||
*
|
||||
* <p>This iterator iterates over a sequence of collation elements
|
||||
* that were built from the string. Because there isn't
|
||||
* necessarily a one-to-one mapping from characters to collation
|
||||
* elements, this doesn't mean the same thing as "return the
|
||||
* collation element [or ordering priority] of the next character
|
||||
* in the string".</p>
|
||||
* in the string".
|
||||
*
|
||||
* <p>This function returns the collation element that the
|
||||
* iterator is currently pointing to, and then updates the
|
||||
* internal pointer to point to the next element.</p>
|
||||
* internal pointer to point to the next element.
|
||||
*
|
||||
* @return the next collation element or NULLORDER if the end of the
|
||||
* iteration has been reached.
|
||||
@ -357,19 +353,19 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Get the previous collation element in the source string.</p>
|
||||
* Get the previous collation element in the source string.
|
||||
*
|
||||
* <p>This iterator iterates over a sequence of collation elements
|
||||
* that were built from the string. Because there isn't
|
||||
* necessarily a one-to-one mapping from characters to collation
|
||||
* elements, this doesn't mean the same thing as "return the
|
||||
* collation element [or ordering priority] of the previous
|
||||
* character in the string".</p>
|
||||
* character in the string".
|
||||
*
|
||||
* <p>This function updates the iterator's internal pointer to
|
||||
* point to the collation element preceding the one it's currently
|
||||
* pointing to and then returns that element, while next() returns
|
||||
* the current element and then updates the pointer.</p>
|
||||
* the current element and then updates the pointer.
|
||||
*
|
||||
* @return the previous collation element, or NULLORDER when the start of
|
||||
* the iteration has been reached.
|
||||
@ -425,13 +421,13 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p> Resets the cursor to the beginning of the string. The next
|
||||
* Resets the cursor to the beginning of the string. The next
|
||||
* call to next() or previous() will return the first and last
|
||||
* collation element in the string, respectively.</p>
|
||||
* collation element in the string, respectively.
|
||||
*
|
||||
* <p>If the RuleBasedCollator used by this iterator has had its
|
||||
* attributes changed, calling reset() will reinitialize the
|
||||
* iterator to use the new attributes.</p>
|
||||
* iterator to use the new attributes.
|
||||
*
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
@ -442,21 +438,21 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p> Sets the iterator to point to the collation element
|
||||
* Sets the iterator to point to the collation element
|
||||
* corresponding to the character at the specified offset. The
|
||||
* value returned by the next call to next() will be the collation
|
||||
* element corresponding to the characters at offset.</p>
|
||||
* element corresponding to the characters at offset.
|
||||
*
|
||||
* <p>If offset is in the middle of a contracting character
|
||||
* sequence, the iterator is adjusted to the start of the
|
||||
* contracting sequence. This means that getOffset() is not
|
||||
* guaranteed to return the same value set by this method.</p>
|
||||
* guaranteed to return the same value set by this method.
|
||||
*
|
||||
* <p>If the decomposition mode is on, and offset is in the middle
|
||||
* of a decomposible range of source text, the iterator may not
|
||||
* return a correct result for the next forwards or backwards
|
||||
* iteration. The user must ensure that the offset is not in the
|
||||
* middle of a decomposible range.</p>
|
||||
* middle of a decomposible range.
|
||||
*
|
||||
* @param newOffset the character offset into the original source string to
|
||||
* set. Note that this is not an offset into the corresponding
|
||||
@ -500,8 +496,8 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Set a new source string for iteration, and reset the offset
|
||||
* to the beginning of the text.</p>
|
||||
* Set a new source string for iteration, and reset the offset
|
||||
* to the beginning of the text.
|
||||
*
|
||||
* @param source the new source string for iteration.
|
||||
* @stable ICU 2.8
|
||||
@ -521,11 +517,11 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Set a new source string iterator for iteration, and reset the
|
||||
* Set a new source string iterator for iteration, and reset the
|
||||
* offset to the beginning of the text.
|
||||
* </p>
|
||||
*
|
||||
* <p>The source iterator's integrity will be preserved since a new copy
|
||||
* will be created for use.</p>
|
||||
* will be created for use.
|
||||
* @param source the new source string iterator for iteration.
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
@ -559,9 +555,9 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Set a new source string iterator for iteration, and reset the
|
||||
* Set a new source string iterator for iteration, and reset the
|
||||
* offset to the beginning of the text.
|
||||
* </p>
|
||||
*
|
||||
* @param source the new source string iterator for iteration.
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
@ -654,10 +650,10 @@ public final class CollationElementIterator
|
||||
}
|
||||
|
||||
/**
|
||||
* <p> Returns the maximum length of any expansion sequence that ends with
|
||||
* Returns the maximum length of any expansion sequence that ends with
|
||||
* the specified collation element. If there is no expansion with this
|
||||
* collation element as the last element, returns 1.
|
||||
* </p>
|
||||
*
|
||||
* @param ce a collation element returned by previous() or next().
|
||||
* @return the maximum length of any expansion sequence ending
|
||||
* with the specified collation element.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -9,16 +9,16 @@ package com.ibm.icu.text;
|
||||
import com.ibm.icu.impl.coll.Collation;
|
||||
|
||||
/**
|
||||
* <p>A <code>CollationKey</code> represents a <code>String</code>
|
||||
* A <code>CollationKey</code> represents a <code>String</code>
|
||||
* under the rules of a specific <code>Collator</code>
|
||||
* object. Comparing two <code>CollationKey</code>s returns the
|
||||
* relative order of the <code>String</code>s they represent.</p>
|
||||
* relative order of the <code>String</code>s they represent.
|
||||
*
|
||||
* <p>Since the rule set of <code>Collator</code>s can differ, the
|
||||
* sort orders of the same string under two different
|
||||
* <code>Collator</code>s might differ. Hence comparing
|
||||
* <code>CollationKey</code>s generated from different
|
||||
* <code>Collator</code>s can give incorrect results.</p>
|
||||
* <code>Collator</code>s can give incorrect results.
|
||||
|
||||
* <p>Both the method
|
||||
* <code>CollationKey.compareTo(CollationKey)</code> and the method
|
||||
@ -27,7 +27,6 @@ import com.ibm.icu.impl.coll.Collation;
|
||||
* of these two approaches can differ.
|
||||
* Note that collation keys are often less efficient than simply doing comparison.
|
||||
* For more details, see the ICU User Guide.
|
||||
* </p>
|
||||
*
|
||||
* <p>During the construction of a <code>CollationKey</code>, the
|
||||
* entire source string is examined and processed into a series of
|
||||
@ -37,7 +36,7 @@ import com.ibm.icu.impl.coll.Collation;
|
||||
* startup cost when creating the <code>CollationKey</code>, but once
|
||||
* the key is created, binary comparisons are fast. This approach is
|
||||
* recommended when the same strings are to be compared over and over
|
||||
* again.</p>
|
||||
* again.
|
||||
*
|
||||
* <p>On the other hand, implementations of
|
||||
* <code>Collator.compare(String, String)</code> can examine and
|
||||
@ -65,7 +64,7 @@ import com.ibm.icu.impl.coll.Collation;
|
||||
* //...
|
||||
* <br>
|
||||
* // Inside body of sort routine, compare keys this way
|
||||
* if( keys[i].compareTo( keys[j] ) > 0 )
|
||||
* if( keys[i].compareTo( keys[j] ) > 0 )
|
||||
* // swap keys[i] and keys[j]
|
||||
* <br>
|
||||
* //...
|
||||
@ -76,10 +75,8 @@ import com.ibm.icu.impl.coll.Collation;
|
||||
* System.out.println( keys[2].getSourceString() );
|
||||
* </pre>
|
||||
* </blockquote>
|
||||
* </p>
|
||||
* <p>
|
||||
* This class is not subclassable
|
||||
* </p>
|
||||
* @see Collator
|
||||
* @see RuleBasedCollator
|
||||
* @author Syn Wee Quek
|
||||
@ -197,8 +194,8 @@ public final class CollationKey implements Comparable<CollationKey>
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Duplicates and returns the value of this CollationKey as a sequence
|
||||
* of big-endian bytes terminated by a null.</p>
|
||||
* Duplicates and returns the value of this CollationKey as a sequence
|
||||
* of big-endian bytes terminated by a null.
|
||||
*
|
||||
* <p>If two CollationKeys can be legitimately compared, then one can
|
||||
* compare the byte arrays of each to obtain the same result, e.g.
|
||||
@ -208,8 +205,8 @@ public final class CollationKey implements Comparable<CollationKey>
|
||||
* int key, targetkey;
|
||||
* int i = 0;
|
||||
* do {
|
||||
* key = key1[i] & 0xFF;
|
||||
* targetkey = key2[i] & 0xFF;
|
||||
* key = key1[i] & 0xFF;
|
||||
* targetkey = key2[i] & 0xFF;
|
||||
* if (key < targetkey) {
|
||||
* System.out.println("String 1 is less than string 2");
|
||||
* return;
|
||||
@ -218,11 +215,11 @@ public final class CollationKey implements Comparable<CollationKey>
|
||||
* System.out.println("String 1 is more than string 2");
|
||||
* }
|
||||
* i ++;
|
||||
* } while (key != 0 && targetKey != 0);
|
||||
* } while (key != 0 && targetKey != 0);
|
||||
*
|
||||
* System.out.println("Strings are equal.");
|
||||
* </pre>
|
||||
* </p>
|
||||
*
|
||||
* @return CollationKey value in a sequence of big-endian byte bytes
|
||||
* terminated by a null.
|
||||
* @stable ICU 2.8
|
||||
@ -238,13 +235,13 @@ public final class CollationKey implements Comparable<CollationKey>
|
||||
// public other methods -------------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Compare this CollationKey to another CollationKey. The
|
||||
* Compare this CollationKey to another CollationKey. The
|
||||
* collation rules of the Collator that created this key are
|
||||
* applied.</p>
|
||||
* applied.
|
||||
*
|
||||
* <p><strong>Note:</strong> Comparison between CollationKeys
|
||||
* created by different Collators might return incorrect
|
||||
* results. See class documentation.</p>
|
||||
* results. See class documentation.
|
||||
*
|
||||
* @param target target CollationKey
|
||||
* @return an integer value. If the value is less than zero this CollationKey
|
||||
@ -271,12 +268,12 @@ public final class CollationKey implements Comparable<CollationKey>
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Compare this CollationKey and the specified Object for
|
||||
* Compare this CollationKey and the specified Object for
|
||||
* equality. The collation rules of the Collator that created
|
||||
* this key are applied.</p>
|
||||
* this key are applied.
|
||||
*
|
||||
* <p>See note in compareTo(CollationKey) for warnings about
|
||||
* possible incorrect results.</p>
|
||||
* possible incorrect results.
|
||||
*
|
||||
* @param target the object to compare to.
|
||||
* @return true if the two keys compare as equal, false otherwise.
|
||||
@ -296,15 +293,13 @@ public final class CollationKey implements Comparable<CollationKey>
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Compare this CollationKey and the argument target CollationKey for
|
||||
* Compare this CollationKey and the argument target CollationKey for
|
||||
* equality.
|
||||
* The collation
|
||||
* rules of the Collator object which created these objects are applied.
|
||||
* </p>
|
||||
* <p>
|
||||
* See note in compareTo(CollationKey) for warnings of incorrect results
|
||||
* </p>
|
||||
*
|
||||
* @param target the CollationKey to compare to.
|
||||
* @return true if two objects are equal, false otherwise.
|
||||
* @exception NullPointerException is thrown when the argument is null.
|
||||
@ -333,12 +328,12 @@ public final class CollationKey implements Comparable<CollationKey>
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Returns a hash code for this CollationKey. The hash value is calculated
|
||||
* Returns a hash code for this CollationKey. The hash value is calculated
|
||||
* on the key itself, not the String from which the key was created. Thus
|
||||
* if x and y are CollationKeys, then x.hashCode(x) == y.hashCode()
|
||||
* if x.equals(y) is true. This allows language-sensitive comparison in a
|
||||
* hash table.
|
||||
* </p>
|
||||
*
|
||||
* @return the hash value.
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
@ -366,34 +361,28 @@ public final class CollationKey implements Comparable<CollationKey>
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Produce a bound for the sort order of a given collation key and a
|
||||
* Produces a bound for the sort order of a given collation key and a
|
||||
* strength level. This API does not attempt to find a bound for the
|
||||
* CollationKey String representation, hence null will be returned in its
|
||||
* place.
|
||||
* </p>
|
||||
* <p>
|
||||
* Resulting bounds can be used to produce a range of strings that are
|
||||
* between upper and lower bounds. For example, if bounds are produced
|
||||
* for a sortkey of string "smith", strings between upper and lower
|
||||
* bounds with primary strength would include "Smith", "SMITH", "sMiTh".
|
||||
* </p>
|
||||
* <p>
|
||||
* There are two upper bounds that can be produced. If BoundMode.UPPER
|
||||
* is produced, strings matched would be as above. However, if a bound
|
||||
* is produced using BoundMode.UPPER_LONG is used, the above example will
|
||||
* also match "Smithsonian" and similar.
|
||||
* </p>
|
||||
* <p>
|
||||
* For more on usage, see example in test procedure
|
||||
* <a href="http://source.icu-project.org/repos/icu/icu4j/trunk/src/com/ibm/icu/dev/test/collator/CollationAPITest.java">
|
||||
* src/com/ibm/icu/dev/test/collator/CollationAPITest/TestBounds.
|
||||
* </a>
|
||||
* </p>
|
||||
* <p>
|
||||
* Collation keys produced may be compared using the <TT>compare</TT> API.
|
||||
* </p>
|
||||
* @param boundType Mode of bound required. It can be BoundMode.LOWER, which
|
||||
* @param boundType Mode of bound required. It can be BoundMode.LOWER, which
|
||||
* produces a lower inclusive bound, BoundMode.UPPER, that
|
||||
* produces upper bound that matches strings of the same
|
||||
* length or BoundMode.UPPER_LONG that matches strings that
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -33,7 +33,7 @@ import com.ibm.icu.util.VersionInfo;
|
||||
*
|
||||
* <p>Collator performs locale-sensitive string comparison. A concrete
|
||||
* subclass, RuleBasedCollator, allows customization of the collation
|
||||
* ordering by the use of rule sets.</p>
|
||||
* ordering by the use of rule sets.
|
||||
*
|
||||
* <p>A Collator is thread-safe only when frozen. See {@link #isFrozen()} and {@link Freezable}.
|
||||
*
|
||||
@ -90,10 +90,10 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* producing the same results as if the text were normalized in NFD. If
|
||||
* canonical decomposition is turned off, it is the user's responsibility to
|
||||
* ensure that all text is already in the appropriate form before performing
|
||||
* a comparison or before getting a CollationKey.</p>
|
||||
* a comparison or before getting a CollationKey.
|
||||
*
|
||||
* <p>For more information about the collation service see the
|
||||
* <a href="http://userguide.icu-project.org/collation">User Guide</a>.</p>
|
||||
* <a href="http://userguide.icu-project.org/collation">User Guide</a>.
|
||||
*
|
||||
* <p>Examples of use
|
||||
* <pre>
|
||||
@ -124,7 +124,7 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* System.out.println("Error: à\u0325 should be not equals to a\u0325̀ without decomposition");
|
||||
* }
|
||||
* </pre>
|
||||
* </p>
|
||||
*
|
||||
* @see RuleBasedCollator
|
||||
* @see CollationKey
|
||||
* @author Syn Wee Quek
|
||||
@ -187,10 +187,8 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
* values of the NFD form of each string are compared, just in case there
|
||||
* is no difference.
|
||||
* See class documentation for more explanation.
|
||||
* </p>
|
||||
* <p>
|
||||
* Note this value is different from JDK's
|
||||
* </p>
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
public final static int IDENTICAL = 15;
|
||||
@ -207,9 +205,9 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
* Decomposition mode value. With NO_DECOMPOSITION set, Strings
|
||||
* will not be decomposed for collation. This is the default
|
||||
* decomposition setting unless otherwise specified by the locale
|
||||
* used to create the Collator.</p>
|
||||
* used to create the Collator.
|
||||
*
|
||||
* <p><strong>Note</strong> this value is different from the JDK's.</p>
|
||||
* <p><strong>Note</strong> this value is different from the JDK's.
|
||||
* @see #CANONICAL_DECOMPOSITION
|
||||
* @see #getDecomposition
|
||||
* @see #setDecomposition
|
||||
@ -220,12 +218,12 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
/**
|
||||
* Decomposition mode value. With CANONICAL_DECOMPOSITION set,
|
||||
* characters that are canonical variants according to the Unicode standard
|
||||
* will be decomposed for collation.</p>
|
||||
* will be decomposed for collation.
|
||||
*
|
||||
* <p>CANONICAL_DECOMPOSITION corresponds to Normalization Form D as
|
||||
* described in <a href="http://www.unicode.org/unicode/reports/tr15/">
|
||||
* Unicode Technical Report #15</a>.
|
||||
* </p>
|
||||
*
|
||||
* @see #NO_DECOMPOSITION
|
||||
* @see #getDecomposition
|
||||
* @see #setDecomposition
|
||||
@ -306,7 +304,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
|
||||
/**
|
||||
* Compares the equality of two Collator objects. Collator objects are equal if they have the same
|
||||
* collation (sorting & searching) behavior.
|
||||
* collation (sorting & searching) behavior.
|
||||
*
|
||||
* <p>The base class checks for null and for equal types.
|
||||
* Subclasses should override.
|
||||
@ -332,11 +330,11 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
/**
|
||||
* Sets this Collator's strength attribute. The strength attribute
|
||||
* determines the minimum level of difference considered significant
|
||||
* during comparison.</p>
|
||||
* during comparison.
|
||||
*
|
||||
* <p>The base class method does nothing. Subclasses should override it if appropriate.
|
||||
*
|
||||
* <p>See the Collator class description for an example of use.</p>
|
||||
* <p>See the Collator class description for an example of use.
|
||||
* @param newStrength the new strength value.
|
||||
* @see #getStrength
|
||||
* @see #PRIMARY
|
||||
@ -373,16 +371,16 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
* insure that all text is already in the appropriate form before
|
||||
* a comparison or before getting a CollationKey. Adjusting
|
||||
* decomposition mode allows the user to select between faster and
|
||||
* more complete collation behavior.</p>
|
||||
* more complete collation behavior.
|
||||
*
|
||||
* <p>Since a great many of the world's languages do not require
|
||||
* text normalization, most locales set NO_DECOMPOSITION as the
|
||||
* default decomposition mode.</p>
|
||||
* default decomposition mode.
|
||||
*
|
||||
* <p>The base class method does nothing. Subclasses should override it if appropriate.
|
||||
*
|
||||
* <p>See getDecomposition for a description of decomposition
|
||||
* mode.</p>
|
||||
* mode.
|
||||
*
|
||||
* @param decomposition the new decomposition mode
|
||||
* @see #getDecomposition
|
||||
@ -1048,7 +1046,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
* @param isAvailable If non-null, isAvailable[0] will receive and
|
||||
* output boolean that indicates whether the requested locale was
|
||||
* 'available' to the collation service. If non-null, isAvailable
|
||||
* must have length >= 1.
|
||||
* must have length >= 1.
|
||||
* @return the locale
|
||||
* @stable ICU 3.0
|
||||
*/
|
||||
@ -1127,12 +1125,10 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
/**
|
||||
* Returns this Collator's strength attribute. The strength attribute
|
||||
* determines the minimum level of difference considered significant.
|
||||
* </p>
|
||||
* {@icunote} This can return QUATERNARY strength, which is not supported by the
|
||||
* JDK version.
|
||||
* <p>
|
||||
* See the Collator class description for more details.
|
||||
* </p>
|
||||
* <p>The base class method always returns {@link #TERTIARY}.
|
||||
* Subclasses should override it if appropriate.
|
||||
*
|
||||
@ -1153,10 +1149,8 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
/**
|
||||
* Returns the decomposition mode of this Collator. The decomposition mode
|
||||
* determines how Unicode composed characters are handled.
|
||||
* </p>
|
||||
* <p>
|
||||
* See the Collator class description for more details.
|
||||
* </p>
|
||||
* <p>The base class method always returns {@link #NO_DECOMPOSITION}.
|
||||
* Subclasses should override it if appropriate.
|
||||
*
|
||||
@ -1209,7 +1203,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
* equal to or greater than zero depending on whether the source String is
|
||||
* less than, equal to or greater than the target String. See the Collator
|
||||
* class description for an example of use.
|
||||
* </p>
|
||||
*
|
||||
* @param source the source String.
|
||||
* @param target the target String.
|
||||
* @return Returns an integer value. Value is less than zero if source is
|
||||
@ -1224,7 +1218,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
|
||||
/**
|
||||
* Compares the source Object to the target Object.
|
||||
* </p>
|
||||
*
|
||||
* @param source the source Object.
|
||||
* @param target the target Object.
|
||||
* @return Returns an integer value. Value is less than zero if source is
|
||||
@ -1258,7 +1252,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
|
||||
* <p>Note that collation keys are often less efficient than simply doing comparison.
|
||||
* For more details, see the ICU User Guide.
|
||||
*
|
||||
* <p>See the CollationKey class documentation for more information.</p>
|
||||
* <p>See the CollationKey class documentation for more information.
|
||||
* @param source the string to be transformed into a CollationKey.
|
||||
* @return the CollationKey for the given String based on this Collator's
|
||||
* collation rules. If the source String is null, a null
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2010, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -78,7 +78,7 @@ public final class RawCollationKey extends ByteArrayWrapper
|
||||
* @param bytesToAdopt the byte array to adopt
|
||||
* @param size the length of valid data in the byte array
|
||||
* @throws IndexOutOfBoundsException if bytesToAdopt == null and size != 0, or
|
||||
* size < 0, or size > bytesToAdopt.length.
|
||||
* size < 0, or size > bytesToAdopt.length.
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
public RawCollationKey(byte[] bytesToAdopt, int size)
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -44,59 +44,49 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* RuleBasedCollator is a concrete subclass of Collator. It allows customization of the Collator via user-specified rule
|
||||
* sets. RuleBasedCollator is designed to be fully compliant to the <a
|
||||
* href="http://www.unicode.org/unicode/reports/tr10/">Unicode Collation Algorithm (UCA)</a> and conforms to ISO 14651.
|
||||
* </p>
|
||||
*
|
||||
* <p>A Collator is thread-safe only when frozen. See {{@link #isFrozen()} and {@link com.ibm.icu.util.Freezable}.
|
||||
*
|
||||
* <p>
|
||||
* Users are strongly encouraged to read the <a href="http://userguide.icu-project.org/collation">User
|
||||
* Guide</a> for more information about the collation service before using this class.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* Create a RuleBasedCollator from a locale by calling the getInstance(Locale) factory method in the base class
|
||||
* Collator. Collator.getInstance(Locale) creates a RuleBasedCollator object based on the collation rules defined by the
|
||||
* argument locale. If a customized collation ordering or attributes is required, use the RuleBasedCollator(String)
|
||||
* constructor with the appropriate rules. The customized RuleBasedCollator will base its ordering on the CLDR root collation, while
|
||||
* re-adjusting the attributes and orders of the characters in the specified rule accordingly.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* RuleBasedCollator provides correct collation orders for most locales supported in ICU. If specific data for a locale
|
||||
* is not available, the orders eventually falls back to the
|
||||
* <a href="http://www.unicode.org/reports/tr35/tr35-collation.html#Root_Collation">CLDR root sort order</a>.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* For information about the collation rule syntax and details about customization, please refer to the <a
|
||||
* href="http://userguide.icu-project.org/collation/customization">Collation customization</a> section of the
|
||||
* User Guide.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* <strong>Note</strong> that there are some differences between the Collation rule syntax used in Java and ICU4J:
|
||||
*
|
||||
* <ul>
|
||||
* <li>According to the JDK documentation: <i>
|
||||
* <p>
|
||||
* Modifier '!' : Turns on Thai/Lao vowel-consonant swapping. If this rule is in force when a Thai vowel of the range
|
||||
* <li>According to the JDK documentation: <br>
|
||||
* <i>Modifier '!' : Turns on Thai/Lao vowel-consonant swapping. If this rule is in force when a Thai vowel of the range
|
||||
* \U0E40-\U0E44 precedes a Thai consonant of the range \U0E01-\U0E2E OR a Lao vowel of the range
|
||||
* \U0EC0-\U0EC4 precedes a Lao consonant of the range \U0E81-\U0EAE then the vowel is placed after the
|
||||
* consonant for collation purposes.
|
||||
* </p>
|
||||
* <p>
|
||||
* <br>
|
||||
* If a rule is without the modifier '!', the Thai/Lao vowel-consonant swapping is not turned on.
|
||||
* </p>
|
||||
* </i>
|
||||
* <p>
|
||||
* <br>
|
||||
* ICU4J's RuleBasedCollator does not support turning off the Thai/Lao vowel-consonant swapping, since the UCA clearly
|
||||
* states that it has to be supported to ensure a correct sorting order. If a '!' is encountered, it is ignored.
|
||||
* </p>
|
||||
* <li>As mentioned in the documentation of the base class Collator, compatibility decomposition mode is not supported.
|
||||
* states that it has to be supported to ensure a correct sorting order. If a '!' is encountered, it is ignored.</li>
|
||||
* <li>As mentioned in the documentation of the base class Collator, compatibility decomposition mode is not supported.</li>
|
||||
* </ul>
|
||||
* <p>
|
||||
* <strong>Examples</strong>
|
||||
* </p>
|
||||
* <p>
|
||||
* Creating Customized RuleBasedCollators: <blockquote>
|
||||
*
|
||||
@ -107,7 +97,7 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* String norwegian = "& a , A < b , B < c , C < d , D < e , E "
|
||||
* + "< f , F < g , G < h , H < i , I < j , "
|
||||
* + "J < k , K < l , L < m , M < n , N < "
|
||||
* + "o , O < p , P < q , Q < r , R < s , S < "
|
||||
* + "o , O < p , P < q , Q <r , R <s , S < "
|
||||
* + "t , T < u , U < v , V < w , W < x , X "
|
||||
* + "< y , Y < z , Z < \u00E5 = a\u030A "
|
||||
* + ", \u00C5 = A\u030A ; aa , AA < \u00E6 "
|
||||
@ -179,18 +169,16 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* // add a few Japanese characters to sort before English characters
|
||||
* // suppose the last character before the first base letter 'a' in
|
||||
* // the English collation rule is \u2212
|
||||
* String jaString = "& \u2212 < \u3041, \u3042 < \u3043, "
|
||||
* String jaString = "& \u2212 <\u3041, \u3042 <\u3043, "
|
||||
* + "\u3044";
|
||||
* RuleBasedCollator myJapaneseCollator
|
||||
* = new RuleBasedCollator(en_USCollator.getRules() + jaString);
|
||||
* </pre>
|
||||
*
|
||||
* </blockquote>
|
||||
* </p>
|
||||
* <p>
|
||||
* This class is not subclassable
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Syn Wee Quek
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
@ -202,12 +190,10 @@ public final class RuleBasedCollator extends Collator {
|
||||
* Constructor that takes the argument rules for customization.
|
||||
* The collator will be based on the CLDR root collation, with the
|
||||
* attributes and re-ordering of the characters specified in the argument rules.
|
||||
* </p>
|
||||
* <p>
|
||||
* See the User Guide's section on <a href="http://userguide.icu-project.org/collation/customization">
|
||||
* Collation Customization</a> for details on the rule syntax.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @param rules
|
||||
* the collation rules to build the collation table from.
|
||||
* @exception ParseException
|
||||
@ -630,12 +616,10 @@ public final class RuleBasedCollator extends Collator {
|
||||
* is false, which means the case level is not generated. The contents of the case level are affected by the case
|
||||
* first mode. A simple way to ignore accent differences in a string is to set the strength to PRIMARY and enable
|
||||
* case level.
|
||||
* </p>
|
||||
* <p>
|
||||
* See the section on <a href="http://userguide.icu-project.org/collation/architecture">case
|
||||
* level</a> for more information.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @param flag
|
||||
* true if case level sorting is required, false otherwise
|
||||
* @stable ICU 2.8
|
||||
@ -659,18 +643,18 @@ public final class RuleBasedCollator extends Collator {
|
||||
* insure that all text is already in the appropriate form before
|
||||
* a comparison or before getting a CollationKey. Adjusting
|
||||
* decomposition mode allows the user to select between faster and
|
||||
* more complete collation behavior.</p>
|
||||
* more complete collation behavior.
|
||||
*
|
||||
* <p>Since a great many of the world's languages do not require
|
||||
* text normalization, most locales set NO_DECOMPOSITION as the
|
||||
* default decomposition mode.</p>
|
||||
* default decomposition mode.
|
||||
*
|
||||
* The default decompositon mode for the Collator is
|
||||
* NO_DECOMPOSITON, unless specified otherwise by the locale used
|
||||
* to create the Collator.</p>
|
||||
* to create the Collator.
|
||||
*
|
||||
* <p>See getDecomposition for a description of decomposition
|
||||
* mode.</p>
|
||||
* mode.
|
||||
*
|
||||
* @param decomposition the new decomposition mode
|
||||
* @see #getDecomposition
|
||||
@ -1048,18 +1032,15 @@ public final class RuleBasedCollator extends Collator {
|
||||
/**
|
||||
* <p>
|
||||
* Get a Collation key for the argument String source from this RuleBasedCollator.
|
||||
* </p>
|
||||
* <p>
|
||||
* General recommendation: <br>
|
||||
* If comparison are to be done to the same String multiple times, it would be more efficient to generate
|
||||
* CollationKeys for the Strings and use CollationKey.compareTo(CollationKey) for the comparisons. If the each
|
||||
* Strings are compared to only once, using the method RuleBasedCollator.compare(String, String) will have a better
|
||||
* performance.
|
||||
* </p>
|
||||
* <p>
|
||||
* See the class documentation for an explanation about CollationKeys.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @param source
|
||||
* the text String to be transformed into a collation key.
|
||||
* @return the CollationKey for the given String based on this RuleBasedCollator's collation rules. If the source
|
||||
@ -1213,7 +1194,7 @@ public final class RuleBasedCollator extends Collator {
|
||||
/**
|
||||
* Returns the CEs for the string.
|
||||
* @param str the string
|
||||
* @internal for tests & tools
|
||||
* @internal for tests & tools
|
||||
* @deprecated This API is ICU internal only.
|
||||
*/
|
||||
@Deprecated
|
||||
@ -1473,7 +1454,7 @@ public final class RuleBasedCollator extends Collator {
|
||||
* Compares the source text String to the target text String according to the collation rules, strength and
|
||||
* decomposition mode for this RuleBasedCollator. Returns an integer less than, equal to or greater than zero
|
||||
* depending on whether the source String is less than, equal to or greater than the target String. See the Collator
|
||||
* class description for an example of use. </p>
|
||||
* class description for an example of use.
|
||||
* <p>
|
||||
* General recommendation: <br>
|
||||
* If comparison are to be done to the same String multiple times, it would be more efficient to generate
|
||||
@ -1484,8 +1465,7 @@ public final class RuleBasedCollator extends Collator {
|
||||
* and stored for future use. Like CollationKey, RawCollationKey provides a method RawCollationKey.compareTo for key
|
||||
* comparisons. If the each Strings are compared to only once, using the method RuleBasedCollator.compare(String,
|
||||
* String) will have a better performance.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @param source
|
||||
* the source text String.
|
||||
* @param target
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -110,7 +110,7 @@ import com.ibm.icu.util.ULocale;
|
||||
* <p>
|
||||
* Restriction: <br>
|
||||
* Currently there are no composite characters that consists of a
|
||||
* character with combining class > 0 before a character with combining
|
||||
* character with combining class > 0 before a character with combining
|
||||
* class == 0. However, if such a character exists in the future,
|
||||
* <tt>StringSearch</tt> does not guarantee the results for option 1.
|
||||
* <p>
|
||||
|
@ -84,17 +84,14 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* <a href=
|
||||
* "http://source.icu-project.org/repos/icu/icu4j/trunk/src/com/ibm/icu/dev/test/lang/UCharacterCompare.java">
|
||||
* com.ibm.icu.dev.test.lang.UCharacterCompare</a>
|
||||
* </p>
|
||||
* <p>
|
||||
* In addition to Java compatibility functions, which calculate derived properties,
|
||||
* this API provides low-level access to the Unicode Character Database.
|
||||
* </p>
|
||||
* <p>
|
||||
* Unicode assigns each code point (not just assigned character) values for
|
||||
* many properties.
|
||||
* Most of them are simple boolean flags, or constants from a small enumerated list.
|
||||
* For some properties, values are strings or other relatively more complex types.
|
||||
* </p>
|
||||
* <p>
|
||||
* For more information see
|
||||
* <a href="http://www.unicode/org/ucd/">"About the Unicode Character Database"</a>
|
||||
@ -102,14 +99,12 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* and the <a href="http://www.icu-project.org/userguide/properties.html">ICU
|
||||
* User Guide chapter on Properties</a>
|
||||
* (http://www.icu-project.org/userguide/properties.html).
|
||||
* </p>
|
||||
* <p>
|
||||
* There are also functions that provide easy migration from C/POSIX functions
|
||||
* like isblank(). Their use is generally discouraged because the C/POSIX
|
||||
* standards do not define their semantics beyond the ASCII range, which means
|
||||
* that different implementations exhibit very different behavior.
|
||||
* Instead, Unicode properties should be used directly.
|
||||
* </p>
|
||||
* <p>
|
||||
* There are also only a few, broad C/POSIX character classes, and they tend
|
||||
* to be used for conflicting purposes. For example, the "isalpha()" class
|
||||
@ -118,13 +113,11 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* characters (the latter including combining marks).
|
||||
* (In ICU, BreakIterator is the most sophisticated API for word boundaries.)
|
||||
* Another example: There is no "istitle()" class for titlecase characters.
|
||||
* </p>
|
||||
* <p>
|
||||
* ICU 3.4 and later provides API access for all twelve C/POSIX character classes.
|
||||
* ICU implements them according to the Standard Recommendations in
|
||||
* Annex C: Compatibility Properties of UTS #18 Unicode Regular Expressions
|
||||
* (http://www.unicode.org/reports/tr18/#Compatibility_Properties).
|
||||
* </p>
|
||||
* <p>
|
||||
* API access for C/POSIX character classes is as follows:
|
||||
* <pre>{@code
|
||||
@ -142,23 +135,21 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* - cntrl: getType(c)==CONTROL
|
||||
* - graph: hasBinaryProperty(c, UProperty.POSIX_GRAPH)
|
||||
* - print: hasBinaryProperty(c, UProperty.POSIX_PRINT)}</pre>
|
||||
* </p>
|
||||
* <p>
|
||||
* The C/POSIX character classes are also available in UnicodeSet patterns,
|
||||
* using patterns like [:graph:] or \p{graph}.
|
||||
* </p>
|
||||
*
|
||||
* {@icunote} There are several ICU (and Java) whitespace functions.
|
||||
* <p>{@icunote} There are several ICU (and Java) whitespace functions.
|
||||
* Comparison:<ul>
|
||||
* <li> isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property;
|
||||
* most of general categories "Z" (separators) + most whitespace ISO controls
|
||||
* (including no-break spaces, but excluding IS1..IS4 and ZWSP)
|
||||
* <li> isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces
|
||||
* <li> isSpaceChar: just Z (including no-break spaces)</ul>
|
||||
* </p>
|
||||
*
|
||||
* <p>
|
||||
* This class is not subclassable.
|
||||
* </p>
|
||||
*
|
||||
* @author Syn Wee Quek
|
||||
* @stable ICU 2.1
|
||||
* @see com.ibm.icu.lang.UCharacterEnums
|
||||
@ -3514,7 +3505,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
* adjust it by looking for the next cased character, and titlecase that one.
|
||||
* Other characters are lowercased.
|
||||
*
|
||||
* This follows Unicode 4 & 5 section 3.13 Default Case Operations:
|
||||
* This follows Unicode 4 & 5 section 3.13 Default Case Operations:
|
||||
*
|
||||
* R3 toTitlecase(X): Find the word boundaries based on Unicode Standard Annex
|
||||
* #29, "Text Boundaries." Between each pair of word boundaries, find the first
|
||||
@ -3605,16 +3596,16 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
|
||||
/**
|
||||
* {@icu} Returns the numeric value for a Unicode code point as defined in the
|
||||
* Unicode Character Database.</p>
|
||||
* Unicode Character Database.
|
||||
* <p>A "double" return type is necessary because some numeric values are
|
||||
* fractions, negative, or too large for int.</p>
|
||||
* fractions, negative, or too large for int.
|
||||
* <p>For characters without any numeric values in the Unicode Character
|
||||
* Database, this function will return NO_NUMERIC_VALUE.
|
||||
* Note: This is different from the Unicode Standard which specifies NaN as the default value.</p>
|
||||
* Note: This is different from the Unicode Standard which specifies NaN as the default value.
|
||||
* <p><em>API Change:</em> In release 2.2 and prior, this API has a
|
||||
* return type int and returns -1 when the argument ch does not have a
|
||||
* corresponding numeric value. This has been changed to synch with ICU4C
|
||||
* </p>
|
||||
*
|
||||
* This corresponds to the ICU4C function u_getNumericValue.
|
||||
* @param ch Code point to get the numeric value for.
|
||||
* @return numeric value of ch, or NO_NUMERIC_VALUE if none is defined.
|
||||
@ -3650,7 +3641,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
* <em>NOTE:</em> the UCharacterCategory values are <em>not</em> compatible with
|
||||
* those returned by java.lang.Character.getType. UCharacterCategory values
|
||||
* match the ones used in ICU4C, while java.lang.Character type
|
||||
* values, though similar, skip the value 17.</p>
|
||||
* values, though similar, skip the value 17.
|
||||
* @param ch code point whose type is to be determined
|
||||
* @return category which is a value of UCharacterCategory
|
||||
* @stable ICU 2.1
|
||||
@ -3696,8 +3687,8 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
/**
|
||||
* Determines if the specified code point is an ISO control character.
|
||||
* A code point is considered to be an ISO control character if it is in
|
||||
* the range \u0000 through \u001F or in the range \u007F through
|
||||
* \u009F.<br>
|
||||
* the range \u0000 through \u001F or in the range \u007F through
|
||||
* \u009F.<br>
|
||||
* Up-to-date Unicode implementation of java.lang.Character.isISOControl()
|
||||
* @param ch code point to determine if it is an ISO control character
|
||||
* @return true if code point is a ISO control character
|
||||
@ -3821,16 +3812,16 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
* if it satisfies one of the following criteria:
|
||||
* <ul>
|
||||
* <li> It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is not
|
||||
* also a non-breaking space (\u00A0 or \u2007 or \u202F).
|
||||
* <li> It is \u0009, HORIZONTAL TABULATION.
|
||||
* <li> It is \u000A, LINE FEED.
|
||||
* <li> It is \u000B, VERTICAL TABULATION.
|
||||
* <li> It is \u000C, FORM FEED.
|
||||
* <li> It is \u000D, CARRIAGE RETURN.
|
||||
* <li> It is \u001C, FILE SEPARATOR.
|
||||
* <li> It is \u001D, GROUP SEPARATOR.
|
||||
* <li> It is \u001E, RECORD SEPARATOR.
|
||||
* <li> It is \u001F, UNIT SEPARATOR.
|
||||
* also a non-breaking space (\u00A0 or \u2007 or \u202F).
|
||||
* <li> It is \u0009, HORIZONTAL TABULATION.
|
||||
* <li> It is \u000A, LINE FEED.
|
||||
* <li> It is \u000B, VERTICAL TABULATION.
|
||||
* <li> It is \u000C, FORM FEED.
|
||||
* <li> It is \u000D, CARRIAGE RETURN.
|
||||
* <li> It is \u001C, FILE SEPARATOR.
|
||||
* <li> It is \u001D, GROUP SEPARATOR.
|
||||
* <li> It is \u001E, RECORD SEPARATOR.
|
||||
* <li> It is \u001F, UNIT SEPARATOR.
|
||||
* </ul>
|
||||
*
|
||||
* This API tries to sync with the semantics of Java's
|
||||
@ -4389,8 +4380,8 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
* {@icu} Returns a name for a valid codepoint. Unlike, getName(int) and
|
||||
* getName1_0(int), this method will return a name even for codepoints that
|
||||
* are not assigned a name in UnicodeData.txt.
|
||||
* </p>
|
||||
* The names are returned in the following order.
|
||||
*
|
||||
* <p>The names are returned in the following order.
|
||||
* <ul>
|
||||
* <li> Most current Unicode name if there is any
|
||||
* <li> Unicode 1.0 name if there is any
|
||||
@ -4441,7 +4432,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
|
||||
/**
|
||||
* {@icu} <p>Finds a Unicode code point by its most current Unicode name and
|
||||
* return its code point value. All Unicode names are in uppercase.</p>
|
||||
* return its code point value. All Unicode names are in uppercase.
|
||||
* Note calling any methods related to code point names, e.g. get*Name*()
|
||||
* incurs a one-time initialisation cost to construct the name tables.
|
||||
* @param name most current Unicode character name whose code point is to
|
||||
@ -4457,7 +4448,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
/**
|
||||
* {@icu} Returns -1.
|
||||
* <p>Used to find a Unicode character by its version 1.0 Unicode name and return
|
||||
* its code point value.</p>
|
||||
* its code point value.
|
||||
* @param name Unicode 1.0 code point name whose code point is to be
|
||||
* returned
|
||||
* @return -1
|
||||
@ -4473,13 +4464,13 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
* {@icu} <p>Find a Unicode character by either its name and return its code
|
||||
* point value. All Unicode names are in uppercase.
|
||||
* Extended names are all lowercase except for numbers and are contained
|
||||
* within angle brackets.</p>
|
||||
* within angle brackets.
|
||||
* The names are searched in the following order
|
||||
* <ul>
|
||||
* <li> Most current Unicode name if there is any
|
||||
* <li> Unicode 1.0 name if there is any
|
||||
* <li> Extended name in the form of
|
||||
* "<codepoint_type-codepoint_hex_digits>". E.g. <noncharacter-FFFE>
|
||||
* "<codepoint_type-codepoint_hex_digits>". E.g. <noncharacter-FFFE>
|
||||
* </ul>
|
||||
* Note calling any methods related to code point names, e.g. get*Name*()
|
||||
* incurs a one-time initialisation cost to construct the name tables.
|
||||
@ -4495,7 +4486,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
|
||||
/**
|
||||
* {@icu} <p>Find a Unicode character by its corrected name alias and return
|
||||
* its code point value. All Unicode names are in uppercase.</p>
|
||||
* its code point value. All Unicode names are in uppercase.
|
||||
* Note calling any methods related to code point names, e.g. get*Name*()
|
||||
* incurs a one-time initialisation cost to construct the name tables.
|
||||
* @param name Unicode name alias whose code point is to be returned
|
||||
@ -4878,17 +4869,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Returns the titlecase version of the argument string.</p>
|
||||
* <p>Returns the titlecase version of the argument string.
|
||||
* <p>Position for titlecasing is determined by the argument break
|
||||
* iterator, hence the user can customize his break iterator for
|
||||
* a specialized titlecasing. In this case only the forward iteration
|
||||
* needs to be implemented.
|
||||
* If the break iterator passed in is null, the default Unicode algorithm
|
||||
* will be used to determine the titlecase positions.
|
||||
* </p>
|
||||
*
|
||||
* <p>Only positions returned by the break iterator will be title cased,
|
||||
* character in between the positions will all be in lower case.</p>
|
||||
* <p>Casing is dependent on the default locale and context-sensitive</p>
|
||||
* character in between the positions will all be in lower case.
|
||||
* <p>Casing is dependent on the default locale and context-sensitive
|
||||
* @param str source string to be performed on
|
||||
* @param breakiter break iterator to determine the positions in which
|
||||
* the character should be title cased.
|
||||
@ -4999,17 +4990,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Returns the titlecase version of the argument string.</p>
|
||||
* <p>Returns the titlecase version of the argument string.
|
||||
* <p>Position for titlecasing is determined by the argument break
|
||||
* iterator, hence the user can customize his break iterator for
|
||||
* a specialized titlecasing. In this case only the forward iteration
|
||||
* needs to be implemented.
|
||||
* If the break iterator passed in is null, the default Unicode algorithm
|
||||
* will be used to determine the titlecase positions.
|
||||
* </p>
|
||||
*
|
||||
* <p>Only positions returned by the break iterator will be title cased,
|
||||
* character in between the positions will all be in lower case.</p>
|
||||
* <p>Casing is dependent on the argument locale and context-sensitive</p>
|
||||
* character in between the positions will all be in lower case.
|
||||
* <p>Casing is dependent on the argument locale and context-sensitive
|
||||
* @param locale which string is to be converted in
|
||||
* @param str source string to be performed on
|
||||
* @param breakiter break iterator to determine the positions in which
|
||||
@ -5024,17 +5015,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Returns the titlecase version of the argument string.</p>
|
||||
* <p>Returns the titlecase version of the argument string.
|
||||
* <p>Position for titlecasing is determined by the argument break
|
||||
* iterator, hence the user can customize his break iterator for
|
||||
* a specialized titlecasing. In this case only the forward iteration
|
||||
* needs to be implemented.
|
||||
* If the break iterator passed in is null, the default Unicode algorithm
|
||||
* will be used to determine the titlecase positions.
|
||||
* </p>
|
||||
*
|
||||
* <p>Only positions returned by the break iterator will be title cased,
|
||||
* character in between the positions will all be in lower case.</p>
|
||||
* <p>Casing is dependent on the argument locale and context-sensitive</p>
|
||||
* character in between the positions will all be in lower case.
|
||||
* <p>Casing is dependent on the argument locale and context-sensitive
|
||||
* @param locale which string is to be converted in
|
||||
* @param str source string to be performed on
|
||||
* @param titleIter break iterator to determine the positions in which
|
||||
@ -5048,17 +5039,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Returns the titlecase version of the argument string.</p>
|
||||
* <p>Returns the titlecase version of the argument string.
|
||||
* <p>Position for titlecasing is determined by the argument break
|
||||
* iterator, hence the user can customize his break iterator for
|
||||
* a specialized titlecasing. In this case only the forward iteration
|
||||
* needs to be implemented.
|
||||
* If the break iterator passed in is null, the default Unicode algorithm
|
||||
* will be used to determine the titlecase positions.
|
||||
* </p>
|
||||
*
|
||||
* <p>Only positions returned by the break iterator will be title cased,
|
||||
* character in between the positions will all be in lower case.</p>
|
||||
* <p>Casing is dependent on the argument locale and context-sensitive</p>
|
||||
* character in between the positions will all be in lower case.
|
||||
* <p>Casing is dependent on the argument locale and context-sensitive
|
||||
* @param locale which string is to be converted in
|
||||
* @param str source string to be performed on
|
||||
* @param titleIter break iterator to determine the positions in which
|
||||
@ -5268,17 +5259,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Returns the titlecase version of the argument string.</p>
|
||||
* {@icu} <p>Returns the titlecase version of the argument string.
|
||||
* <p>Position for titlecasing is determined by the argument break
|
||||
* iterator, hence the user can customize his break iterator for
|
||||
* a specialized titlecasing. In this case only the forward iteration
|
||||
* needs to be implemented.
|
||||
* If the break iterator passed in is null, the default Unicode algorithm
|
||||
* will be used to determine the titlecase positions.
|
||||
* </p>
|
||||
*
|
||||
* <p>Only positions returned by the break iterator will be title cased,
|
||||
* character in between the positions will all be in lower case.</p>
|
||||
* <p>Casing is dependent on the argument locale and context-sensitive</p>
|
||||
* character in between the positions will all be in lower case.
|
||||
* <p>Casing is dependent on the argument locale and context-sensitive
|
||||
* @param locale which string is to be converted in
|
||||
* @param str source string to be performed on
|
||||
* @param titleIter break iterator to determine the positions in which
|
||||
@ -5504,8 +5495,8 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Returns an iterator for character types, iterating over codepoints.</p>
|
||||
* Example of use:<br>
|
||||
* {@icu} <p>Returns an iterator for character types, iterating over codepoints.
|
||||
* <p>Example of use:<br>
|
||||
* <pre>
|
||||
* RangeValueIterator iterator = UCharacter.getTypeIterator();
|
||||
* RangeValueIterator.Element element = new RangeValueIterator.Element();
|
||||
@ -5561,11 +5552,11 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Returns an iterator for character names, iterating over codepoints.</p>
|
||||
* {@icu} <p>Returns an iterator for character names, iterating over codepoints.
|
||||
* <p>This API only gets the iterator for the modern, most up-to-date
|
||||
* Unicode names. For older 1.0 Unicode names use get1_0NameIterator() or
|
||||
* for extended names use getExtendedNameIterator().</p>
|
||||
* Example of use:<br>
|
||||
* for extended names use getExtendedNameIterator().
|
||||
* <p>Example of use:<br>
|
||||
* <pre>
|
||||
* ValueIterator iterator = UCharacter.getNameIterator();
|
||||
* ValueIterator.Element element = new ValueIterator.Element();
|
||||
@ -5576,7 +5567,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
* }
|
||||
* </pre>
|
||||
* <p>The maximal range which the name iterator iterates is from
|
||||
* UCharacter.MIN_VALUE to UCharacter.MAX_VALUE.</p>
|
||||
* UCharacter.MIN_VALUE to UCharacter.MAX_VALUE.
|
||||
* @return an iterator
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
@ -5587,7 +5578,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
|
||||
/**
|
||||
* {@icu} Returns an empty iterator.
|
||||
* <p>Used to return an iterator for the older 1.0 Unicode character names, iterating over codepoints.</p>
|
||||
* <p>Used to return an iterator for the older 1.0 Unicode character names, iterating over codepoints.
|
||||
* @return an empty iterator
|
||||
* @deprecated ICU 49
|
||||
* @see #getName1_0(int)
|
||||
@ -5604,11 +5595,11 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Returns an iterator for character names, iterating over codepoints.</p>
|
||||
* {@icu} <p>Returns an iterator for character names, iterating over codepoints.
|
||||
* <p>This API only gets the iterator for the extended names.
|
||||
* For modern, most up-to-date Unicode names use getNameIterator() or
|
||||
* for older 1.0 Unicode names use get1_0NameIterator().</p>
|
||||
* Example of use:<br>
|
||||
* for older 1.0 Unicode names use get1_0NameIterator().
|
||||
* <p>Example of use:<br>
|
||||
* <pre>
|
||||
* ValueIterator iterator = UCharacter.getExtendedNameIterator();
|
||||
* ValueIterator.Element element = new ValueIterator.Element();
|
||||
@ -5628,13 +5619,13 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} Returns the "age" of the code point.</p>
|
||||
* {@icu} Returns the "age" of the code point.
|
||||
* <p>The "age" is the Unicode version when the code point was first
|
||||
* designated (as a non-character or for Private Use) or assigned a
|
||||
* character.
|
||||
* <p>This can be useful to avoid emitting code points to receiving
|
||||
* processes that do not accept newer characters.</p>
|
||||
* <p>The data is from the UCD file DerivedAge.txt.</p>
|
||||
* processes that do not accept newer characters.
|
||||
* <p>The data is from the UCD file DerivedAge.txt.
|
||||
* @param ch The code point.
|
||||
* @return the Unicode version number
|
||||
* @stable ICU 2.6
|
||||
@ -5648,20 +5639,20 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Check a binary Unicode property for a code point.</p>
|
||||
* {@icu} <p>Check a binary Unicode property for a code point.
|
||||
* <p>Unicode, especially in version 3.2, defines many more properties
|
||||
* than the original set in UnicodeData.txt.</p>
|
||||
* than the original set in UnicodeData.txt.
|
||||
* <p>This API is intended to reflect Unicode properties as defined in
|
||||
* the Unicode Character Database (UCD) and Unicode Technical Reports
|
||||
* (UTR).</p>
|
||||
* (UTR).
|
||||
* <p>For details about the properties see
|
||||
* <a href=http://www.unicode.org/>http://www.unicode.org/</a>.</p>
|
||||
* <a href=http://www.unicode.org/>http://www.unicode.org/</a>.
|
||||
* <p>For names of Unicode properties see the UCD file
|
||||
* PropertyAliases.txt.</p>
|
||||
* <p>This API does not check the validity of the codepoint.</p>
|
||||
* PropertyAliases.txt.
|
||||
* <p>This API does not check the validity of the codepoint.
|
||||
* <p>Important: If ICU is built with UCD files from Unicode versions
|
||||
* below 3.2, then properties marked with "new" are not or
|
||||
* not fully available.</p>
|
||||
* not fully available.
|
||||
* @param ch code point to test.
|
||||
* @param property selector constant from com.ibm.icu.lang.UProperty,
|
||||
* identifies which binary property to check.
|
||||
@ -5678,9 +5669,9 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Check if a code point has the Alphabetic Unicode property.</p>
|
||||
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.ALPHABETIC).</p>
|
||||
* <p>Different from UCharacter.isLetter(ch)!</p>
|
||||
* {@icu} <p>Check if a code point has the Alphabetic Unicode property.
|
||||
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.ALPHABETIC).
|
||||
* <p>Different from UCharacter.isLetter(ch)!
|
||||
* @stable ICU 2.6
|
||||
* @param ch codepoint to be tested
|
||||
*/
|
||||
@ -5690,9 +5681,9 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Check if a code point has the Lowercase Unicode property.</p>
|
||||
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.LOWERCASE).</p>
|
||||
* <p>This is different from UCharacter.isLowerCase(ch)!</p>
|
||||
* {@icu} <p>Check if a code point has the Lowercase Unicode property.
|
||||
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.LOWERCASE).
|
||||
* <p>This is different from UCharacter.isLowerCase(ch)!
|
||||
* @param ch codepoint to be tested
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
@ -5702,9 +5693,9 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Check if a code point has the Uppercase Unicode property.</p>
|
||||
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.UPPERCASE).</p>
|
||||
* <p>This is different from UCharacter.isUpperCase(ch)!</p>
|
||||
* {@icu} <p>Check if a code point has the Uppercase Unicode property.
|
||||
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.UPPERCASE).
|
||||
* <p>This is different from UCharacter.isUpperCase(ch)!
|
||||
* @param ch codepoint to be tested
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
@ -5714,10 +5705,10 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
}
|
||||
|
||||
/**
|
||||
* {@icu} <p>Check if a code point has the White_Space Unicode property.</p>
|
||||
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.WHITE_SPACE).</p>
|
||||
* {@icu} <p>Check if a code point has the White_Space Unicode property.
|
||||
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.WHITE_SPACE).
|
||||
* <p>This is different from both UCharacter.isSpace(ch) and
|
||||
* UCharacter.isWhitespace(ch)!</p>
|
||||
* UCharacter.isWhitespace(ch)!
|
||||
* @param ch codepoint to be tested
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
@ -5728,15 +5719,15 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
|
||||
|
||||
/**
|
||||
* {@icu} <p>Returns the property value for an Unicode property type of a code point.
|
||||
* Also returns binary and mask property values.</p>
|
||||
* Also returns binary and mask property values.
|
||||
* <p>Unicode, especially in version 3.2, defines many more properties than
|
||||
* the original set in UnicodeData.txt.</p>
|
||||
* the original set in UnicodeData.txt.
|
||||
* <p>The properties APIs are intended to reflect Unicode properties as
|
||||
* defined in the Unicode Character Database (UCD) and Unicode Technical
|
||||
* Reports (UTR). For details about the properties see
|
||||
* http://www.unicode.org/.</p>
|
||||
* http://www.unicode.org/.
|
||||
* <p>For names of Unicode properties see the UCD file PropertyAliases.txt.
|
||||
* </p>
|
||||
*
|
||||
* <pre>
|
||||
* Sample usage:
|
||||
* int ea = UCharacter.getIntPropertyValue(c, UProperty.EAST_ASIAN_WIDTH);
|
||||
|
@ -8,20 +8,20 @@
|
||||
package com.ibm.icu.lang;
|
||||
|
||||
/**
|
||||
* <p>Selection constants for Unicode properties. </p>
|
||||
* <p>These constants are used in functions like
|
||||
* UCharacter.hasBinaryProperty(int) to select one of the Unicode properties.
|
||||
* </p>
|
||||
* <p>The properties APIs are intended to reflect Unicode properties as
|
||||
* defined in the Unicode Character Database (UCD) and Unicode Technical
|
||||
* Reports (UTR).</p>
|
||||
* <p>Selection constants for Unicode properties.
|
||||
* <p>These constants are used in functions like
|
||||
* UCharacter.hasBinaryProperty(int) to select one of the Unicode properties.
|
||||
*
|
||||
* <p>The properties APIs are intended to reflect Unicode properties as
|
||||
* defined in the Unicode Character Database (UCD) and Unicode Technical
|
||||
* Reports (UTR).
|
||||
* <p>For details about the properties see <a href=http://www.unicode.org>
|
||||
* http://www.unicode.org</a>.</p>
|
||||
* http://www.unicode.org</a>.
|
||||
* <p>For names of Unicode properties see the UCD file PropertyAliases.txt.
|
||||
* </p>
|
||||
* <p>Important: If ICU is built with UCD files from Unicode versions below
|
||||
* 3.2, then properties marked with "new" are not or not fully
|
||||
* available. Check UCharacter.getUnicodeVersion() to be sure.</p>
|
||||
*
|
||||
* <p>Important: If ICU is built with UCD files from Unicode versions below
|
||||
* 3.2, then properties marked with "new" are not or not fully
|
||||
* available. Check UCharacter.getUnicodeVersion() to be sure.
|
||||
* @author Syn Wee Quek
|
||||
* @stable ICU 2.6
|
||||
* @see com.ibm.icu.lang.UCharacter
|
||||
@ -38,285 +38,285 @@ public interface UProperty
|
||||
@Deprecated
|
||||
public static final int UNDEFINED = -1;
|
||||
|
||||
/**
|
||||
* <p>Binary property Alphabetic. </p>
|
||||
* <p>Property for UCharacter.isUAlphabetic(), different from the property
|
||||
* in UCharacter.isalpha().</p>
|
||||
* <p>Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic.</p>
|
||||
/**
|
||||
* <p>Binary property Alphabetic.
|
||||
* <p>Property for UCharacter.isUAlphabetic(), different from the property
|
||||
* in UCharacter.isalpha().
|
||||
* <p>Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int ALPHABETIC = 0;
|
||||
*/
|
||||
public static final int ALPHABETIC = 0;
|
||||
|
||||
/**
|
||||
* First constant for binary Unicode properties.
|
||||
/**
|
||||
* First constant for binary Unicode properties.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
*/
|
||||
public static final int BINARY_START = ALPHABETIC;
|
||||
|
||||
/**
|
||||
/**
|
||||
* Binary property ASCII_Hex_Digit (0-9 A-F a-f).
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int ASCII_HEX_DIGIT = 1;
|
||||
*/
|
||||
public static final int ASCII_HEX_DIGIT = 1;
|
||||
|
||||
/**
|
||||
* <p>Binary property Bidi_Control.</p>
|
||||
/**
|
||||
* <p>Binary property Bidi_Control.
|
||||
* <p>Format controls which have specific functions in the Bidi Algorithm.
|
||||
* </p>
|
||||
*
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int BIDI_CONTROL = 2;
|
||||
*/
|
||||
public static final int BIDI_CONTROL = 2;
|
||||
|
||||
/**
|
||||
* <p>Binary property Bidi_Mirrored.</p>
|
||||
* <p>Characters that may change display in RTL text.</p>
|
||||
* <p>Property for UCharacter.isMirrored().</p>
|
||||
* <p>See Bidi Algorithm; UTR 9.</p>
|
||||
/**
|
||||
* <p>Binary property Bidi_Mirrored.
|
||||
* <p>Characters that may change display in RTL text.
|
||||
* <p>Property for UCharacter.isMirrored().
|
||||
* <p>See Bidi Algorithm; UTR 9.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int BIDI_MIRRORED = 3;
|
||||
*/
|
||||
public static final int BIDI_MIRRORED = 3;
|
||||
|
||||
/**
|
||||
* <p>Binary property Dash.</p>
|
||||
* <p>Variations of dashes.</p>
|
||||
/**
|
||||
* <p>Binary property Dash.
|
||||
* <p>Variations of dashes.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int DASH = 4;
|
||||
*/
|
||||
public static final int DASH = 4;
|
||||
|
||||
/**
|
||||
/**
|
||||
* <p>Binary property Default_Ignorable_Code_Point (new).
|
||||
* </p>
|
||||
*
|
||||
* <p>Property that indicates codepoint is ignorable in most processing.
|
||||
* </p>
|
||||
* <p>Codepoints (2060..206F, FFF0..FFFB, E0000..E0FFF) +
|
||||
* Other_Default_Ignorable_Code_Point + (Cf + Cc + Cs - White_Space)</p>
|
||||
*
|
||||
* <p>Codepoints (2060..206F, FFF0..FFFB, E0000..E0FFF) +
|
||||
* Other_Default_Ignorable_Code_Point + (Cf + Cc + Cs - White_Space)
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int DEFAULT_IGNORABLE_CODE_POINT = 5;
|
||||
*/
|
||||
public static final int DEFAULT_IGNORABLE_CODE_POINT = 5;
|
||||
|
||||
/**
|
||||
* <p>Binary property Deprecated (new).</p>
|
||||
* <p>The usage of deprecated characters is strongly discouraged.</p>
|
||||
/**
|
||||
* <p>Binary property Deprecated (new).
|
||||
* <p>The usage of deprecated characters is strongly discouraged.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int DEPRECATED = 6;
|
||||
*/
|
||||
public static final int DEPRECATED = 6;
|
||||
|
||||
/**
|
||||
* <p>Binary property Diacritic.</p>
|
||||
* <p>Characters that linguistically modify the meaning of another
|
||||
* character to which they apply.</p>
|
||||
/**
|
||||
* <p>Binary property Diacritic.
|
||||
* <p>Characters that linguistically modify the meaning of another
|
||||
* character to which they apply.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int DIACRITIC = 7;
|
||||
*/
|
||||
public static final int DIACRITIC = 7;
|
||||
|
||||
/**
|
||||
* <p>Binary property Extender.</p>
|
||||
/**
|
||||
* <p>Binary property Extender.
|
||||
* <p>Extend the value or shape of a preceding alphabetic character, e.g.
|
||||
* length and iteration marks.</p>
|
||||
* length and iteration marks.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int EXTENDER = 8;
|
||||
*/
|
||||
public static final int EXTENDER = 8;
|
||||
|
||||
/**
|
||||
* <p>Binary property Full_Composition_Exclusion.</p>
|
||||
* <p>CompositionExclusions.txt + Singleton Decompositions +
|
||||
* Non-Starter Decompositions.</p>
|
||||
/**
|
||||
* <p>Binary property Full_Composition_Exclusion.
|
||||
* <p>CompositionExclusions.txt + Singleton Decompositions +
|
||||
* Non-Starter Decompositions.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int FULL_COMPOSITION_EXCLUSION = 9;
|
||||
*/
|
||||
public static final int FULL_COMPOSITION_EXCLUSION = 9;
|
||||
|
||||
/**
|
||||
* <p>Binary property Grapheme_Base (new).</p>
|
||||
* <p>For programmatic determination of grapheme cluster boundaries.
|
||||
* [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ</p>
|
||||
/**
|
||||
* <p>Binary property Grapheme_Base (new).
|
||||
* <p>For programmatic determination of grapheme cluster boundaries.
|
||||
* [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int GRAPHEME_BASE = 10;
|
||||
*/
|
||||
public static final int GRAPHEME_BASE = 10;
|
||||
|
||||
/**
|
||||
* <p>Binary property Grapheme_Extend (new).</p>
|
||||
* <p>For programmatic determination of grapheme cluster boundaries.</p>
|
||||
* <p>Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ</p>
|
||||
/**
|
||||
* <p>Binary property Grapheme_Extend (new).
|
||||
* <p>For programmatic determination of grapheme cluster boundaries.
|
||||
* <p>Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int GRAPHEME_EXTEND = 11;
|
||||
*/
|
||||
public static final int GRAPHEME_EXTEND = 11;
|
||||
|
||||
/**
|
||||
* <p>Binary property Grapheme_Link (new).</p>
|
||||
* <p>For programmatic determination of grapheme cluster boundaries.</p>
|
||||
/**
|
||||
* <p>Binary property Grapheme_Link (new).
|
||||
* <p>For programmatic determination of grapheme cluster boundaries.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int GRAPHEME_LINK = 12;
|
||||
*/
|
||||
public static final int GRAPHEME_LINK = 12;
|
||||
|
||||
/**
|
||||
* <p>Binary property Hex_Digit.</p>
|
||||
* <p>Characters commonly used for hexadecimal numbers.</p>
|
||||
/**
|
||||
* <p>Binary property Hex_Digit.
|
||||
* <p>Characters commonly used for hexadecimal numbers.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int HEX_DIGIT = 13;
|
||||
*/
|
||||
public static final int HEX_DIGIT = 13;
|
||||
|
||||
/**
|
||||
* <p>Binary property Hyphen.</p>
|
||||
/**
|
||||
* <p>Binary property Hyphen.
|
||||
* <p>Dashes used to mark connections between pieces of words, plus the
|
||||
* Katakana middle dot.</p>
|
||||
* Katakana middle dot.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int HYPHEN = 14;
|
||||
|
||||
/**
|
||||
* <p>Binary property ID_Continue.</p>
|
||||
* <p>Characters that can continue an identifier.</p>
|
||||
* <p>ID_Start+Mn+Mc+Nd+Pc</p>
|
||||
* <p>Binary property ID_Continue.
|
||||
* <p>Characters that can continue an identifier.
|
||||
* <p>ID_Start+Mn+Mc+Nd+Pc
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int ID_CONTINUE = 15;
|
||||
|
||||
/**
|
||||
* <p>Binary property ID_Start.</p>
|
||||
* <p>Characters that can start an identifier.</p>
|
||||
* <p>Lu+Ll+Lt+Lm+Lo+Nl</p>
|
||||
* <p>Binary property ID_Start.
|
||||
* <p>Characters that can start an identifier.
|
||||
* <p>Lu+Ll+Lt+Lm+Lo+Nl
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int ID_START = 16;
|
||||
|
||||
/**
|
||||
* <p>Binary property Ideographic.</p>
|
||||
* <p>CJKV ideographs.</p>
|
||||
* <p>Binary property Ideographic.
|
||||
* <p>CJKV ideographs.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int IDEOGRAPHIC = 17;
|
||||
|
||||
/**
|
||||
* <p>Binary property IDS_Binary_Operator (new).</p>
|
||||
* <p>Binary property IDS_Binary_Operator (new).
|
||||
* <p>For programmatic determination of Ideographic Description Sequences.
|
||||
* </p>
|
||||
*
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int IDS_BINARY_OPERATOR = 18;
|
||||
|
||||
/**
|
||||
* <p>Binary property IDS_Trinary_Operator (new).</p>
|
||||
* <p?For programmatic determination of Ideographic Description
|
||||
* Sequences.</p>
|
||||
* <p>Binary property IDS_Trinary_Operator (new).
|
||||
* <p>For programmatic determination of Ideographic Description
|
||||
* Sequences.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int IDS_TRINARY_OPERATOR = 19;
|
||||
|
||||
/**
|
||||
* <p>Binary property Join_Control.</p>
|
||||
* <p>Format controls for cursive joining and ligation.</p>
|
||||
* <p>Binary property Join_Control.
|
||||
* <p>Format controls for cursive joining and ligation.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int JOIN_CONTROL = 20;
|
||||
|
||||
/**
|
||||
* <p>Binary property Logical_Order_Exception (new).</p>
|
||||
* <p>Binary property Logical_Order_Exception (new).
|
||||
* <p>Characters that do not use logical order and require special
|
||||
* handling in most processing.</p>
|
||||
* handling in most processing.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int LOGICAL_ORDER_EXCEPTION = 21;
|
||||
|
||||
/**
|
||||
* <p>Binary property Lowercase.</p>
|
||||
* <p>Binary property Lowercase.
|
||||
* <p>Same as UCharacter.isULowercase(), different from
|
||||
* UCharacter.islower().</p>
|
||||
* <p>Ll+Other_Lowercase</p>
|
||||
* UCharacter.islower().
|
||||
* <p>Ll+Other_Lowercase
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int LOWERCASE = 22;
|
||||
|
||||
/** <p>Binary property Math.</p>
|
||||
* <p>Sm+Other_Math</p>
|
||||
/** <p>Binary property Math.
|
||||
* <p>Sm+Other_Math
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int MATH = 23;
|
||||
|
||||
/**
|
||||
* <p>Binary property Noncharacter_Code_Point.</p>
|
||||
* <p>Binary property Noncharacter_Code_Point.
|
||||
* <p>Code points that are explicitly defined as illegal for the encoding
|
||||
* of characters.</p>
|
||||
* of characters.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int NONCHARACTER_CODE_POINT = 24;
|
||||
|
||||
/**
|
||||
* <p>Binary property Quotation_Mark.</p>
|
||||
* <p>Binary property Quotation_Mark.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int QUOTATION_MARK = 25;
|
||||
|
||||
/**
|
||||
* <p>Binary property Radical (new).</p>
|
||||
* <p>Binary property Radical (new).
|
||||
* <p>For programmatic determination of Ideographic Description
|
||||
* Sequences.</p>
|
||||
* Sequences.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int RADICAL = 26;
|
||||
|
||||
/**
|
||||
* <p>Binary property Soft_Dotted (new).</p>
|
||||
* <p>Characters with a "soft dot", like i or j.</p>
|
||||
* <p>An accent placed on these characters causes the dot to disappear.</p>
|
||||
* <p>Binary property Soft_Dotted (new).
|
||||
* <p>Characters with a "soft dot", like i or j.
|
||||
* <p>An accent placed on these characters causes the dot to disappear.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int SOFT_DOTTED = 27;
|
||||
|
||||
/**
|
||||
* <p>Binary property Terminal_Punctuation.</p>
|
||||
* <p>Binary property Terminal_Punctuation.
|
||||
* <p>Punctuation characters that generally mark the end of textual
|
||||
* units.</p>
|
||||
* units.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int TERMINAL_PUNCTUATION = 28;
|
||||
|
||||
/**
|
||||
* <p>Binary property Unified_Ideograph (new).</p>
|
||||
* <p>Binary property Unified_Ideograph (new).
|
||||
* <p>For programmatic determination of Ideographic Description
|
||||
* Sequences.</p>
|
||||
* Sequences.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int UNIFIED_IDEOGRAPH = 29;
|
||||
|
||||
/**
|
||||
* <p>Binary property Uppercase.</p>
|
||||
* <p>Binary property Uppercase.
|
||||
* <p>Same as UCharacter.isUUppercase(), different from
|
||||
* UCharacter.isUpperCase().</p>
|
||||
* <p>Lu+Other_Uppercase</p>
|
||||
* UCharacter.isUpperCase().
|
||||
* <p>Lu+Other_Uppercase
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int UPPERCASE = 30;
|
||||
|
||||
/**
|
||||
* <p>Binary property White_Space.</p>
|
||||
* <p>Binary property White_Space.
|
||||
* <p>Same as UCharacter.isUWhiteSpace(), different from
|
||||
* UCharacter.isSpace() and UCharacter.isWhitespace().</p>
|
||||
* Space characters+TAB+CR+LF-ZWSP-ZWNBSP</p>
|
||||
* UCharacter.isSpace() and UCharacter.isWhitespace().
|
||||
* Space characters+TAB+CR+LF-ZWSP-ZWNBSP
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int WHITE_SPACE = 31;
|
||||
|
||||
/**
|
||||
* <p>Binary property XID_Continue.</p>
|
||||
* <p>Binary property XID_Continue.
|
||||
* <p>ID_Continue modified to allow closure under normalization forms
|
||||
* NFKC and NFKD.</p>
|
||||
* NFKC and NFKD.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int XID_CONTINUE = 32;
|
||||
|
||||
/**
|
||||
* <p>Binary property XID_Start.</p>
|
||||
* <p>Binary property XID_Start.
|
||||
* <p>ID_Start modified to allow closure under normalization forms NFKC
|
||||
* and NFKD.</p>
|
||||
* and NFKD.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int XID_START = 33;
|
||||
|
||||
/**
|
||||
* <p>Binary property Case_Sensitive.</p>
|
||||
* <p>Binary property Case_Sensitive.
|
||||
* <p>Either the source of a case
|
||||
* mapping or _in_ the target of a case mapping. Not the same as
|
||||
* the general category Cased_Letter.</p>
|
||||
* the general category Cased_Letter.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final int CASE_SENSITIVE = 34;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2001-2015 International Business Machines Corporation and
|
||||
* Copyright (C) 2001-2016 International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -1153,7 +1153,7 @@ public final class UScript {
|
||||
* </ul>
|
||||
* In other words, if the return value is non-negative, it is c's single Script code
|
||||
* and the set contains exactly this Script code.
|
||||
* If the return value is -n, then the set contains c's n>=2 Script_Extensions script codes.
|
||||
* If the return value is -n, then the set contains c's n>=2 Script_Extensions script codes.
|
||||
*
|
||||
* <p>Some characters are commonly used in multiple scripts.
|
||||
* For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
|
||||
|
@ -9,7 +9,7 @@ import com.ibm.icu.lang.UCharacter;
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* BigDecimal -- Decimal arithmetic for Java */
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* Copyright IBM Corporation, 1996-2011. All Rights Reserved. */
|
||||
/* Copyright IBM Corporation, 1996-2016. All Rights Reserved. */
|
||||
/* */
|
||||
/* The BigDecimal class provides immutable arbitrary-precision */
|
||||
/* floating point (including integer) decimal numbers. */
|
||||
@ -209,7 +209,7 @@ import com.ibm.icu.lang.UCharacter;
|
||||
* results in <code>3.33333333E-11</code> instead of <code>0.0000000000333333333</code>.
|
||||
* <p>
|
||||
* The form of the exponential notation (scientific or engineering) is determined by the <code>form</code> setting.
|
||||
* <eul>
|
||||
* </ul>
|
||||
* <p>
|
||||
* The names of methods in this class follow the conventions established by <code>java.lang.Number</code>,
|
||||
* <code>java.math.BigInteger</code>, and <code>java.math.BigDecimal</code> in Java 1.1 and Java 1.2.
|
||||
@ -385,7 +385,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
|
||||
* <p>
|
||||
* Once constructed, this may become shared between several BigDecimal objects, so must not be altered.
|
||||
* <p>
|
||||
* For efficiency (speed), this is a byte array, with each byte taking a value of 0 -> 9.
|
||||
* For efficiency (speed), this is a byte array, with each byte taking a value of 0 -> 9.
|
||||
* <p>
|
||||
* If the first byte is 0 then the value of the number is zero (and mant.length=1, except when constructed from a
|
||||
* plain number, for example, 0.000).
|
||||
@ -904,7 +904,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
|
||||
* </pre>
|
||||
* <p>
|
||||
* (Exponential notation means that the number includes an optional sign and a power of ten following an
|
||||
* '</code>E</code>' that indicates how the decimal point will be shifted. Thus the <code>"4E+9"</code> above is
|
||||
* '<code>E</code>' that indicates how the decimal point will be shifted. Thus the <code>"4E+9"</code> above is
|
||||
* just a short way of writing <code>4000000000</code>, and the <code>"0.73e-7"</code> is short for <code>
|
||||
* 0.000000073</code>.)
|
||||
* <p>
|
||||
@ -916,7 +916,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
|
||||
* the single digit 0, and if non-zero it will have an exponent unless that exponent would be 0. The exponent must
|
||||
* fit in nine digits both before and after it is expressed in scientific notation.
|
||||
* <p>
|
||||
* Any digits in the parameter must be decimal; that is, <code>Character.digit(c, 10)</code> (where </code>c</code>
|
||||
* Any digits in the parameter must be decimal; that is, <code>Character.digit(c, 10)</code> (where <code>c</code>
|
||||
* is the character in question) would not return -1.
|
||||
*
|
||||
* @param string The <code>String</code> to be converted.
|
||||
@ -1533,7 +1533,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
|
||||
/**
|
||||
* Returns a <code>BigDecimal</code> whose value is <code>this*rhs</code>.
|
||||
* <p>
|
||||
* Implements the multiplication (<b><code> </code></b>) operator (as defined in the decimal documentation, see
|
||||
* Implements the multiplication (<b><code>*</code></b>) operator (as defined in the decimal documentation, see
|
||||
* {@link BigDecimal class header}), and returns the result as a <code>BigDecimal</code> object.
|
||||
*
|
||||
* @param rhs The <code>BigDecimal</code> for the right hand side of the multiplication.
|
||||
@ -1742,7 +1742,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
|
||||
/**
|
||||
* Returns a <code>BigDecimal</code> whose value is <code>this**rhs</code>.
|
||||
* <p>
|
||||
* Implements the power (<b><code> </code></b>) operator (as defined in the decimal documentation, see
|
||||
* Implements the power (<b><code>^</code></b>) operator (as defined in the decimal documentation, see
|
||||
* {@link BigDecimal class header}), and returns the result as a <code>BigDecimal</code> object.
|
||||
* <p>
|
||||
* The first parameter is the power to which the <code>this</code> will be raised; it must be in the range
|
||||
@ -2094,8 +2094,8 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
|
||||
* <code>explaces</code> must be a positive number; it sets the number of places (digits after the sign of the
|
||||
* exponent) to be used for any exponent part, the default (when <code>explaces</code> is -1) being to use as many
|
||||
* as are needed. If <code>explaces</code> is not -1, space is always reserved for an exponent; if one is not needed
|
||||
* (for example, if the exponent will be 0) then <code>explaces</code>+2 blanks are appended to the result. <!--
|
||||
* (This preserves vertical alignment of similarly formatted numbers in a monospace font.) --> If <code>explaces
|
||||
* (for example, if the exponent will be 0) then <code>explaces</code>+2 blanks are appended to the result.
|
||||
* (This preserves vertical alignment of similarly formatted numbers in a monospace font.) If <code>explaces
|
||||
* </code> is not -1 and is not large enough to contain the exponent, an exception is thrown.
|
||||
* <p>
|
||||
* <code>exdigits</code> sets the trigger point for use of exponential notation. If, before any rounding, the number
|
||||
|
@ -59,7 +59,6 @@ import com.ibm.icu.lang.UProperty;
|
||||
* Some of the API methods provide access to "runs". Such a
|
||||
* "run" is defined as a sequence of characters that are at the same
|
||||
* embedding level after performing the Bidi algorithm.
|
||||
* <p>
|
||||
*
|
||||
* <h3>Basic concept: paragraph</h3>
|
||||
* A piece of text can be divided into several paragraphs by characters
|
||||
@ -162,7 +161,7 @@ import com.ibm.icu.lang.UProperty;
|
||||
*
|
||||
* <p>
|
||||
* The basic assumptions are:
|
||||
* </p>
|
||||
*
|
||||
* <ul>
|
||||
* <li>Rendering is done from left to right on a horizontal line.</li>
|
||||
* <li>A run of single-style, unidirectional text can be rendered at once.
|
||||
@ -256,10 +255,10 @@ import com.ibm.icu.lang.UProperty;
|
||||
* // iterate over style runs
|
||||
* if (direction == Bidi.LTR) {
|
||||
* int styleLimit;
|
||||
* for (i = 0; i < styleRunCount; ++i) {
|
||||
* for (i = 0; i < styleRunCount; ++i) {
|
||||
* styleLimit = styleRuns[i].limit;
|
||||
* if (start < styleLimit) {
|
||||
* if (styleLimit > limit) {
|
||||
* if (start < styleLimit) {
|
||||
* if (styleLimit > limit) {
|
||||
* styleLimit = limit;
|
||||
* }
|
||||
* renderRun(text, start, styleLimit,
|
||||
@ -273,14 +272,14 @@ import com.ibm.icu.lang.UProperty;
|
||||
* } else {
|
||||
* int styleStart;
|
||||
*
|
||||
* for (i = styleRunCount-1; i >= 0; --i) {
|
||||
* if (i > 0) {
|
||||
* for (i = styleRunCount-1; i >= 0; --i) {
|
||||
* if (i > 0) {
|
||||
* styleStart = styleRuns[i-1].limit;
|
||||
* } else {
|
||||
* styleStart = 0;
|
||||
* }
|
||||
* if (limit >= styleStart) {
|
||||
* if (styleStart < start) {
|
||||
* if (limit >= styleStart) {
|
||||
* if (styleStart < start) {
|
||||
* styleStart = start;
|
||||
* }
|
||||
* renderRun(text, styleStart, limit, direction,
|
||||
@ -300,7 +299,7 @@ import com.ibm.icu.lang.UProperty;
|
||||
* byte direction = line.getDirection();
|
||||
* if (direction != Bidi.MIXED) {
|
||||
* // unidirectional
|
||||
* if (styleRunCount <= 1) {
|
||||
* if (styleRunCount <= 1) {
|
||||
* renderRun(text, start, limit, direction, styleRuns[0].style);
|
||||
* } else {
|
||||
* renderDirectionalRun(text, start, limit, direction,
|
||||
@ -317,18 +316,18 @@ import com.ibm.icu.lang.UProperty;
|
||||
* e.printStackTrace();
|
||||
* return;
|
||||
* }
|
||||
* if (styleRunCount <= 1) {
|
||||
* if (styleRunCount <= 1) {
|
||||
* int style = styleRuns[0].style;
|
||||
*
|
||||
* // iterate over directional runs
|
||||
* for (i = 0; i < count; ++i) {
|
||||
* for (i = 0; i < count; ++i) {
|
||||
* run = line.getVisualRun(i);
|
||||
* renderRun(text, run.getStart(), run.getLimit(),
|
||||
* run.getDirection(), style);
|
||||
* }
|
||||
* } else {
|
||||
* // iterate over both directional and style runs
|
||||
* for (i = 0; i < count; ++i) {
|
||||
* for (i = 0; i < count; ++i) {
|
||||
* run = line.getVisualRun(i);
|
||||
* renderDirectionalRun(text, run.getStart(),
|
||||
* run.getLimit(), run.getDirection(),
|
||||
@ -352,18 +351,18 @@ import com.ibm.icu.lang.UProperty;
|
||||
* e.printStackTrace();
|
||||
* return;
|
||||
* }
|
||||
* byte paraLevel = (byte)(1 & para.getParaLevel());
|
||||
* byte paraLevel = (byte)(1 & para.getParaLevel());
|
||||
* StyleRun styleRun = new StyleRun(length, styleNormal);
|
||||
*
|
||||
* if (styleRuns == null || styleRunCount <= 0) {
|
||||
* if (styleRuns == null || styleRunCount <= 0) {
|
||||
* styleRuns = new StyleRun[1];
|
||||
* styleRunCount = 1;
|
||||
* styleRuns[0] = styleRun;
|
||||
* }
|
||||
* // assume styleRuns[styleRunCount-1].limit>=length
|
||||
* // assume styleRuns[styleRunCount-1].limit>=length
|
||||
*
|
||||
* int width = getTextWidth(text, 0, length, styleRuns, styleRunCount);
|
||||
* if (width <= lineWidth) {
|
||||
* if (width <= lineWidth) {
|
||||
* // everything fits onto one line
|
||||
*
|
||||
* // prepare rendering a new line from either left or right
|
||||
@ -392,7 +391,7 @@ import com.ibm.icu.lang.UProperty;
|
||||
* // from either left or right
|
||||
* startLine(paraLevel, width);
|
||||
*
|
||||
* if (styleRunStart > 0) {
|
||||
* if (styleRunStart > 0) {
|
||||
* int newRunCount = styleRuns.length - styleRunStart;
|
||||
* StyleRun[] newRuns = new StyleRun[newRunCount];
|
||||
* System.arraycopy(styleRuns, styleRunStart, newRuns, 0,
|
||||
@ -408,7 +407,7 @@ import com.ibm.icu.lang.UProperty;
|
||||
* }
|
||||
* start = limit;
|
||||
* styleRunStart = styleRunLimit - 1;
|
||||
* if (start >= styleRuns[styleRunStart].limit) {
|
||||
* if (start >= styleRuns[styleRunStart].limit) {
|
||||
* ++styleRunStart;
|
||||
* }
|
||||
* }
|
||||
@ -713,7 +712,7 @@ public class Bidi {
|
||||
* this is part of the approximate "inverse Bidi" algorithm
|
||||
*
|
||||
* <p>This option does not imply corresponding adjustment of the index
|
||||
* mappings.</p>
|
||||
* mappings.
|
||||
*
|
||||
* @see #setInverse
|
||||
* @see #writeReordered
|
||||
@ -727,7 +726,7 @@ public class Bidi {
|
||||
* (this does not affect INSERT_LRM_FOR_NUMERIC)
|
||||
*
|
||||
* <p>This option does not imply corresponding adjustment of the index
|
||||
* mappings.</p>
|
||||
* mappings.
|
||||
*
|
||||
* @see #writeReordered
|
||||
* @see #INSERT_LRM_FOR_NUMERIC
|
||||
@ -744,7 +743,7 @@ public class Bidi {
|
||||
* <code>writeReverse()</code> without mirroring.
|
||||
* Doing this in the same step is faster and avoids a temporary buffer.
|
||||
* An example for using this option is output to a character terminal that
|
||||
* is designed for RTL scripts and stores text in reverse order.</p>
|
||||
* is designed for RTL scripts and stores text in reverse order.
|
||||
*
|
||||
* @see #writeReordered
|
||||
* @stable ICU 3.8
|
||||
@ -828,10 +827,10 @@ public class Bidi {
|
||||
* a reordering to a Logical order
|
||||
*
|
||||
* <p>This option must be set or reset before calling
|
||||
* <code>setPara</code>.</p>
|
||||
* <code>setPara</code>.
|
||||
*
|
||||
* <p>This option is significant only with reordering modes which generate
|
||||
* a result with Logical order, specifically.</p>
|
||||
* a result with Logical order, specifically.
|
||||
* <ul>
|
||||
* <li><code>REORDER_RUNS_ONLY</code></li>
|
||||
* <li><code>REORDER_INVERSE_NUMBERS_AS_L</code></li>
|
||||
@ -843,7 +842,7 @@ public class Bidi {
|
||||
* <code>REORDER_INVERSE_NUMBERS_AS_L</code> or with calling
|
||||
* <code>setInverse(true)</code>, it implies option
|
||||
* <code>INSERT_LRM_FOR_NUMERIC</code> in calls to method
|
||||
* <code>writeReordered()</code>.</p>
|
||||
* <code>writeReordered()</code>.
|
||||
*
|
||||
* <p>For other reordering modes, a minimum number of LRM or RLM characters
|
||||
* will be added to the source text after reordering it so as to ensure
|
||||
@ -861,7 +860,7 @@ public class Bidi {
|
||||
* <code>writeReordered()</code> and it implies option
|
||||
* <code>INSERT_LRM_FOR_NUMERIC</code> in calls to method
|
||||
* <code>writeReordered()</code> if the reordering mode is
|
||||
* <code>REORDER_INVERSE_NUMBERS_AS_L</code>.</p>
|
||||
* <code>REORDER_INVERSE_NUMBERS_AS_L</code>.
|
||||
*
|
||||
* @see #setReorderingMode
|
||||
* @see #setReorderingOptions
|
||||
@ -881,13 +880,13 @@ public class Bidi {
|
||||
* remove Bidi control characters
|
||||
*
|
||||
* <p>This option must be set or reset before calling
|
||||
* <code>setPara</code>.</p>
|
||||
* <code>setPara</code>.
|
||||
*
|
||||
* <p>This option nullifies option
|
||||
* <code>OPTION_INSERT_MARKS</code>. It inhibits option
|
||||
* <code>INSERT_LRM_FOR_NUMERIC</code> in calls to method
|
||||
* <code>writeReordered()</code> and it implies option
|
||||
* <code>REMOVE_BIDI_CONTROLS</code> in calls to that method.</p>
|
||||
* <code>REMOVE_BIDI_CONTROLS</code> in calls to that method.
|
||||
*
|
||||
* @see #setReorderingMode
|
||||
* @see #setReorderingOptions
|
||||
@ -903,12 +902,12 @@ public class Bidi {
|
||||
* process the output as part of a stream to be continued
|
||||
*
|
||||
* <p>This option must be set or reset before calling
|
||||
* <code>setPara</code>.</p>
|
||||
* <code>setPara</code>.
|
||||
*
|
||||
* <p>This option specifies that the caller is interested in processing
|
||||
* large text object in parts. The results of the successive calls are
|
||||
* expected to be concatenated by the caller. Only the call for the last
|
||||
* part will have this option bit off.</p>
|
||||
* part will have this option bit off.
|
||||
*
|
||||
* <p>When this option bit is on, <code>setPara()</code> may process
|
||||
* less than the full source text in order to truncate the text at a
|
||||
@ -930,13 +929,12 @@ public class Bidi {
|
||||
* <li>resubmit the same text after turning off option
|
||||
* <code>OPTION_STREAMING</code>.</li></ul>
|
||||
* In all cases, this option should be turned off before processing the last
|
||||
* part of the text.</p>
|
||||
* part of the text.
|
||||
*
|
||||
* <p>When the <code>OPTION_STREAMING</code> option is used, it is
|
||||
* recommended to call <code>orderParagraphsLTR(true)</code> before calling
|
||||
* <code>setPara()</code> so that later paragraphs may be concatenated to
|
||||
* previous paragraphs on the right.
|
||||
* </p>
|
||||
*
|
||||
* @see #setReorderingMode
|
||||
* @see #setReorderingOptions
|
||||
@ -1419,19 +1417,19 @@ public class Bidi {
|
||||
* to logical order. This is effectively the inverse algorithm of the
|
||||
* described Bidi algorithm. Note that there is no standard algorithm for
|
||||
* this "inverse Bidi" and that the current implementation provides only an
|
||||
* approximation of "inverse Bidi".</p>
|
||||
* approximation of "inverse Bidi".
|
||||
*
|
||||
* <p>With <code>isInversed</code> set to <code>true</code>,
|
||||
* this method changes the behavior of some of the subsequent methods
|
||||
* in a way that they can be used for the inverse Bidi algorithm.
|
||||
* Specifically, runs of text with numeric characters will be treated in a
|
||||
* special way and may need to be surrounded with LRM characters when they are
|
||||
* written in reordered sequence.</p>
|
||||
* written in reordered sequence.
|
||||
*
|
||||
* <p>Output runs should be retrieved using <code>getVisualRun()</code>.
|
||||
* Since the actual input for "inverse Bidi" is visually ordered text and
|
||||
* <code>getVisualRun()</code> gets the reordered runs, these are actually
|
||||
* the runs of the logically ordered output.</p>
|
||||
* the runs of the logically ordered output.
|
||||
*
|
||||
* <p>Calling this method with argument <code>isInverse</code> set to
|
||||
* <code>true</code> is equivalent to calling <code>setReorderingMode</code>
|
||||
@ -1464,7 +1462,7 @@ public class Bidi {
|
||||
* <code>setReorderingMode</code> will return <code>true</code> if the
|
||||
* reordering mode was set to
|
||||
* <code>REORDER_INVERSE_NUMBERS_AS_L</code>, <code>false</code>
|
||||
* for all other values.</p>
|
||||
* for all other values.
|
||||
*
|
||||
* @return <code>true</code> if the <code>Bidi</code> object is set to
|
||||
* perform the inverse Bidi algorithm by handling numbers as L.
|
||||
@ -1487,22 +1485,22 @@ public class Bidi {
|
||||
*
|
||||
* <p>The normal operation of the Bidi algorithm as described in the Unicode
|
||||
* Standard Annex #9 is to take text stored in logical (keyboard, typing)
|
||||
* order and to determine how to reorder it for visual rendering.</p>
|
||||
* order and to determine how to reorder it for visual rendering.
|
||||
*
|
||||
* <p>With the reordering mode set to a value other than
|
||||
* <code>REORDER_DEFAULT</code>, this method changes the behavior of some of
|
||||
* the subsequent methods in a way such that they implement an inverse Bidi
|
||||
* algorithm or some other algorithm variants.</p>
|
||||
* algorithm or some other algorithm variants.
|
||||
*
|
||||
* <p>Some legacy systems store text in visual order, and for operations
|
||||
* with standard, Unicode-based algorithms, the text needs to be transformed
|
||||
* into logical order. This is effectively the inverse algorithm of the
|
||||
* described Bidi algorithm. Note that there is no standard algorithm for
|
||||
* this "inverse Bidi", so a number of variants are implemented here.</p>
|
||||
* this "inverse Bidi", so a number of variants are implemented here.
|
||||
*
|
||||
* <p>In other cases, it may be desirable to emulate some variant of the
|
||||
* Logical to Visual algorithm (e.g. one used in MS Windows), or perform a
|
||||
* Logical to Logical transformation.</p>
|
||||
* Logical to Logical transformation.
|
||||
*
|
||||
* <ul>
|
||||
* <li>When the Reordering Mode is set to
|
||||
@ -1616,7 +1614,7 @@ public class Bidi {
|
||||
* or <code>writeReordered()</code> are actually runs or character string
|
||||
* of logically ordered output.<br>
|
||||
* For all the "inverse Bidi" modes, the source text should not contain
|
||||
* Bidi control characters other than LRM or RLM.</p>
|
||||
* Bidi control characters other than LRM or RLM.
|
||||
*
|
||||
* <p>Note that option <code>OUTPUT_REVERSE</code> of
|
||||
* <code>writeReordered</code> has no useful meaning and should not be used
|
||||
@ -3865,7 +3863,7 @@ public class Bidi {
|
||||
* (same index) character if the level has the
|
||||
* <code>LEVEL_OVERRIDE</code> bit set.<br><br>
|
||||
* Except for that bit, it must be
|
||||
* <code>paraLevel<=embeddingLevels[]<=MAX_EXPLICIT_LEVEL</code>,
|
||||
* <code>paraLevel<=embeddingLevels[]<=MAX_EXPLICIT_LEVEL</code>,
|
||||
* with one exception: a level of zero may be specified for a
|
||||
* paragraph separator even if <code>paraLevel>0</code> when multiple
|
||||
* paragraphs are submitted in the same call to <code>setPara()</code>.<br><br>
|
||||
@ -3949,7 +3947,7 @@ public class Bidi {
|
||||
* (same index) character if the level has the
|
||||
* <code>LEVEL_OVERRIDE</code> bit set.<br><br>
|
||||
* Except for that bit, it must be
|
||||
* <code>paraLevel<=embeddingLevels[]<=MAX_EXPLICIT_LEVEL</code>,
|
||||
* <code>paraLevel<=embeddingLevels[]<=MAX_EXPLICIT_LEVEL</code>,
|
||||
* with one exception: a level of zero may be specified for a
|
||||
* paragraph separator even if <code>paraLevel>0</code> when multiple
|
||||
* paragraphs are submitted in the same call to <code>setPara()</code>.<br><br>
|
||||
@ -4679,7 +4677,7 @@ public class Bidi {
|
||||
* Retrieves the Bidi class for a given code point.
|
||||
* <p>If a <code>BidiClassifier</code> is defined and returns a value
|
||||
* other than <code>CLASS_DEFAULT</code>, that value is used; otherwise
|
||||
* the default class determination mechanism is invoked.</p>
|
||||
* the default class determination mechanism is invoked.
|
||||
*
|
||||
* @param c The code point to get a Bidi class for.
|
||||
*
|
||||
@ -5172,7 +5170,7 @@ public class Bidi {
|
||||
* Some elements of the source array may have no mapping in the
|
||||
* destination array. In that case, their value will be
|
||||
* the special value <code>MAP_NOWHERE</code>.
|
||||
* All elements must be >=0 or equal to <code>MAP_NOWHERE</code>.
|
||||
* All elements must be >=0 or equal to <code>MAP_NOWHERE</code>.
|
||||
* Some elements in the source map may have a value greater than the
|
||||
* srcMap.length if the destination array has more elements than the
|
||||
* source array.
|
||||
@ -5662,7 +5660,7 @@ public class Bidi {
|
||||
*
|
||||
* <p>The text may have been aliased (only a reference was stored
|
||||
* without copying the contents), thus it must not have been modified
|
||||
* since the <code>setPara()</code> call.</p>
|
||||
* since the <code>setPara()</code> call.
|
||||
*
|
||||
* This method preserves the integrity of characters with multiple
|
||||
* code units and (optionally) combining characters.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2001-2011, International Business Machines
|
||||
* Copyright (C) 2001-2016, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -13,7 +13,7 @@ package com.ibm.icu.text;
|
||||
/**
|
||||
* A BidiRun represents a sequence of characters at the same embedding level.
|
||||
* The Bidi algorithm decomposes a piece of text into sequences of characters
|
||||
* at the same embedding level, each such sequence is called a <quote>run</quote>.
|
||||
* at the same embedding level, each such sequence is called a "run".
|
||||
*
|
||||
* <p>A BidiRun represents such a run by storing its essential properties,
|
||||
* but does not duplicate the characters which form the run.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -181,7 +181,7 @@ import com.ibm.icu.util.ULocale;
|
||||
* int last = wb.following(pos);
|
||||
* int current = wb.next();
|
||||
* while (current != BreakIterator.DONE) {
|
||||
* for (int p = last; p < current; p++) {
|
||||
* for (int p = last; p < current; p++) {
|
||||
* if (Character.isLetter(text.charAt(p)))
|
||||
* return last;
|
||||
* }
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2005-2014, International Business Machines Corporation and *
|
||||
* Copyright (C) 2005-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -22,17 +22,17 @@ import java.util.List;
|
||||
* The result of the detection operation is a list of possibly matching
|
||||
* charsets, or, for simple use, you can just ask for a Java Reader that
|
||||
* will will work over the input data.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Character set detection is at best an imprecise operation. The detection
|
||||
* process will attempt to identify the charset that best matches the characteristics
|
||||
* of the byte data, but the process is partly statistical in nature, and
|
||||
* the results can not be guaranteed to always be correct.
|
||||
* <p/>
|
||||
* <p>
|
||||
* For best accuracy in charset detection, the input data should be primarily
|
||||
* in a single language, and a minimum of a few hundred bytes worth of plain text
|
||||
* in the language are needed. The detection process will attempt to
|
||||
* ignore html or xml style markup that could otherwise obscure the content.
|
||||
* <p/>
|
||||
* <p>
|
||||
* @stable ICU 3.4
|
||||
*/
|
||||
public class CharsetDetector {
|
||||
@ -63,7 +63,7 @@ public class CharsetDetector {
|
||||
* A match between a declared encoding and a possible detected encoding
|
||||
* will raise the quality of that detected encoding by a small delta,
|
||||
* and will also appear as a "reason" for the match.
|
||||
* <p/>
|
||||
* <p>
|
||||
* A declared encoding that is incompatible with the input data being
|
||||
* analyzed will not be added to the list of possible encodings.
|
||||
*
|
||||
@ -96,7 +96,7 @@ public class CharsetDetector {
|
||||
|
||||
/**
|
||||
* Set the input text (byte) data whose charset is to be detected.
|
||||
* <p/>
|
||||
* <p>
|
||||
* The input stream that supplies the character data must have markSupported()
|
||||
* == true; the charset detection process will read a small amount of data,
|
||||
* then return the stream to its original position via
|
||||
@ -140,7 +140,7 @@ public class CharsetDetector {
|
||||
* only looks at the start of the input data,
|
||||
* there is a possibility that the returned charset will fail to handle
|
||||
* the full set of input data.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Raise an exception if
|
||||
* <ul>
|
||||
* <li>no charset appears to match the data.</li>
|
||||
@ -170,7 +170,7 @@ public class CharsetDetector {
|
||||
* Return an array of all charsets that appear to be plausible
|
||||
* matches with the input data. The array is ordered with the
|
||||
* best quality match first.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Raise an exception if
|
||||
* <ul>
|
||||
* <li>no charsets appear to match the input data.</li>
|
||||
@ -209,16 +209,16 @@ public class CharsetDetector {
|
||||
/**
|
||||
* Autodetect the charset of an inputStream, and return a Java Reader
|
||||
* to access the converted input data.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This is a convenience method that is equivalent to
|
||||
* <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getReader();</code>
|
||||
* <p/>
|
||||
* <p>
|
||||
* For the input stream that supplies the character data, markSupported()
|
||||
* must be true; the charset detection will read a small amount of data,
|
||||
* then return the stream to its original position via
|
||||
* the InputStream.reset() operation. The exact amount that will
|
||||
* be read depends on the characteristics of the data itself.
|
||||
*<p/>
|
||||
*<p>
|
||||
* Raise an exception if no charsets appear to match the input data.
|
||||
*
|
||||
* @param in The source of the byte data in the unknown charset.
|
||||
@ -249,10 +249,10 @@ public class CharsetDetector {
|
||||
/**
|
||||
* Autodetect the charset of an inputStream, and return a String
|
||||
* containing the converted input data.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This is a convenience method that is equivalent to
|
||||
* <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getString();</code>
|
||||
*<p/>
|
||||
*<p>
|
||||
* Raise an exception if no charsets appear to match the input data.
|
||||
*
|
||||
* @param in The source of the byte data in the unknown charset.
|
||||
@ -321,7 +321,7 @@ public class CharsetDetector {
|
||||
|
||||
/**
|
||||
* Enable filtering of input text. If filtering is enabled,
|
||||
* text within angle brackets ("<" and ">") will be removed
|
||||
* text within angle brackets ("<" and ">") will be removed
|
||||
* before detection.
|
||||
*
|
||||
* @param filter <code>true</code> to enable input text filtering.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2005-2012, International Business Machines Corporation and *
|
||||
* Copyright (C) 2005-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -18,9 +18,9 @@ import java.io.Reader;
|
||||
* as a possible encoding for a set of input data. From an instance of this
|
||||
* class, you can ask for a confidence level in the charset identification,
|
||||
* or for Java Reader or String to access the original byte data in Unicode form.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Instances of this class are created only by CharsetDetectors.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note: this class has a natural ordering that is inconsistent with equals.
|
||||
* The natural ordering is based on the match confidence value.
|
||||
*
|
||||
@ -32,7 +32,7 @@ public class CharsetMatch implements Comparable<CharsetMatch> {
|
||||
/**
|
||||
* Create a java.io.Reader for reading the Unicode character data corresponding
|
||||
* to the original byte data supplied to the Charset detect operation.
|
||||
* <p/>
|
||||
* <p>
|
||||
* CAUTION: if the source of the byte data was an InputStream, a Reader
|
||||
* can be created for only one matching char set using this method. If more
|
||||
* than one charset needs to be tried, the caller will need to reset
|
||||
|
@ -35,7 +35,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <p>
|
||||
* 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 formatting
|
||||
* (i.e., date -> text), parsing (text -> date), and normalization. The date is represented as a <code>Date</code>
|
||||
* (i.e., date -> text), parsing (text -> date), and normalization. The date is represented as a <code>Date</code>
|
||||
* object or as the milliseconds since January 1, 1970, 00:00:00 GMT.
|
||||
*
|
||||
* <p>
|
||||
@ -125,7 +125,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <li>align any particular field, or find out where it is for selection on the screen.
|
||||
* </ul>
|
||||
*
|
||||
* <h4>Synchronization</h4>
|
||||
* <h3>Synchronization</h3>
|
||||
*
|
||||
* Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple
|
||||
* threads access a format concurrently, it must be synchronized externally.
|
||||
@ -1613,13 +1613,13 @@ public abstract class DateFormat extends UFormat {
|
||||
* lenient parsing, the parser may use heuristics to interpret inputs that
|
||||
* do not precisely match this object's format. Without lenient parsing,
|
||||
* inputs must match this object's format more closely.
|
||||
* <br/><br/>
|
||||
* <br><br>
|
||||
* <b>Note:</b> ICU 53 introduced finer grained control of leniency (and added
|
||||
* new control points) making the preferred method a combination of
|
||||
* setCalendarLenient() & setBooleanAttribute() calls.
|
||||
* setCalendarLenient() & setBooleanAttribute() calls.
|
||||
* This method supports prior functionality but may not support all
|
||||
* future leniency control & behavior of DateFormat. For control of pre 53 leniency,
|
||||
* Calendar and DateFormat whitespace & numeric tolerance, this method is safe to
|
||||
* future leniency control & behavior of DateFormat. For control of pre 53 leniency,
|
||||
* Calendar and DateFormat whitespace & numeric tolerance, this method is safe to
|
||||
* use. However, mixing leniency control via this method and modification of the
|
||||
* newer attributes via setBooleanAttribute() may produce undesirable
|
||||
* results.
|
||||
@ -1638,7 +1638,7 @@ public abstract class DateFormat extends UFormat {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether both date/time parsing in the encapsulated Calendar object and DateFormat whitespace &
|
||||
* Returns whether both date/time parsing in the encapsulated Calendar object and DateFormat whitespace &
|
||||
* numeric processing is lenient.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
|
@ -573,6 +573,7 @@ public class DateFormatSymbols implements Serializable, Cloneable {
|
||||
* <li><code>zoneStrings[i][5]</code> - location name of zone</li>
|
||||
* <li><code>zoneStrings[i][6]</code> - long generic name of zone</li>
|
||||
* <li><code>zoneStrings[i][7]</code> - short generic of zone</li>
|
||||
* </ul>
|
||||
* The zone ID is <em>not</em> localized; it corresponds to the ID
|
||||
* value associated with a system time zone object. All other entries
|
||||
* are localized names. If a zone does not implement daylight savings
|
||||
|
@ -90,7 +90,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* second (though we do not currently have specific intervalFormat data for
|
||||
* skeletons with seconds).
|
||||
* Those calendar fields can be defined in the following order:
|
||||
* year > month > date > hour (in day) > minute > second
|
||||
* year > month > date > hour (in day) > minute > second
|
||||
*
|
||||
* The largest different calendar fields between 2 calendars is the
|
||||
* first different calendar field in above order.
|
||||
@ -248,7 +248,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
*
|
||||
*
|
||||
* </pre>
|
||||
* <h4>Synchronization</h4>
|
||||
* <h3>Synchronization</h3>
|
||||
*
|
||||
* The format methods of DateIntervalFormat may be used concurrently from multiple threads.
|
||||
* Functions that alter the state of a DateIntervalFormat object (setters)
|
||||
@ -919,7 +919,6 @@ public class DateIntervalFormat extends UFormat {
|
||||
* date time interval strings into Formattable objects with
|
||||
* DateInterval type, which is a pair of UDate.
|
||||
* <P>
|
||||
* <P>
|
||||
* Before calling, set parse_pos.index to the offset you want to start
|
||||
* parsing at in the source. After calling, parse_pos.index is the end of
|
||||
* the text you parsed. If error occurs, index is unchanged.
|
||||
|
@ -81,7 +81,7 @@ import com.ibm.icu.util.UResourceBundle;
|
||||
* second (though we do not currently have specific intervalFormat data for
|
||||
* skeletons with seconds).
|
||||
* Those calendar fields can be defined in the following order:
|
||||
* year > month > date > am-pm > hour > minute > second
|
||||
* year > month > date > am-pm > hour > minute > second
|
||||
*
|
||||
* The largest different calendar fields between 2 calendars is the
|
||||
* first different calendar field in above order.
|
||||
|
@ -25,6 +25,7 @@ import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.TreeSet;
|
||||
|
||||
|
||||
import com.ibm.icu.impl.ICUCache;
|
||||
import com.ibm.icu.impl.ICUResourceBundle;
|
||||
import com.ibm.icu.impl.PatternTokenizer;
|
||||
@ -93,7 +94,7 @@ public class DateTimePatternGenerator implements Freezable<DateTimePatternGenera
|
||||
|
||||
/**
|
||||
* Construct a flexible generator according to data for a given locale.
|
||||
* @param locale The {@link java.text.Locale} to pass.
|
||||
* @param locale The {@link java.util.Locale} to pass.
|
||||
* @stable ICU 54
|
||||
*/
|
||||
public static DateTimePatternGenerator getInstance(Locale locale) {
|
||||
|
@ -67,9 +67,9 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* Locale[] locales = NumberFormat.getAvailableLocales();
|
||||
* double myNumber = -1234.56;
|
||||
* NumberFormat format;
|
||||
* for (int j=0; j<3; ++j) {
|
||||
* for (int j=0; j<3; ++j) {
|
||||
* System.out.println("FORMAT");
|
||||
* for (int i = 0; i < locales.length; ++i) {
|
||||
* for (int i = 0; i < locales.length; ++i) {
|
||||
* if (locales[i].getCountry().length() == 0) {
|
||||
* // Skip language-only locales
|
||||
* continue;
|
||||
@ -86,34 +86,34 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* try {
|
||||
* // Assume format is a DecimalFormat
|
||||
* System.out.print(": " + ((DecimalFormat) format).toPattern()
|
||||
* + " -> " + form.format(myNumber));
|
||||
* + " -> " + form.format(myNumber));
|
||||
* } catch (Exception e) {}
|
||||
* try {
|
||||
* System.out.println(" -> " + format.parse(form.format(myNumber)));
|
||||
* System.out.println(" -> " + format.parse(form.format(myNumber)));
|
||||
* } catch (ParseException e) {}
|
||||
* }
|
||||
* }</pre></blockquote>
|
||||
*
|
||||
* <p>Another example use getInstance(style).<br/>
|
||||
* <p>Another example use getInstance(style).<br>
|
||||
* Print out a number using the localized number, currency, percent,
|
||||
* scientific, integer, iso currency, and plural currency format for each locale.
|
||||
*
|
||||
* <blockquote><pre>
|
||||
* ULocale locale = new ULocale("en_US");
|
||||
* double myNumber = 1234.56;
|
||||
* for (int j=NumberFormat.NUMBERSTYLE; j<=NumberFormat.PLURALCURRENCYSTYLE; ++j) {
|
||||
* for (int j=NumberFormat.NUMBERSTYLE; j<=NumberFormat.PLURALCURRENCYSTYLE; ++j) {
|
||||
* NumberFormat format = NumberFormat.getInstance(locale, j);
|
||||
* try {
|
||||
* // Assume format is a DecimalFormat
|
||||
* System.out.print(": " + ((DecimalFormat) format).toPattern()
|
||||
* + " -> " + form.format(myNumber));
|
||||
* + " -> " + form.format(myNumber));
|
||||
* } catch (Exception e) {}
|
||||
* try {
|
||||
* System.out.println(" -> " + format.parse(form.format(myNumber)));
|
||||
* System.out.println(" -> " + format.parse(form.format(myNumber)));
|
||||
* } catch (ParseException e) {}
|
||||
* }</pre></blockquote>
|
||||
*
|
||||
* <h4>Patterns</h4>
|
||||
* <h3>Patterns</h3>
|
||||
*
|
||||
* <p>A <code>DecimalFormat</code> consists of a <em>pattern</em> and a set of
|
||||
* <em>symbols</em>. The pattern may be set directly using {@link #applyPattern}, or
|
||||
@ -146,74 +146,74 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <blockquote>
|
||||
* <table border=0 cellspacing=3 cellpadding=0 summary="Chart showing symbol,
|
||||
* location, localized, and meaning.">
|
||||
* <tr bgcolor="#ccccff">
|
||||
* <tr style="background-color: #ccccff">
|
||||
* <th align=left>Symbol
|
||||
* <th align=left>Location
|
||||
* <th align=left>Localized?
|
||||
* <th align=left>Meaning
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>0</code>
|
||||
* <td>Number
|
||||
* <td>Yes
|
||||
* <td>Digit
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>1-9</code>
|
||||
* <td>Number
|
||||
* <td>Yes
|
||||
* <td>'1' through '9' indicate rounding.
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>@</code>
|
||||
* <td>Number
|
||||
* <td>No
|
||||
* <td>Significant digit
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>#</code>
|
||||
* <td>Number
|
||||
* <td>Yes
|
||||
* <td>Digit, zero shows as absent
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>.</code>
|
||||
* <td>Number
|
||||
* <td>Yes
|
||||
* <td>Decimal separator or monetary decimal separator
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>-</code>
|
||||
* <td>Number
|
||||
* <td>Yes
|
||||
* <td>Minus sign
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>,</code>
|
||||
* <td>Number
|
||||
* <td>Yes
|
||||
* <td>Grouping separator
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>E</code>
|
||||
* <td>Number
|
||||
* <td>Yes
|
||||
* <td>Separates mantissa and exponent in scientific notation.
|
||||
* <em>Need not be quoted in prefix or suffix.</em>
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>+</code>
|
||||
* <td>Exponent
|
||||
* <td>Yes
|
||||
* <td>Prefix positive exponents with localized plus sign.
|
||||
* <em>Need not be quoted in prefix or suffix.</em>
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>;</code>
|
||||
* <td>Subpattern boundary
|
||||
* <td>Yes
|
||||
* <td>Separates positive and negative subpatterns
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>%</code>
|
||||
* <td>Prefix or suffix
|
||||
* <td>Yes
|
||||
* <td>Multiply by 100 and show as percentage
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>\u2030</code>
|
||||
* <td>Prefix or suffix
|
||||
* <td>Yes
|
||||
* <td>Multiply by 1000 and show as per mille
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>¤</code> (<code>\u00A4</code>)
|
||||
* <td>Prefix or suffix
|
||||
* <td>No
|
||||
@ -223,7 +223,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* "US dollar" or "US dollars" for America.
|
||||
* If present in a pattern, the monetary decimal separator
|
||||
* is used instead of the decimal separator.
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>'</code>
|
||||
* <td>Prefix or suffix
|
||||
* <td>No
|
||||
@ -231,7 +231,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* for example, <code>"'#'#"</code> formats 123 to
|
||||
* <code>"#123"</code>. To create a single quote
|
||||
* itself, use two in a row: <code>"# o''clock"</code>.
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>*</code>
|
||||
* <td>Prefix or suffix boundary
|
||||
* <td>Yes
|
||||
@ -390,7 +390,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* with the positive or negative prefixes and suffixes applied. The infinity character is
|
||||
* determined by the {@link DecimalFormatSymbols} object.
|
||||
*
|
||||
* <a name="sci"><h4>Scientific Notation</h4></a>
|
||||
* <h4><a name="sci">Scientific Notation</a></h4>
|
||||
*
|
||||
* <p>Numbers in scientific notation are expressed as the product of a mantissa and a
|
||||
* power of ten, for example, 1234 can be expressed as 1.234 x 10<sup>3</sup>. The
|
||||
@ -440,7 +440,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
*
|
||||
* </ul>
|
||||
*
|
||||
* <a name="sigdig"><h4>Significant Digits</h4></a>
|
||||
* <h4><a name="sigdig">Significant Digits</a></h4>
|
||||
*
|
||||
* <code>DecimalFormat</code> has two ways of controlling how many digits are shows: (a)
|
||||
* significant digits counts, or (b) integer and fraction digit counts. Integer and
|
||||
@ -452,31 +452,31 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
*
|
||||
* <blockquote>
|
||||
* <table border=0 cellspacing=3 cellpadding=0>
|
||||
* <tr bgcolor="#ccccff">
|
||||
* <tr style="background-color: #ccccff">
|
||||
* <th align=left>Pattern
|
||||
* <th align=left>Minimum significant digits
|
||||
* <th align=left>Maximum significant digits
|
||||
* <th align=left>Number
|
||||
* <th align=left>Output of format()
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>@@@</code>
|
||||
* <td>3
|
||||
* <td>3
|
||||
* <td>12345
|
||||
* <td><code>12300</code>
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>@@@</code>
|
||||
* <td>3
|
||||
* <td>3
|
||||
* <td>0.12345
|
||||
* <td><code>0.123</code>
|
||||
* <tr valign=top>
|
||||
* <tr style="vertical-align: top;">
|
||||
* <td><code>@@##</code>
|
||||
* <td>2
|
||||
* <td>4
|
||||
* <td>3.14159
|
||||
* <td><code>3.142</code>
|
||||
* <tr valign=top bgcolor="#eeeeff">
|
||||
* <tr style="vertical-align: top; background-color: #eeeeff;">
|
||||
* <td><code>@@##</code>
|
||||
* <td>2
|
||||
* <td>4
|
||||
@ -1900,7 +1900,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
*
|
||||
* @param text the text to parse
|
||||
* @param pos input-output position; on input, the position within text to match; must
|
||||
* have 0 <= pos.getIndex() < text.length(); on output, the position after the last
|
||||
* have 0 <= pos.getIndex() < text.length(); on output, the position after the last
|
||||
* matched character. If the parse fails, the position in unchanged upon output.
|
||||
* @return a CurrencyAmount, or null upon failure
|
||||
* @stable ICU 49
|
||||
@ -3298,7 +3298,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
* symbol). For a permill, set the suffixes to have "\u2031" and the multiplier to be
|
||||
* 1000.
|
||||
*
|
||||
* <p>Examples: with 100, 1.23 -> "123", and "123" -> 1.23
|
||||
* <p>Examples: with 100, 1.23 -> "123", and "123" -> 1.23
|
||||
*
|
||||
* @return the multiplier
|
||||
* @stable ICU 2.0
|
||||
@ -3313,7 +3313,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
* symbol). For a permill, set the suffixes to have "\u2031" and the multiplier to be
|
||||
* 1000.
|
||||
*
|
||||
* <p>Examples: with 100, 1.23 -> "123", and "123" -> 1.23
|
||||
* <p>Examples: with 100, 1.23 -> "123", and "123" -> 1.23
|
||||
*
|
||||
* @param newValue the multiplier
|
||||
* @stable ICU 2.0
|
||||
@ -3347,7 +3347,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
*
|
||||
* @param newValue A positive rounding increment, or <code>null</code> or
|
||||
* <code>BigDecimal(0.0)</code> to use the default rounding increment.
|
||||
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
|
||||
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
|
||||
* @see #getRoundingIncrement
|
||||
* @see #getRoundingMode
|
||||
* @see #setRoundingMode
|
||||
@ -3367,7 +3367,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
*
|
||||
* @param newValue A positive rounding increment, or <code>null</code> or
|
||||
* <code>BigDecimal(0.0)</code> to use the default rounding increment.
|
||||
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
|
||||
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
|
||||
* @see #getRoundingIncrement
|
||||
* @see #getRoundingMode
|
||||
* @see #setRoundingMode
|
||||
@ -3392,7 +3392,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
*
|
||||
* @param newValue A positive rounding increment, or 0.0 to use the default
|
||||
* rounding increment.
|
||||
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
|
||||
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
|
||||
* @see #getRoundingIncrement
|
||||
* @see #getRoundingMode
|
||||
* @see #setRoundingMode
|
||||
@ -3474,7 +3474,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
*
|
||||
* @param width the width to which to pad the result of
|
||||
* <code>format()</code>, or zero to disable padding
|
||||
* @exception IllegalArgumentException if <code>width</code> is < 0
|
||||
* @exception IllegalArgumentException if <code>width</code> is < 0
|
||||
* @see #getFormatWidth
|
||||
* @see #getPadCharacter
|
||||
* @see #setPadCharacter
|
||||
@ -3587,7 +3587,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
|
||||
/**
|
||||
* {@icu} Sets whether or not scientific notation is used. When scientific notation is
|
||||
* used, the effective maximum number of integer digits is <= 8. If the maximum number
|
||||
* used, the effective maximum number of integer digits is <= 8. If the maximum number
|
||||
* of integer digits is set to more than 8, the effective maximum will be 1. This
|
||||
* allows this call to generate a 'default' scientific number format without
|
||||
* additional changes.
|
||||
@ -3623,9 +3623,9 @@ public class DecimalFormat extends NumberFormat {
|
||||
* {@icu} Sets the minimum exponent digits that will be shown. This has no effect
|
||||
* unless scientific notation is in use.
|
||||
*
|
||||
* @param minExpDig a value >= 1 indicating the fewest exponent
|
||||
* @param minExpDig a value >= 1 indicating the fewest exponent
|
||||
* digits that will be shown
|
||||
* @exception IllegalArgumentException if <code>minExpDig</code> < 1
|
||||
* @exception IllegalArgumentException if <code>minExpDig</code> < 1
|
||||
* @see #setScientificNotation
|
||||
* @see #isScientificNotation
|
||||
* @see #getMinimumExponentDigits
|
||||
@ -3789,8 +3789,8 @@ public class DecimalFormat extends NumberFormat {
|
||||
|
||||
/**
|
||||
* Returns the behavior of the decimal separator with integers. (The decimal
|
||||
* separator will always appear with decimals.) <p> Example: Decimal ON: 12345 ->
|
||||
* 12345.; OFF: 12345 -> 12345
|
||||
* separator will always appear with decimals.) <p> Example: Decimal ON: 12345 ->
|
||||
* 12345.; OFF: 12345 -> 12345
|
||||
*
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
@ -3826,12 +3826,12 @@ public class DecimalFormat extends NumberFormat {
|
||||
* will always appear with decimals.)
|
||||
*
|
||||
* <p>This only affects formatting, and only where there might be no digits after the
|
||||
* decimal point, e.g., if true, 3456.00 -> "3,456." if false, 3456.00 -> "3456" This
|
||||
* decimal point, e.g., if true, 3456.00 -> "3,456." if false, 3456.00 -> "3456" This
|
||||
* is independent of parsing. If you want parsing to stop at the decimal point, use
|
||||
* setParseIntegerOnly.
|
||||
*
|
||||
* <p>
|
||||
* Example: Decimal ON: 12345 -> 12345.; OFF: 12345 -> 12345
|
||||
* Example: Decimal ON: 12345 -> 12345.; OFF: 12345 -> 12345
|
||||
*
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
@ -4561,7 +4561,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
* typical end-user desire; use setMaximumInteger if you want to set a real value. For
|
||||
* negative numbers, use a second pattern, separated by a semicolon
|
||||
*
|
||||
* <p>Example "#,#00.0#" -> 1,234.56
|
||||
* <p>Example "#,#00.0#" -> 1,234.56
|
||||
*
|
||||
* <p>This means a minimum of 2 integer digits, 1 fraction digit, and a maximum of 2
|
||||
* fraction digits.
|
||||
@ -4587,7 +4587,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
* typical end-user desire; use setMaximumInteger if you want to set a real value. For
|
||||
* negative numbers, use a second pattern, separated by a semicolon
|
||||
*
|
||||
* <p>Example "#,#00.0#" -> 1,234.56
|
||||
* <p>Example "#,#00.0#" -> 1,234.56
|
||||
*
|
||||
* <p>This means a minimum of 2 integer digits, 1 fraction digit, and a maximum of 2
|
||||
* fraction digits.
|
||||
@ -5631,7 +5631,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
private boolean useSignificantDigits = false;
|
||||
|
||||
/**
|
||||
* The minimum number of significant digits to show. Must be >= 1 and <=
|
||||
* The minimum number of significant digits to show. Must be >= 1 and <=
|
||||
* maxSignificantDigits. Ignored unless useSignificantDigits == true.
|
||||
*
|
||||
* @serial
|
||||
@ -5640,7 +5640,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
private int minSignificantDigits = 1;
|
||||
|
||||
/**
|
||||
* The maximum number of significant digits to show. Must be >=
|
||||
* The maximum number of significant digits to show. Must be >=
|
||||
* minSignficantDigits. Ignored unless useSignificantDigits == true.
|
||||
*
|
||||
* @serial
|
||||
@ -5733,7 +5733,7 @@ public class DecimalFormat extends NumberFormat {
|
||||
private MathContext mathContext = new MathContext(0, MathContext.PLAIN);
|
||||
|
||||
/**
|
||||
* The padded format width, or zero if there is no padding. Must be >= 0. Default
|
||||
* The padded format width, or zero if there is no padding. Must be >= 0. Default
|
||||
* value zero.
|
||||
*
|
||||
* @serial
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2014, International Business Machines Corporation and
|
||||
* Copyright (C) 2014-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -42,7 +42,7 @@ public abstract class FilteredBreakIteratorBuilder {
|
||||
* Construct a FilteredBreakIteratorBuilder based on rules in a locale.
|
||||
* The rules are taken from CLDR exception data for the locale,
|
||||
* see http://www.unicode.org/reports/tr35/tr35-general.html#Segmentation_Exceptions
|
||||
* This is the equivalent of calling createInstance(UErrorCode&)
|
||||
* This is the equivalent of calling createInstance(UErrorCode&)
|
||||
* and then repeatedly calling addNoBreakAfter(...) with the contents
|
||||
* of the CLDR exception data.
|
||||
* @param where the locale.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2003-2014, International Business Machines Corporation and *
|
||||
* Copyright (C) 2003-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -879,7 +879,7 @@ public abstract class IDNA {
|
||||
* - IDNA.USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
|
||||
* If this option is set and the input does not satisfy STD3 rules,
|
||||
* the operation will fail with ParseException
|
||||
* @return 0 if the strings are equal, > 0 if s1 > s2 and < 0 if s1 < s2
|
||||
* @return 0 if the strings are equal, > 0 if s1 > s2 and < 0 if s1 < s2
|
||||
* @deprecated ICU 55 Use UTS 46 instead via {@link #getUTS46Instance(int)}.
|
||||
*/
|
||||
@Deprecated
|
||||
@ -915,7 +915,7 @@ public abstract class IDNA {
|
||||
* - IDNA.USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
|
||||
* If this option is set and the input does not satisfy STD3 rules,
|
||||
* the operation will fail with ParseException
|
||||
* @return 0 if the strings are equal, > 0 if s1 > s2 and < 0 if s1 < s2
|
||||
* @return 0 if the strings are equal, > 0 if s1 > s2 and < 0 if s1 < s2
|
||||
* @deprecated ICU 55 Use UTS 46 instead via {@link #getUTS46Instance(int)}.
|
||||
*/
|
||||
@Deprecated
|
||||
@ -949,7 +949,7 @@ public abstract class IDNA {
|
||||
* - IDNA.USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
|
||||
* If this option is set and the input does not satisfy STD3 rules,
|
||||
* the operation will fail with ParseException
|
||||
* @return 0 if the strings are equal, > 0 if i1 > i2 and < 0 if i1 < i2
|
||||
* @return 0 if the strings are equal, > 0 if i1 > i2 and < 0 if i1 < i2
|
||||
* @deprecated ICU 55 Use UTS 46 instead via {@link #getUTS46Instance(int)}.
|
||||
*/
|
||||
@Deprecated
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
***************************************************************************
|
||||
* Copyright (C) 2008-2015, Google, International Business Machines Corporation
|
||||
* Copyright (C) 2008-2016, Google, International Business Machines Corporation
|
||||
* and others. All Rights Reserved.
|
||||
***************************************************************************
|
||||
*/
|
||||
@ -285,7 +285,7 @@ public class IdentifierInfo {
|
||||
* to be of a script that already appears elsewhere in the identifier
|
||||
* when possible.
|
||||
* The alternate script computation may not be perfect. The distinction
|
||||
* between 0, 1 and > 1 scripts will be valid, however.
|
||||
* between 0, 1 and > 1 scripts will be valid, however.
|
||||
* @return the number of scripts.
|
||||
* @internal
|
||||
* @deprecated This API is ICU internal only.
|
||||
|
@ -373,7 +373,7 @@ public abstract class LocaleDisplayNames {
|
||||
* Return a comparator that compares the locale names for the display locale or the in-self names,
|
||||
* depending on an input parameter.
|
||||
* @param inSelf if true, compares the nameInSelf, otherwise the nameInDisplayLocale
|
||||
* @param comparator (meant for strings, but because Java Collator doesn't have <String>...)
|
||||
* @param comparator (meant for strings, but because Java Collator doesn't have <String>...)
|
||||
* @return UiListItem comparator
|
||||
* @draft ICU 55
|
||||
* @provisional This API might change or be removed in a future release.
|
||||
|
@ -297,7 +297,7 @@ public class MeasureFormat extends UFormat {
|
||||
* <code>formatMeasures</code> method is preferred over calling
|
||||
* this method as they give better performance.
|
||||
*
|
||||
* @param obj must be a Collection<? extends Measure>, Measure[], or Measure object.
|
||||
* @param obj must be a Collection<? extends Measure>, Measure[], or Measure object.
|
||||
* @param toAppendTo Formatted string appended here.
|
||||
* @param pos Identifies a field in the formatted text.
|
||||
* @see java.text.Format#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)
|
||||
|
@ -96,7 +96,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* A numbered pattern argument is matched with a map key that contains that number
|
||||
* as an ASCII-decimal-digit string (without leading zero).
|
||||
*
|
||||
* <h4><a name="patterns">Patterns and Their Interpretation</a></h4>
|
||||
* <h3><a name="patterns">Patterns and Their Interpretation</a></h3>
|
||||
*
|
||||
* <code>MessageFormat</code> uses patterns of the following form:
|
||||
* <blockquote><pre>
|
||||
@ -152,7 +152,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* shown in the table are illegal. Any <code>argStyleText</code> must
|
||||
* be a valid pattern string for the Format subclass used.
|
||||
*
|
||||
* <p><table border=1>
|
||||
* <table border=1>
|
||||
* <tr>
|
||||
* <th>argType
|
||||
* <th>argStyle
|
||||
@ -194,7 +194,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <td><code>DateFormat.getDateInstance(DateFormat.FULL, getLocale())</code>
|
||||
* <tr>
|
||||
* <td><i>argStyleText</i>
|
||||
* <td><code>new SimpleDateFormat(argStyleText, getLocale())
|
||||
* <td><code>new SimpleDateFormat(argStyleText, getLocale())</code>
|
||||
* <tr>
|
||||
* <td rowspan=6><code>time</code>
|
||||
* <td><i>(none)</i>
|
||||
@ -213,24 +213,23 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <td><code>DateFormat.getTimeInstance(DateFormat.FULL, getLocale())</code>
|
||||
* <tr>
|
||||
* <td><i>argStyleText</i>
|
||||
* <td><code>new SimpleDateFormat(argStyleText, getLocale())
|
||||
* <td><code>new SimpleDateFormat(argStyleText, getLocale())</code>
|
||||
* <tr>
|
||||
* <td><code>spellout</code>
|
||||
* <td><i>argStyleText (optional)</i>
|
||||
* <td><code>new RuleBasedNumberFormat(getLocale(), RuleBasedNumberFormat.SPELLOUT)
|
||||
* <br/> .setDefaultRuleset(argStyleText);</code>
|
||||
* <br> .setDefaultRuleset(argStyleText);</code>
|
||||
* <tr>
|
||||
* <td><code>ordinal</code>
|
||||
* <td><i>argStyleText (optional)</i>
|
||||
* <td><code>new RuleBasedNumberFormat(getLocale(), RuleBasedNumberFormat.ORDINAL)
|
||||
* <br/> .setDefaultRuleset(argStyleText);</code>
|
||||
* <br> .setDefaultRuleset(argStyleText);</code>
|
||||
* <tr>
|
||||
* <td><code>duration</code>
|
||||
* <td><i>argStyleText (optional)</i>
|
||||
* <td><code>new RuleBasedNumberFormat(getLocale(), RuleBasedNumberFormat.DURATION)
|
||||
* <br/> .setDefaultRuleset(argStyleText);</code>
|
||||
* <br> .setDefaultRuleset(argStyleText);</code>
|
||||
* </table>
|
||||
* <p>
|
||||
*
|
||||
* <h4><a name="diffsjdk">Differences from java.text.MessageFormat</a></h4>
|
||||
*
|
||||
@ -878,7 +877,7 @@ public class MessageFormat extends UFormat {
|
||||
* argument is <i>unavailable</i> if <code>arguments</code> is
|
||||
* <code>null</code> or has fewer than argumentIndex+1 elements. When
|
||||
* an argument is unavailable no substitution is performed.
|
||||
* <p>
|
||||
*
|
||||
* <table border=1>
|
||||
* <tr>
|
||||
* <th>argType or Format
|
||||
@ -1048,7 +1047,7 @@ public class MessageFormat extends UFormat {
|
||||
* @throws IllegalArgumentException if an argument in
|
||||
* <code>arguments</code> is not of the type
|
||||
* expected by the format element(s) that use it
|
||||
* @throws IllegalArgumentException if <code>arguments<code> is
|
||||
* @throws IllegalArgumentException if <code>arguments</code> is
|
||||
* an array of Object and this format uses named arguments
|
||||
* @stable ICU 3.0
|
||||
*/
|
||||
|
@ -63,13 +63,14 @@ import com.ibm.icu.util.ICUCloneNotSupportedException;
|
||||
* <li>Literal output text is not represented directly by "parts" but accessed
|
||||
* between parts of a message, from one part's getLimit() to the next part's getIndex().
|
||||
* <li><code>ARG_START.CHOICE</code> stands for an ARG_START Part with ArgType CHOICE.
|
||||
* <li>In the choiceStyle, the ARG_SELECTOR has the '<', the '#' or
|
||||
* <li>In the choiceStyle, the ARG_SELECTOR has the '<', the '#' or
|
||||
* the less-than-or-equal-to sign (U+2264).
|
||||
* <li>In the pluralStyle, the first, optional numeric Part has the "offset:" value.
|
||||
* The optional numeric Part between each (ARG_SELECTOR, message) pair
|
||||
* is the value of an explicit-number selector like "=2",
|
||||
* otherwise the selector is a non-numeric identifier.
|
||||
* <li>The REPLACE_NUMBER Part can occur only in an immediate sub-message of the pluralStyle.
|
||||
* </ul>
|
||||
* <p>
|
||||
* This class is not intended for public subclassing.
|
||||
*
|
||||
@ -87,7 +88,7 @@ public final class MessagePattern implements Cloneable, Freezable<MessagePattern
|
||||
* <p>
|
||||
* The following table shows examples of desired MessageFormat.format() output
|
||||
* with the pattern strings that yield that output.
|
||||
* <p>
|
||||
*
|
||||
* <table>
|
||||
* <tr>
|
||||
* <th>Desired output</th>
|
||||
@ -528,7 +529,7 @@ public final class MessagePattern implements Cloneable, Freezable<MessagePattern
|
||||
* Returns the index of the ARG|MSG_LIMIT part corresponding to the ARG|MSG_START at start.
|
||||
* @param start The index of some Part data (0..countParts()-1);
|
||||
* this Part should be of Type ARG_START or MSG_START.
|
||||
* @return The first i>start where getPart(i).getType()==ARG|MSG_LIMIT at the same nesting level,
|
||||
* @return The first i>start where getPart(i).getType()==ARG|MSG_LIMIT at the same nesting level,
|
||||
* or start itself if getPartType(msgStart)!=ARG|MSG_START.
|
||||
* @throws IndexOutOfBoundsException if start is outside the (0..countParts()-1) range
|
||||
* @stable ICU 4.8
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2000-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 2000-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -523,7 +523,7 @@ public final class Normalizer implements Cloneable {
|
||||
* The most significant bits, however, are shifted down and passed on
|
||||
* to the normalization implementation.
|
||||
* (That is, from compare(..., options, ...),
|
||||
* options>>COMPARE_NORM_OPTIONS_SHIFT will be passed on to the
|
||||
* options>>COMPARE_NORM_OPTIONS_SHIFT will be passed on to the
|
||||
* internal normalization functions.)
|
||||
*
|
||||
* @see #compare
|
||||
@ -1134,7 +1134,7 @@ public final class Normalizer implements Cloneable {
|
||||
* If set, then the following case folding options are used.
|
||||
*
|
||||
*
|
||||
* @return <0 or 0 or >0 as usual for string comparisons
|
||||
* @return <0 or 0 or >0 as usual for string comparisons
|
||||
*
|
||||
* @see #normalize
|
||||
* @see #FCD
|
||||
@ -1195,7 +1195,7 @@ public final class Normalizer implements Cloneable {
|
||||
* instead of case-sensitively.
|
||||
* If set, then the following case folding options are used.
|
||||
*
|
||||
* @return <0 or 0 or >0 as usual for string comparisons
|
||||
* @return <0 or 0 or >0 as usual for string comparisons
|
||||
*
|
||||
* @see #normalize
|
||||
* @see #FCD
|
||||
@ -1232,7 +1232,7 @@ public final class Normalizer implements Cloneable {
|
||||
* instead of case-sensitively.
|
||||
* If set, then the following case folding options are used.
|
||||
*
|
||||
* @return <0 or 0 or >0 as usual for string comparisons
|
||||
* @return <0 or 0 or >0 as usual for string comparisons
|
||||
*
|
||||
* @see #normalize
|
||||
* @see #FCD
|
||||
@ -1726,11 +1726,11 @@ public final class Normalizer implements Cloneable {
|
||||
* that is being performed , but they control whether
|
||||
* certain optional portions of the operation are done.
|
||||
* Currently the only available option is:
|
||||
* <p>
|
||||
*
|
||||
* <ul>
|
||||
* <li>{@link #UNICODE_3_2} - Use Normalization conforming to Unicode version 3.2.
|
||||
* </ul>
|
||||
* <p>
|
||||
*
|
||||
* @param option the option whose value is to be set.
|
||||
* @param value the new setting for the option. Use <tt>true</tt> to
|
||||
* turn the option on and <tt>false</tt> to turn it off.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2009-2015, International Business Machines
|
||||
* Copyright (C) 2009-2016, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -314,7 +314,7 @@ public abstract class Normalizer2 {
|
||||
public String getRawDecomposition(int c) { return null; }
|
||||
|
||||
/**
|
||||
* Performs pairwise composition of a & b and returns the composite if there is one.
|
||||
* Performs pairwise composition of a & b and returns the composite if there is one.
|
||||
*
|
||||
* <p>Returns a composite code point c only if c has a two-way mapping to a+b.
|
||||
* In standard Unicode normalization, this means that
|
||||
|
@ -57,7 +57,7 @@ import com.ibm.icu.util.UResourceBundle;
|
||||
* <blockquote>
|
||||
* <pre>
|
||||
* NumberFormat nf = NumberFormat.getInstance();
|
||||
* for (int i = 0; i < a.length; ++i) {
|
||||
* for (int i = 0; i < a.length; ++i) {
|
||||
* output.println(nf.format(myNumber[i]) + "; ");
|
||||
* }
|
||||
* </pre>
|
||||
@ -116,8 +116,8 @@ import com.ibm.icu.util.UResourceBundle;
|
||||
* the detailed description for each these control methods,
|
||||
* <p>
|
||||
* setParseIntegerOnly : only affects parsing, e.g.
|
||||
* if true, "3456.78" -> 3456 (and leaves the parse position just after '6')
|
||||
* if false, "3456.78" -> 3456.78 (and leaves the parse position just after '8')
|
||||
* if true, "3456.78" -> 3456 (and leaves the parse position just after '6')
|
||||
* if false, "3456.78" -> 3456.78 (and leaves the parse position just after '8')
|
||||
* This is independent of formatting. If you want to not show a decimal point
|
||||
* where there might be no digits after the decimal point, use
|
||||
* setDecimalSeparatorAlwaysShown on DecimalFormat.
|
||||
@ -148,12 +148,11 @@ import com.ibm.icu.util.UResourceBundle;
|
||||
* numbers: "(12)" for -12.
|
||||
* </ol>
|
||||
*
|
||||
* <h4>Synchronization</h4>
|
||||
* <h3>Synchronization</h3>
|
||||
* <p>
|
||||
* Number formats are generally not synchronized. It is recommended to create
|
||||
* separate format instances for each thread. If multiple threads access a format
|
||||
* concurrently, it must be synchronized externally.
|
||||
* <p>
|
||||
*
|
||||
* <h4>DecimalFormat</h4>
|
||||
* <p>DecimalFormat is the concrete implementation of NumberFormat, and the
|
||||
@ -455,7 +454,7 @@ public abstract class NumberFormat extends UFormat {
|
||||
*
|
||||
* @param text the text to parse
|
||||
* @param pos input-output position; on input, the position within
|
||||
* text to match; must have 0 <= pos.getIndex() < text.length();
|
||||
* text to match; must have 0 <= pos.getIndex() < text.length();
|
||||
* on output, the position after the last matched character. If
|
||||
* the parse fails, the position in unchanged upon output.
|
||||
* @return a CurrencyAmount, or null upon failure
|
||||
@ -1122,7 +1121,7 @@ public abstract class NumberFormat extends UFormat {
|
||||
|
||||
/**
|
||||
* Sets the maximum number of digits allowed in the integer portion of a
|
||||
* number. This must be >= minimumIntegerDigits. If the
|
||||
* number. This must be >= minimumIntegerDigits. If the
|
||||
* new value for maximumIntegerDigits is less than the current value
|
||||
* of minimumIntegerDigits, then minimumIntegerDigits will also be set to
|
||||
* the new value.
|
||||
@ -1154,7 +1153,7 @@ public abstract class NumberFormat extends UFormat {
|
||||
|
||||
/**
|
||||
* Sets the minimum number of digits allowed in the integer portion of a
|
||||
* number. This must be <= maximumIntegerDigits. If the
|
||||
* number. This must be <= maximumIntegerDigits. If the
|
||||
* new value for minimumIntegerDigits is more than the current value
|
||||
* of maximumIntegerDigits, then maximumIntegerDigits will also be set to
|
||||
* the new value.
|
||||
@ -1186,7 +1185,7 @@ public abstract class NumberFormat extends UFormat {
|
||||
|
||||
/**
|
||||
* Sets the maximum number of digits allowed in the fraction portion of a
|
||||
* number. This must be >= minimumFractionDigits. If the
|
||||
* number. This must be >= minimumFractionDigits. If the
|
||||
* new value for maximumFractionDigits is less than the current value
|
||||
* of minimumFractionDigits, then minimumFractionDigits will also be set to
|
||||
* the new value.
|
||||
@ -1218,7 +1217,7 @@ public abstract class NumberFormat extends UFormat {
|
||||
|
||||
/**
|
||||
* Sets the minimum number of digits allowed in the fraction portion of a
|
||||
* number. This must be <= maximumFractionDigits. If the
|
||||
* number. This must be <= maximumFractionDigits. If the
|
||||
* new value for minimumFractionDigits exceeds the current value
|
||||
* of maximumFractionDigits, then maximumFractionDigits will also be set to
|
||||
* the new value.
|
||||
|
@ -21,15 +21,14 @@ import com.ibm.icu.util.ULocale;
|
||||
import com.ibm.icu.util.ULocale.Category;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* <code>PluralFormat</code> supports the creation of internationalized
|
||||
* messages with plural inflection. It is based on <i>plural
|
||||
* selection</i>, i.e. the caller specifies messages for each
|
||||
* plural case that can appear in the user's language and the
|
||||
* <code>PluralFormat</code> selects the appropriate message based on
|
||||
* the number.
|
||||
* </p>
|
||||
* <h4>The Problem of Plural Forms in Internationalized Messages</h4>
|
||||
*
|
||||
* <h3>The Problem of Plural Forms in Internationalized Messages</h3>
|
||||
* <p>
|
||||
* Different languages have different ways to inflect
|
||||
* plurals. Creating internationalized messages that include plural
|
||||
@ -42,7 +41,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* applies to infinitely many intervals (e.g., the paucal case applies to
|
||||
* numbers ending with 2, 3, or 4 except those ending with 12, 13, or
|
||||
* 14). Thus <code>ChoiceFormat</code> is not adequate.
|
||||
* </p><p>
|
||||
* <p>
|
||||
* <code>PluralFormat</code> deals with this by breaking the problem
|
||||
* into two parts:
|
||||
* <ul>
|
||||
@ -58,12 +57,12 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* rules, see the CLDR <i>Language Plural Rules</i> page at
|
||||
* http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html
|
||||
* </ul>
|
||||
* </p>
|
||||
*
|
||||
* <h4>Usage of <code>PluralFormat</code></h4>
|
||||
* <p>Note: Typically, plural formatting is done via <code>MessageFormat</code>
|
||||
* with a <code>plural</code> argument type,
|
||||
* rather than using a stand-alone <code>PluralFormat</code>.
|
||||
* </p><p>
|
||||
* <p>
|
||||
* This discussion assumes that you use <code>PluralFormat</code> with
|
||||
* a predefined set of plural rules. You can create one using one of
|
||||
* the constructors that takes a <code>ULocale</code> object. To
|
||||
@ -72,7 +71,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <code>applyPattern()</code> method. The <code>format()</code>
|
||||
* method takes a number object and selects the message of the
|
||||
* matching plural case. This message will be returned.
|
||||
* </p>
|
||||
*
|
||||
* <h5>Patterns and Their Interpretation</h5>
|
||||
* <p>
|
||||
* The pattern text defines the message output for each plural case of the
|
||||
@ -88,21 +87,20 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* Pattern_White_Space between syntax elements is ignored, except
|
||||
* between the {curly braces} and their sub-message,
|
||||
* and between the '=' and the number of an explicitValue.
|
||||
*
|
||||
* </p><p>
|
||||
* <p>
|
||||
* There are 6 predefined case keywords in CLDR/ICU - 'zero', 'one', 'two', 'few', 'many' and
|
||||
* 'other'. You always have to define a message text for the default plural case
|
||||
* "<code>other</code>" which is contained in every rule set.
|
||||
* If you do not specify a message text for a particular plural case, the
|
||||
* message text of the plural case "<code>other</code>" gets assigned to this
|
||||
* plural case.
|
||||
* </p><p>
|
||||
* <p>
|
||||
* When formatting, the input number is first matched against the explicitValue clauses.
|
||||
* If there is no exact-number match, then a keyword is selected by calling
|
||||
* the <code>PluralRules</code> with the input number <em>minus the offset</em>.
|
||||
* (The offset defaults to 0 if it is omitted from the pattern string.)
|
||||
* If there is no clause with that keyword, then the "other" clauses is returned.
|
||||
* </p><p>
|
||||
* <p>
|
||||
* An unquoted pound sign (<code>#</code>) in the selected sub-message
|
||||
* itself (i.e., outside of arguments nested in the sub-message)
|
||||
* is replaced by the input number minus the offset.
|
||||
@ -113,8 +111,8 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <strong>Note:</strong> That argument is formatting without subtracting the offset!
|
||||
* If you need a custom format and have a non-zero offset, then you need to pass the
|
||||
* number-minus-offset value as a separate parameter.
|
||||
* </p>
|
||||
* For a usage example, see the {@link MessageFormat} class documentation.
|
||||
*
|
||||
* <p>For a usage example, see the {@link MessageFormat} class documentation.
|
||||
*
|
||||
* <h4>Defining Custom Plural Rules</h4>
|
||||
* <p>If you need to use <code>PluralFormat</code> with custom rules, you can
|
||||
@ -122,10 +120,9 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <code>PluralFormat</code>'s constructor. If you also specify a locale in this
|
||||
* constructor, this locale will be used to format the number in the message
|
||||
* texts.
|
||||
* </p><p>
|
||||
* <p>
|
||||
* For more information about <code>PluralRules</code>, see
|
||||
* {@link PluralRules}.
|
||||
* </p>
|
||||
*
|
||||
* @author tschumann (Tim Schumann)
|
||||
* @stable ICU 3.8
|
||||
|
@ -248,7 +248,7 @@ public class PluralRules implements Serializable {
|
||||
|
||||
/**
|
||||
* Returns the 'functionally equivalent' locale with respect to plural rules. Calling PluralRules.forLocale with
|
||||
* the functionally equivalent locale, and with the provided locale, returns rules that behave the same. <br/>
|
||||
* the functionally equivalent locale, and with the provided locale, returns rules that behave the same. <br>
|
||||
* All locales with the same functionally equivalent locale have plural rules that behave the same. This is not
|
||||
* exaustive; there may be other locales whose plural rules behave the same that do not have the same equivalent
|
||||
* locale.
|
||||
@ -256,7 +256,7 @@ public class PluralRules implements Serializable {
|
||||
* @param locale
|
||||
* the locale to check
|
||||
* @param isAvailable
|
||||
* if not null and of length > 0, this will hold 'true' at index 0 if locale is directly defined
|
||||
* if not null and of length > 0, this will hold 'true' at index 0 if locale is directly defined
|
||||
* (without fallback) as having plural rules
|
||||
* @return the functionally-equivalent locale
|
||||
* @internal
|
||||
@ -2141,14 +2141,14 @@ public class PluralRules implements Serializable {
|
||||
* Returns the 'functionally equivalent' locale with respect to
|
||||
* plural rules. Calling PluralRules.forLocale with the functionally equivalent
|
||||
* locale, and with the provided locale, returns rules that behave the same.
|
||||
* <br/>
|
||||
* <br>
|
||||
* All locales with the same functionally equivalent locale have
|
||||
* plural rules that behave the same. This is not exaustive;
|
||||
* there may be other locales whose plural rules behave the same
|
||||
* that do not have the same equivalent locale.
|
||||
*
|
||||
* @param locale the locale to check
|
||||
* @param isAvailable if not null and of length > 0, this will hold 'true' at
|
||||
* @param isAvailable if not null and of length > 0, this will hold 'true' at
|
||||
* index 0 if locale is directly defined (without fallback) as having plural rules
|
||||
* @return the functionally-equivalent locale
|
||||
* @draft ICU 4.2 (retain)
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2004, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -96,9 +96,9 @@ public interface Replaceable {
|
||||
* <code>dstStart + (srcLimit-srcStart) - 1</code>.
|
||||
*
|
||||
* @param srcStart the beginning index to copy, inclusive; <code>0
|
||||
* <= start <= limit</code>.
|
||||
* <= start <= limit</code>.
|
||||
* @param srcLimit the ending index to copy, exclusive;
|
||||
* <code>start <= limit <= length()</code>.
|
||||
* <code>start <= limit <= length()</code>.
|
||||
* @param dst the destination array.
|
||||
* @param dstStart the start offset in the destination array.
|
||||
* @stable ICU 2.0
|
||||
@ -115,10 +115,10 @@ public interface Replaceable {
|
||||
* check for initial and trailing identical characters, and make a
|
||||
* smaller replacement if possible. This will preserve as much
|
||||
* metadata as possible.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= length()</code>.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= length()</code>.
|
||||
* @param text the text to replace characters <code>start</code>
|
||||
* to <code>limit - 1</code>
|
||||
* @stable ICU 2.0
|
||||
@ -135,14 +135,14 @@ public interface Replaceable {
|
||||
* check for initial and trailing identical characters, and make a
|
||||
* smaller replacement if possible. This will preserve as much
|
||||
* metadata as possible.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= length()</code>.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= length()</code>.
|
||||
* @param chars the text to replace characters <code>start</code>
|
||||
* to <code>limit - 1</code>
|
||||
* @param charsStart the beginning index into <code>chars</code>,
|
||||
* inclusive; <code>0 <= start <= limit</code>.
|
||||
* inclusive; <code>0 <= start <= limit</code>.
|
||||
* @param charsLen the number of characters of <code>chars</code>.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
@ -162,19 +162,19 @@ public interface Replaceable {
|
||||
* getChars(start, limit, text, 0);
|
||||
* replace(dest, dest, text, 0, limit - start);</pre>
|
||||
*
|
||||
* @param start the beginning index, inclusive; <code>0 <= start <=
|
||||
* @param start the beginning index, inclusive; <code>0 <= start <=
|
||||
* limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit <=
|
||||
* @param limit the ending index, exclusive; <code>start <= limit <=
|
||||
* length()</code>.
|
||||
* @param dest the destination index. The characters from
|
||||
* <code>start..limit-1</code> will be copied to <code>dest</code>.
|
||||
* Implementations of this method may assume that <code>dest <= start ||
|
||||
* dest >= limit</code>.
|
||||
* Implementations of this method may assume that <code>dest <= start ||
|
||||
* dest >= limit</code>.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
void copy(int start, int limit, int dest);
|
||||
|
||||
/**
|
||||
/**R
|
||||
* Returns true if this object contains metadata. If a
|
||||
* Replaceable object has metadata, calls to the Replaceable API
|
||||
* must be made so as to preserve metadata. If it does not, calls
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2009, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -116,9 +116,9 @@ public class ReplaceableString implements Replaceable {
|
||||
* <code>dstStart + (srcLimit-srcStart) - 1</code>.
|
||||
*
|
||||
* @param srcStart the beginning index to copy, inclusive; <code>0
|
||||
* <= start <= limit</code>.
|
||||
* <= start <= limit</code>.
|
||||
* @param srcLimit the ending index to copy, exclusive;
|
||||
* <code>start <= limit <= length()</code>.
|
||||
* <code>start <= limit <= length()</code>.
|
||||
* @param dst the destination array.
|
||||
* @param dstStart the start offset in the destination array.
|
||||
* @stable ICU 2.0
|
||||
@ -132,10 +132,10 @@ public class ReplaceableString implements Replaceable {
|
||||
/**
|
||||
* Replace zero or more characters with new characters.
|
||||
* <code>Replaceable</code> API.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= length()</code>.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= length()</code>.
|
||||
* @param text new text to replace characters <code>start</code> to
|
||||
* <code>limit - 1</code>
|
||||
* @stable ICU 2.0
|
||||
@ -146,14 +146,14 @@ public class ReplaceableString implements Replaceable {
|
||||
|
||||
/**
|
||||
* Replace a substring of this object with the given text.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= length()</code>.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= length()</code>.
|
||||
* @param chars the text to replace characters <code>start</code>
|
||||
* to <code>limit - 1</code>
|
||||
* @param charsStart the beginning index into <code>chars</code>,
|
||||
* inclusive; <code>0 <= start <= limit</code>.
|
||||
* inclusive; <code>0 <= start <= limit</code>.
|
||||
* @param charsLen the number of characters of <code>chars</code>.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
@ -168,14 +168,14 @@ public class ReplaceableString implements Replaceable {
|
||||
* information. This method is used to duplicate or reorder substrings.
|
||||
* The destination index must not overlap the source range.
|
||||
*
|
||||
* @param start the beginning index, inclusive; <code>0 <= start <=
|
||||
* @param start the beginning index, inclusive; <code>0 <= start <=
|
||||
* limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit <=
|
||||
* @param limit the ending index, exclusive; <code>start <= limit <=
|
||||
* length()</code>.
|
||||
* @param dest the destination index. The characters from
|
||||
* <code>start..limit-1</code> will be copied to <code>dest</code>.
|
||||
* Implementations of this method may assume that <code>dest <= start ||
|
||||
* dest >= limit</code>.
|
||||
* Implementations of this method may assume that <code>dest <= start ||
|
||||
* dest >= limit</code>.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public void copy(int start, int limit, int dest) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2005-2015 International Business Machines Corporation and
|
||||
* Copyright (C) 2005-2016 International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -885,7 +885,7 @@ public class RuleBasedBreakIterator extends BreakIterator {
|
||||
}
|
||||
|
||||
/**
|
||||
* Throw IllegalArgumentException unless begin <= offset < end.
|
||||
* Throw IllegalArgumentException unless begin <= offset < end.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
protected static final void checkOffset(int offset, CharacterIterator text) {
|
||||
@ -976,7 +976,7 @@ public class RuleBasedBreakIterator extends BreakIterator {
|
||||
* that contain alphabetic letters, "words" that appear to be numbers,
|
||||
* punctuation and spaces, words containing ideographic characters, and
|
||||
* more. Call <code>getRuleStatus</code> after obtaining a boundary
|
||||
* position from <code>next()<code>, <code>previous()</code>, or
|
||||
* position from <code>next()</code>, <code>previous()</code>, or
|
||||
* any other break iterator functions that returns a boundary position.
|
||||
* <p>
|
||||
* @return the status from the break rule that determined the most recently
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -120,34 +120,34 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
*
|
||||
* <table border="0" width="630">
|
||||
* <tr>
|
||||
* <td width="21"></td>
|
||||
* <td width="257" valign="top"><strong><< thousand >></strong></td>
|
||||
* <td width="340" valign="top">[the rule whose base value is 1,000 is applicable to 25,340]</td>
|
||||
* <td style="width: 21;"></td>
|
||||
* <td style="width: 257; vertical-align: top;"><strong><< thousand >></strong></td>
|
||||
* <td style="width: 340; vertical-align: top;">[the rule whose base value is 1,000 is applicable to 25,340]</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="21"></td>
|
||||
* <td width="257" valign="top"><strong>twenty->></strong> thousand >></td>
|
||||
* <td width="340" valign="top">[25,340 over 1,000 is 25. The rule for 20 applies.]</td>
|
||||
* <td style="width: 21;"></td>
|
||||
* <td style="width: 257; vertical-align: top;"><strong>twenty->></strong> thousand >></td>
|
||||
* <td style="width: 340; vertical-align: top;">[25,340 over 1,000 is 25. The rule for 20 applies.]</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="21"></td>
|
||||
* <td width="257" valign="top">twenty-<strong>five</strong> thousand >></td>
|
||||
* <td width="340" valign="top">[25 mod 10 is 5. The rule for 5 is "five."</td>
|
||||
* <td style="width: 21;"></td>
|
||||
* <td style="width: 257; vertical-align: top;">twenty-<strong>five</strong> thousand >></td>
|
||||
* <td style="width: 340; vertical-align: top;">[25 mod 10 is 5. The rule for 5 is "five."</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="21"></td>
|
||||
* <td width="257" valign="top">twenty-five thousand <strong><< hundred >></strong></td>
|
||||
* <td width="340" valign="top">[25,340 mod 1,000 is 340. The rule for 100 applies.]</td>
|
||||
* <td style="width: 21;"></td>
|
||||
* <td style="width: 257; vertical-align: top;">twenty-five thousand <strong><< hundred >></strong></td>
|
||||
* <td style="width: 340; vertical-align: top;">[25,340 mod 1,000 is 340. The rule for 100 applies.]</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="21"></td>
|
||||
* <td width="257" valign="top">twenty-five thousand <strong>three</strong> hundred >></td>
|
||||
* <td width="340" valign="top">[340 over 100 is 3. The rule for 3 is "three."]</td>
|
||||
* <td style="width: 21;"></td>
|
||||
* <td style="width: 257; vertical-align: top;">twenty-five thousand <strong>three</strong> hundred >></td>
|
||||
* <td style="width: 340; vertical-align: top;">[340 over 100 is 3. The rule for 3 is "three."]</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="21"></td>
|
||||
* <td width="257" valign="top">twenty-five thousand three hundred <strong>forty</strong></td>
|
||||
* <td width="340" valign="top">[340 mod 100 is 40. The rule for 40 applies. Since 40 divides
|
||||
* <td style="width: 21;"></td>
|
||||
* <td style="width: 257; vertical-align: top;">twenty-five thousand three hundred <strong>forty</strong></td>
|
||||
* <td style="width: 340; vertical-align: top;">[340 mod 100 is 40. The rule for 40 applies. Since 40 divides
|
||||
* evenly by 10, the hyphen and substitution in the brackets are omitted.]</td>
|
||||
* </tr>
|
||||
* </table>
|
||||
@ -209,22 +209,22 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
*
|
||||
* <table border="0" width="100%">
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top"><em>bv</em>:</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;"><em>bv</em>:</td>
|
||||
* <td valign="top"><em>bv</em> specifies the rule's base value. <em>bv</em> is a decimal
|
||||
* number expressed using ASCII digits. <em>bv</em> may contain spaces, period, and commas,
|
||||
* which are ignored. The rule's divisor is the highest power of 10 less than or equal to
|
||||
* the base value.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top"><em>bv</em>/<em>rad</em>:</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;"><em>bv</em>/<em>rad</em>:</td>
|
||||
* <td valign="top"><em>bv</em> specifies the rule's base value. The rule's divisor is the
|
||||
* highest power of <em>rad</em> less than or equal to the base value.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top"><em>bv</em>>:</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;"><em>bv</em>>:</td>
|
||||
* <td valign="top"><em>bv</em> specifies the rule's base value. To calculate the divisor,
|
||||
* let the radix be 10, and the exponent be the highest exponent of the radix that yields a
|
||||
* result less than or equal to the base value. Every > character after the base value
|
||||
@ -232,8 +232,8 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
* raised to the power of the exponent; otherwise, the divisor is 1.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top"><em>bv</em>/<em>rad</em>>:</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;"><em>bv</em>/<em>rad</em>>:</td>
|
||||
* <td valign="top"><em>bv</em> specifies the rule's base value. To calculate the divisor,
|
||||
* let the radix be <em>rad</em>, and the exponent be the highest exponent of the radix that
|
||||
* yields a result less than or equal to the base value. Every > character after the radix
|
||||
@ -241,13 +241,13 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
* raised to the power of the exponent; otherwise, the divisor is 1.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top">-x:</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;">-x:</td>
|
||||
* <td valign="top">The rule is a negative-number rule.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top">x.x:</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;">x.x:</td>
|
||||
* <td valign="top">The rule is an <em>improper fraction rule</em>. If the full stop in
|
||||
* the middle of the rule name is replaced with the decimal point
|
||||
* that is used in the language or DecimalFormatSymbols, then that rule will
|
||||
@ -258,8 +258,8 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
* the punctuation of either the full stop or comma.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top">0.x:</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;">0.x:</td>
|
||||
* <td valign="top">The rule is a <em>proper fraction rule</em>. If the full stop in
|
||||
* the middle of the rule name is replaced with the decimal point
|
||||
* that is used in the language or DecimalFormatSymbols, then that rule will
|
||||
@ -270,8 +270,8 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
* the punctuation of either the full stop or comma</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top">x.0:</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;">x.0:</td>
|
||||
* <td valign="top">The rule is a <em>master rule</em>. If the full stop in
|
||||
* the middle of the rule name is replaced with the decimal point
|
||||
* that is used in the language or DecimalFormatSymbols, then that rule will
|
||||
@ -282,19 +282,19 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
* the punctuation of either the full stop or comma</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top">Inf:</td>
|
||||
* <td valign="top">The rule for infinity.</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;">Inf:</td>
|
||||
* <td style="vertical-align: top;">The rule for infinity.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top">NaN:</td>
|
||||
* <td valign="top">The rule for an IEEE 754 NaN (not a number).</td>
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;">NaN:</td>
|
||||
* <td style="vertical-align: top;">The rule for an IEEE 754 NaN (not a number).</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="5%" valign="top"></td>
|
||||
* <td width="8%" valign="top"><em>nothing</em></td>
|
||||
* <td valign="top">If the rule's rule descriptor is left out, the base value is one plus the
|
||||
* <td style="width: 5%; vertical-align: top;"></td>
|
||||
* <td style="width: 8%; vertical-align: top;"><em>nothing</em></td>
|
||||
* <td style="vertical-align: top;">If the rule's rule descriptor is left out, the base value is one plus the
|
||||
* preceding rule's base value (or zero if this is the first rule in the list) in a normal
|
||||
* rule set. In a fraction rule set, the base value is the same as the preceding rule's
|
||||
* base value.</td>
|
||||
@ -360,124 +360,124 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
*
|
||||
* <table border="0" width="100%">
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23">>></td>
|
||||
* <td width="165" valign="top">in normal rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;">>></td>
|
||||
* <td style="width: 165; vertical-align: top;">in normal rule</td>
|
||||
* <td>Divide the number by the rule's divisor and format the remainder</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in negative-number rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in negative-number rule</td>
|
||||
* <td>Find the absolute value of the number and format the result</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in fraction or master rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in fraction or master rule</td>
|
||||
* <td>Isolate the number's fractional part and format it.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in rule in fraction rule set</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in rule in fraction rule set</td>
|
||||
* <td>Not allowed.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23">>>></td>
|
||||
* <td width="165" valign="top">in normal rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;">>>></td>
|
||||
* <td style="width: 165; vertical-align: top;">in normal rule</td>
|
||||
* <td>Divide the number by the rule's divisor and format the remainder,
|
||||
* but bypass the normal rule-selection process and just use the
|
||||
* rule that precedes this one in this rule list.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in all other rules</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in all other rules</td>
|
||||
* <td>Not allowed.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"><<</td>
|
||||
* <td width="165" valign="top">in normal rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"><<</td>
|
||||
* <td style="width: 165; vertical-align: top;">in normal rule</td>
|
||||
* <td>Divide the number by the rule's divisor and format the quotient</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in negative-number rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in negative-number rule</td>
|
||||
* <td>Not allowed.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in fraction or master rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in fraction or master rule</td>
|
||||
* <td>Isolate the number's integral part and format it.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in rule in fraction rule set</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in rule in fraction rule set</td>
|
||||
* <td>Multiply the number by the rule's base value and format the result.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23">==</td>
|
||||
* <td width="165" valign="top">in all rule sets</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;">==</td>
|
||||
* <td style="width: 165; vertical-align: top;">in all rule sets</td>
|
||||
* <td>Format the number unchanged</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23">[]</td>
|
||||
* <td width="165" valign="top">in normal rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;">[]</td>
|
||||
* <td style="width: 165; vertical-align: top;">in normal rule</td>
|
||||
* <td>Omit the optional text if the number is an even multiple of the rule's divisor</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in negative-number rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in negative-number rule</td>
|
||||
* <td>Not allowed.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in improper-fraction rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in improper-fraction rule</td>
|
||||
* <td>Omit the optional text if the number is between 0 and 1 (same as specifying both an
|
||||
* x.x rule and a 0.x rule)</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in master rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in master rule</td>
|
||||
* <td>Omit the optional text if the number is an integer (same as specifying both an x.x
|
||||
* rule and an x.0 rule)</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in proper-fraction rule</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in proper-fraction rule</td>
|
||||
* <td>Not allowed.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37"></td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in rule in fraction rule set</td>
|
||||
* <td style="width: 37;"></td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in rule in fraction rule set</td>
|
||||
* <td>Omit the optional text if multiplying the number by the rule's base value yields 1.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37">$(cardinal,<i>plural syntax</i>)$</td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in all rule sets</td>
|
||||
* <td style="width: 37;">$(cardinal,<i>plural syntax</i>)$</td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in all rule sets</td>
|
||||
* <td>This provides the ability to choose a word based on the number divided by the radix to the power of the
|
||||
* exponent of the base value for the specified locale, which is normally equivalent to the << value.
|
||||
* This uses the cardinal plural rules from PluralFormat. All strings used in the plural format are treated
|
||||
* as the same base value for parsing.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="37">$(ordinal,<i>plural syntax</i>)$</td>
|
||||
* <td width="23"></td>
|
||||
* <td width="165" valign="top">in all rule sets</td>
|
||||
* <td style="width: 37;">$(ordinal,<i>plural syntax</i>)$</td>
|
||||
* <td style="width: 23;"></td>
|
||||
* <td style="width: 165; vertical-align: top;">in all rule sets</td>
|
||||
* <td>This provides the ability to choose a word based on the number divided by the radix to the power of the
|
||||
* exponent of the base value for the specified locale, which is normally equivalent to the << value.
|
||||
* This uses the ordinal plural rules from PluralFormat. All strings used in the plural format are treated
|
||||
@ -490,20 +490,20 @@ import com.ibm.icu.util.UResourceBundleIterator;
|
||||
*
|
||||
* <table border="0" width="100%">
|
||||
* <tr>
|
||||
* <td width="42"></td>
|
||||
* <td width="166" valign="top">a rule set name</td>
|
||||
* <td style="width: 42;"></td>
|
||||
* <td style="width: 166; vertical-align: top;">a rule set name</td>
|
||||
* <td>Perform the mathematical operation on the number, and format the result using the
|
||||
* named rule set.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="42"></td>
|
||||
* <td width="166" valign="top">a DecimalFormat pattern</td>
|
||||
* <td style="width: 42;"></td>
|
||||
* <td style="width: 166; vertical-align: top;">a DecimalFormat pattern</td>
|
||||
* <td>Perform the mathematical operation on the number, and format the result using a
|
||||
* DecimalFormat with the specified pattern. The pattern must begin with 0 or #.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td width="42"></td>
|
||||
* <td width="166" valign="top">nothing</td>
|
||||
* <td style="width: 42;"></td>
|
||||
* <td style="width: 166; vertical-align: top;">nothing</td>
|
||||
* <td>Perform the mathematical operation on the number, and format the result using the rule
|
||||
* set containing the current rule, except:<ul>
|
||||
* <li>You can't have an empty substitution descriptor with a == substitution.</li>
|
||||
@ -1220,7 +1220,7 @@ public class RuleBasedNumberFormat extends NumberFormat {
|
||||
}
|
||||
|
||||
/**
|
||||
* <strong><font face=helvetica color=red>NEW</font></strong>
|
||||
* <strong style="font-family: helvetica; color: red;">NEW</strong>
|
||||
* Implement com.ibm.icu.text.NumberFormat:
|
||||
* Format a BigInteger.
|
||||
* @stable ICU 2.0
|
||||
@ -1232,7 +1232,7 @@ public class RuleBasedNumberFormat extends NumberFormat {
|
||||
}
|
||||
|
||||
/**
|
||||
* <strong><font face=helvetica color=red>NEW</font></strong>
|
||||
* <strong style="font-family: helvetica; color: red;">NEW</strong>
|
||||
* Implement com.ibm.icu.text.NumberFormat:
|
||||
* Format a BigDecimal.
|
||||
* @stable ICU 2.0
|
||||
@ -1244,7 +1244,7 @@ public class RuleBasedNumberFormat extends NumberFormat {
|
||||
}
|
||||
|
||||
/**
|
||||
* <strong><font face=helvetica color=red>NEW</font></strong>
|
||||
* <strong style="font-family: helvetica; color: red;">NEW</strong>
|
||||
* Implement com.ibm.icu.text.NumberFormat:
|
||||
* Format a BigDecimal.
|
||||
* @stable ICU 2.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2014, International Business Machines Corporation and
|
||||
* Copyright (C) 2014-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -23,9 +23,10 @@ import com.ibm.icu.util.ULocale;
|
||||
* <pre>
|
||||
* ULocale en = new ULocale("en");
|
||||
* ScientificNumberFormatter fmt = ScientificNumberFormatter.getMarkupInstance(
|
||||
* en, "<sup>", "</sup>");
|
||||
* en, "<sup>", "</sup>");
|
||||
* </pre>
|
||||
* <pre>
|
||||
* // Output: "1.23456×10<sup>-78</sup>"
|
||||
* // Output: "1.23456×10<sup>-78</sup>"
|
||||
* System.out.println(fmt.format(1.23456e-78));
|
||||
* </pre>
|
||||
*
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2004-2011, International Business Machines Corporation and *
|
||||
* Copyright (C) 2004-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
* Copyright (C) 2009 , Yahoo! Inc. *
|
||||
*******************************************************************************
|
||||
@ -21,19 +21,19 @@ import com.ibm.icu.impl.PatternProps;
|
||||
* how to map keywords to phrases and provides a default phrase. The
|
||||
* object provided to the format method is a string that's matched
|
||||
* against the keywords. If there is a match, the corresponding phrase
|
||||
* is selected; otherwise, the default phrase is used.</p>
|
||||
* is selected; otherwise, the default phrase is used.
|
||||
*
|
||||
* <h4>Using <code>SelectFormat</code> for Gender Agreement</h4>
|
||||
* <h3>Using <code>SelectFormat</code> for Gender Agreement</h3>
|
||||
*
|
||||
* <p>Note: Typically, select formatting is done via <code>MessageFormat</code>
|
||||
* with a <code>select</code> argument type,
|
||||
* rather than using a stand-alone <code>SelectFormat</code>.</p>
|
||||
* rather than using a stand-alone <code>SelectFormat</code>.
|
||||
*
|
||||
* <p>The main use case for the select format is gender based inflection.
|
||||
* When names or nouns are inserted into sentences, their gender can affect pronouns,
|
||||
* verb forms, articles, and adjectives. Special care needs to be
|
||||
* taken for the case where the gender cannot be determined.
|
||||
* The impact varies between languages:</p>
|
||||
* The impact varies between languages:
|
||||
*
|
||||
* <ul>
|
||||
* <li>English has three genders, and unknown gender is handled as a special
|
||||
@ -42,16 +42,16 @@ import com.ibm.icu.impl.PatternProps;
|
||||
* The gender only affects pronouns: "he", "she", "it", "they".
|
||||
*
|
||||
* <li>German differs from English in that the gender of nouns is rather
|
||||
* arbitrary, even for nouns referring to people ("M&#u00E4;dchen", girl, is neutral).
|
||||
* arbitrary, even for nouns referring to people ("Mädchen", girl, is neutral).
|
||||
* The gender affects pronouns ("er", "sie", "es"), articles ("der", "die",
|
||||
* "das"), and adjective forms ("guter Mann", "gute Frau", "gutes M&#u00E4;dchen").
|
||||
* "das"), and adjective forms ("guter Mann", "gute Frau", "gutes Mädchen").
|
||||
*
|
||||
* <li>French has only two genders; as in German the gender of nouns
|
||||
* is rather arbitrary - for sun and moon, the genders
|
||||
* are the opposite of those in German. The gender affects
|
||||
* pronouns ("il", "elle"), articles ("le", "la"),
|
||||
* adjective forms ("bon", "bonne"), and sometimes
|
||||
* verb forms ("all&#u00E9;", "all&#u00E9e;").
|
||||
* verb forms ("allé", "allée").
|
||||
*
|
||||
* <li>Polish distinguishes five genders (or noun classes),
|
||||
* human masculine, animate non-human masculine, inanimate masculine,
|
||||
@ -60,16 +60,16 @@ import com.ibm.icu.impl.PatternProps;
|
||||
*
|
||||
* <p>Some other languages have noun classes that are not related to gender,
|
||||
* but similar in grammatical use.
|
||||
* Some African languages have around 20 noun classes.</p>
|
||||
* Some African languages have around 20 noun classes.
|
||||
*
|
||||
* <p><b>Note:</b>For the gender of a <i>person</i> in a given sentence,
|
||||
* we usually need to distinguish only between female, male and other/unknown.</p>
|
||||
* we usually need to distinguish only between female, male and other/unknown.
|
||||
*
|
||||
* <p>To enable localizers to create sentence patterns that take their
|
||||
* language's gender dependencies into consideration, software has to provide
|
||||
* information about the gender associated with a noun or name to
|
||||
* <code>MessageFormat</code>.
|
||||
* Two main cases can be distinguished:</p>
|
||||
* Two main cases can be distinguished:
|
||||
*
|
||||
* <ul>
|
||||
* <li>For people, natural gender information should be maintained for each person.
|
||||
@ -88,40 +88,40 @@ import com.ibm.icu.impl.PatternProps;
|
||||
* would be provided: The name of the person as argument 0, the gender of
|
||||
* the person as argument 1, and the name of the city as argument 2.
|
||||
* The sentence pattern for English, where the gender of the person has
|
||||
* no impact on this simple sentence, would not refer to argument 1 at all:</p>
|
||||
* no impact on this simple sentence, would not refer to argument 1 at all:
|
||||
*
|
||||
* <pre>{0} went to {2}.</pre>
|
||||
*
|
||||
* <p><b>Note:</b> The entire sentence should be included (and partially repeated)
|
||||
* inside each phrase. Otherwise translators would have to be trained on how to
|
||||
* move bits of the sentence in and out of the select argument of a message.
|
||||
* (The examples below do not follow this recommendation!)</p>
|
||||
* (The examples below do not follow this recommendation!)
|
||||
*
|
||||
* <p>The sentence pattern for French, where the gender of the person affects
|
||||
* the form of the participle, uses a select format based on argument 1:</p>
|
||||
* the form of the participle, uses a select format based on argument 1:
|
||||
*
|
||||
* <pre>{0} est {1, select, female {all&#u00E9;e} other {all&#u00E9;}} &#u00E0; {2}.</pre>
|
||||
* <pre>{0} est {1, select, female {allée} other {allé}} à {2}.</pre>
|
||||
*
|
||||
* <p>Patterns can be nested, so that it's possible to handle interactions of
|
||||
* number and gender where necessary. For example, if the above sentence should
|
||||
* allow for the names of several people to be inserted, the following sentence
|
||||
* pattern can be used (with argument 0 the list of people's names,
|
||||
* argument 1 the number of people, argument 2 their combined gender, and
|
||||
* argument 3 the city name):</p>
|
||||
* argument 3 the city name):
|
||||
*
|
||||
* <pre>{0} {1, plural,
|
||||
* one {est {2, select, female {all&#u00E9;e} other {all&#u00E9;}}}
|
||||
* other {sont {2, select, female {all&#u00E9;es} other {all&#u00E9;s}}}
|
||||
* }&#u00E0; {3}.</pre>
|
||||
* one {est {2, select, female {allée} other {allé}}}
|
||||
* other {sont {2, select, female {allées} other {allés}}}
|
||||
* }à {3}.</pre>
|
||||
*
|
||||
* <h4>Patterns and Their Interpretation</h4>
|
||||
*
|
||||
* <p>The <code>SelectFormat</code> pattern string defines the phrase output
|
||||
* for each user-defined keyword.
|
||||
* The pattern is a sequence of (keyword, message) pairs.
|
||||
* A keyword is a "pattern identifier": [^[[:Pattern_Syntax:][:Pattern_White_Space:]]]+</p>
|
||||
* A keyword is a "pattern identifier": [^[[:Pattern_Syntax:][:Pattern_White_Space:]]]+
|
||||
*
|
||||
* <p>Each message is a MessageFormat pattern string enclosed in {curly braces}.</p>
|
||||
* <p>Each message is a MessageFormat pattern string enclosed in {curly braces}.
|
||||
*
|
||||
* <p>You always have to define a phrase for the default keyword
|
||||
* <code>other</code>; this phrase is returned when the keyword
|
||||
@ -129,21 +129,20 @@ import com.ibm.icu.impl.PatternProps;
|
||||
* the <code>format</code> method matches no other keyword.
|
||||
* If a pattern does not provide a phrase for <code>other</code>, the method
|
||||
* it's provided to returns the error <code>U_DEFAULT_KEYWORD_MISSING</code>.
|
||||
* <br/>
|
||||
* <br>
|
||||
* Pattern_White_Space between keywords and messages is ignored.
|
||||
* Pattern_White_Space within a message is preserved and output.</p>
|
||||
* Pattern_White_Space within a message is preserved and output.
|
||||
*
|
||||
* <p><pre>Example:
|
||||
* <pre>Example:
|
||||
* MessageFormat msgFmt = new MessageFormat("{0} est " +
|
||||
* "{1, select, female {all&#u00E9;e} other {all&#u00E9;}} &#u00E0; Paris.",
|
||||
* "{1, select, female {allée} other {allé}} à Paris.",
|
||||
* new ULocale("fr"));
|
||||
* Object args[] = {"Kirti","female"};
|
||||
* System.out.println(msgFmt.format(args));
|
||||
* </pre>
|
||||
* <p>
|
||||
* Produces the output:<br/>
|
||||
* <code>Kirti est all&#u00E9;e &#u00E0; Paris.</code>
|
||||
* </p>
|
||||
* Produces the output:<br>
|
||||
* <code>Kirti est allée à Paris.</code>
|
||||
*
|
||||
* @stable ICU 4.4
|
||||
*/
|
||||
|
@ -48,7 +48,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
*
|
||||
* <p><code>SimpleDateFormat</code> is a concrete class for formatting and
|
||||
* parsing dates in a locale-sensitive manner. It allows for formatting
|
||||
* (date -> text), parsing (text -> date), and normalization.
|
||||
* (date -> text), parsing (text -> date), and normalization.
|
||||
*
|
||||
* <p>
|
||||
* <code>SimpleDateFormat</code> allows you to start by choosing
|
||||
@ -102,7 +102,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <td style="text-align: center">1..n</td>
|
||||
* <td>1996</td>
|
||||
* <td>Year. Normally the length specifies the padding, but for two letters it also specifies the maximum
|
||||
* length. Example:<div align="center">
|
||||
* length. Example:<div style="text-align: center">
|
||||
* <center>
|
||||
* <table border="1" cellpadding="2" cellspacing="0">
|
||||
* <tr>
|
||||
@ -627,12 +627,12 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* <pre>
|
||||
* Format Pattern Result
|
||||
* -------------- -------
|
||||
* "yyyy.MM.dd G 'at' HH:mm:ss vvvv" ->> 1996.07.10 AD at 15:08:56 Pacific Time
|
||||
* "EEE, MMM d, ''yy" ->> Wed, July 10, '96
|
||||
* "h:mm a" ->> 12:08 PM
|
||||
* "hh 'o''clock' a, zzzz" ->> 12 o'clock PM, Pacific Daylight Time
|
||||
* "K:mm a, vvv" ->> 0:00 PM, PT
|
||||
* "yyyyy.MMMMM.dd GGG hh:mm aaa" ->> 01996.July.10 AD 12:08 PM
|
||||
* "yyyy.MM.dd G 'at' HH:mm:ss vvvv" ->> 1996.07.10 AD at 15:08:56 Pacific Time
|
||||
* "EEE, MMM d, ''yy" ->> Wed, July 10, '96
|
||||
* "h:mm a" ->> 12:08 PM
|
||||
* "hh 'o''clock' a, zzzz" ->> 12 o'clock PM, Pacific Daylight Time
|
||||
* "K:mm a, vvv" ->> 0:00 PM, PT
|
||||
* "yyyyy.MMMMM.dd GGG hh:mm aaa" ->> 01996.July.10 AD 12:08 PM
|
||||
* </pre>
|
||||
* </blockquote>
|
||||
* <strong>Code Sample:</strong>
|
||||
@ -698,7 +698,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* time zone. There is one common decimal format to handle all the numbers;
|
||||
* the digit count is handled programmatically according to the pattern.
|
||||
*
|
||||
* <h4>Synchronization</h4>
|
||||
* <h3>Synchronization</h3>
|
||||
*
|
||||
* Date formats are not synchronized. It is recommended to create separate
|
||||
* format instances for each thread. If multiple threads access a format
|
||||
@ -1290,7 +1290,7 @@ public class SimpleDateFormat extends DateFormat {
|
||||
* Formats a date or time, which is the standard millis
|
||||
* since January 1, 1970, 00:00:00 GMT.
|
||||
* <p>Example: using the US locale:
|
||||
* "yyyy.MM.dd G 'at' HH:mm:ss zzz" ->> 1996.07.10 AD at 15:08:56 PDT
|
||||
* "yyyy.MM.dd G 'at' HH:mm:ss zzz" ->> 1996.07.10 AD at 15:08:56 PDT
|
||||
* @param cal the calendar whose date-time value is to be formatted into a date-time string
|
||||
* @param toAppendTo where the new date-time text is to be appended
|
||||
* @param pos the formatting position. On input: an alignment field,
|
||||
|
@ -491,7 +491,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
|
||||
|
||||
/**
|
||||
* Returns a frozen instance of <code>TimeZoneFormat</code> for the given
|
||||
* {@link java.text.Locale}.
|
||||
* {@link java.util.Locale}.
|
||||
* <p><b>Note</b>: The instance returned by this method is frozen. If you want to
|
||||
* customize a TimeZoneFormat, you must use {@link #cloneAsThawed()} to get a
|
||||
* thawed copy first.
|
||||
@ -718,7 +718,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
|
||||
/**
|
||||
* Sets the default parse options.
|
||||
* <p>
|
||||
* <b>Note:</b> By default, an instance of <code>TimeZoneFormat></code>
|
||||
* <b>Note:</b> By default, an instance of <code>TimeZoneFormat</code>
|
||||
* created by {#link {@link #getInstance(ULocale)} has no parse options set.
|
||||
*
|
||||
* @param options the default parse options.
|
||||
@ -3120,7 +3120,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
|
||||
* @serialField _locale ULocale The locale of this TimeZoneFormat object.
|
||||
* @serialField _tznames TimeZoneNames The time zone name data.
|
||||
* @serialField _gmtPattern String The pattern string for localized GMT format.
|
||||
* @serialField _gmtOffsetPatterns Stirng[] The array of GMT offset patterns used by localized GMT format
|
||||
* @serialField _gmtOffsetPatterns String[] The array of GMT offset patterns used by localized GMT format
|
||||
* (positive hour-min, positive hour-min-sec, negative hour-min, negative hour-min-sec).
|
||||
* @serialField _gmtOffsetDigits String[] The array of decimal digits used by localized GMT format
|
||||
* (the size of array is 10).
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -285,7 +285,6 @@ public abstract class UCharacterIterator
|
||||
* iterator obtained by calling <code>getLength()</code>).
|
||||
* <b>Usage:</b>
|
||||
*
|
||||
* <code>
|
||||
* <pre>
|
||||
* UChacterIterator iter = new UCharacterIterator.getInstance(text);
|
||||
* char[] buf = new char[iter.getLength()];
|
||||
@ -303,14 +302,13 @@ public abstract class UCharacterIterator
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
* </code>
|
||||
*
|
||||
*
|
||||
* @param fillIn an array of chars to fill with the underlying UTF-16 code
|
||||
* units.
|
||||
* @param offset the position within the array to start putting the data.
|
||||
* @return the number of code units added to fillIn, as a convenience
|
||||
* @exception IndexOutOfBoundsException exception if there is not enough
|
||||
* room after offset in the array, or if offset < 0.
|
||||
* room after offset in the array, or if offset < 0.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract int getText(char[] fillIn, int offset);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2004, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -27,13 +27,13 @@ package com.ibm.icu.text;
|
||||
* Some processes may be designed to work with sequences of code units,
|
||||
* or it may be known that all characters that are important to an
|
||||
* algorithm can be represented with single code units.
|
||||
* Other processes will need to use the code point access functions.</p>
|
||||
* Other processes will need to use the code point access functions.
|
||||
*
|
||||
* <p>ForwardCharacterIterator provides next() to access
|
||||
* a code unit and advance an internal position into the text object,
|
||||
* similar to a <code>return text[position++]</code>.<br>
|
||||
* It provides nextCodePoint() to access a code point and advance an internal
|
||||
* position.</p>
|
||||
* position.
|
||||
*
|
||||
* <p>nextCodePoint() assumes that the current position is that of
|
||||
* the beginning of a code point, i.e., of its first code unit.
|
||||
@ -41,7 +41,7 @@ package com.ibm.icu.text;
|
||||
* In general, access to code units and code points in the same
|
||||
* iteration loop should not be mixed. In UTF-16, if the current position
|
||||
* is on a second code unit (Low Surrogate), then only that code unit
|
||||
* is returned even by nextCodePoint().</p>
|
||||
* is returned even by nextCodePoint().
|
||||
*
|
||||
* Usage:
|
||||
* <code>
|
||||
@ -52,7 +52,6 @@ package com.ibm.icu.text;
|
||||
* }
|
||||
* }
|
||||
* </code>
|
||||
* </p>
|
||||
* @stable ICU 2.4
|
||||
*
|
||||
*/
|
||||
@ -79,7 +78,7 @@ public interface UForwardCharacterIterator {
|
||||
* Returns the code point at index, and increments to the next code
|
||||
* point (post-increment semantics). If index does not point to a
|
||||
* valid surrogate pair, the behavior is the same as
|
||||
* <code>next()<code>. Otherwise the iterator is incremented past
|
||||
* <code>next()</code>. Otherwise the iterator is incremented past
|
||||
* the surrogate pair, and the code point represented by the pair
|
||||
* is returned.
|
||||
* @return the next codepoint in text, or DONE if the index is at
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -82,10 +82,9 @@ public final class UTF16 {
|
||||
// public variables ---------------------------------------------------
|
||||
|
||||
/**
|
||||
* Value returned in <code><a href="#bounds(java.lang.String, int)">
|
||||
* bounds()</a></code>.
|
||||
* Value returned in {@link #bounds(String, int) bounds()}.
|
||||
* These values are chosen specifically so that it actually represents the position of the
|
||||
* character [offset16 - (value >> 2), offset16 + (value & 3)]
|
||||
* character [offset16 - (value >> 2), offset16 + (value & 3)]
|
||||
*
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
@ -490,7 +489,7 @@ public final class UTF16 {
|
||||
* bounds are [offset16 - 1, offset16 + 1]
|
||||
* </ul>
|
||||
* For bit-twiddlers, the return values for these are chosen so that the boundaries
|
||||
* can be gotten by: [offset16 - (value >> 2), offset16 + (value & 3)].
|
||||
* can be gotten by: [offset16 - (value >> 2), offset16 + (value & 3)].
|
||||
* @exception IndexOutOfBoundsException If offset16 is out of bounds.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
@ -526,7 +525,7 @@ public final class UTF16 {
|
||||
* bounds are [offset16 - 1, offset16 + 1]
|
||||
* </ul>
|
||||
* For bit-twiddlers, the return values for these are chosen so that the boundaries
|
||||
* can be gotten by: [offset16 - (value >> 2), offset16 + (value & 3)].
|
||||
* can be gotten by: [offset16 - (value >> 2), offset16 + (value & 3)].
|
||||
* @exception IndexOutOfBoundsException If offset16 is out of bounds.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
@ -566,7 +565,7 @@ public final class UTF16 {
|
||||
* bounds are [offset16 - 1, offset16 + 1]
|
||||
* </ul>
|
||||
* For bit-twiddlers, the boundary values for these are chosen so that the boundaries
|
||||
* can be gotten by: [offset16 - (boundvalue >> 2), offset16 + (boundvalue & 3)].
|
||||
* can be gotten by: [offset16 - (boundvalue >> 2), offset16 + (boundvalue & 3)].
|
||||
* @exception IndexOutOfBoundsException If offset16 is not within the range of start and limit.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
@ -661,8 +660,8 @@ public final class UTF16 {
|
||||
|
||||
/**
|
||||
* Convenience method corresponding to String.valueOf(char). Returns a one or two char string
|
||||
* containing the UTF-32 value in UTF16 format. If a validity check is required, use <a
|
||||
* href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on char32 before calling.
|
||||
* containing the UTF-32 value in UTF16 format. If a validity check is required, use
|
||||
* {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on char32 before calling.
|
||||
*
|
||||
* @param char32 The input character.
|
||||
* @return string value of char32 in UTF16 format
|
||||
@ -680,7 +679,7 @@ public final class UTF16 {
|
||||
* Convenience method corresponding to String.valueOf(codepoint at offset16). Returns a one or
|
||||
* two char string containing the UTF-32 value in UTF16 format. If offset16 indexes a surrogate
|
||||
* character, the whole supplementary codepoint will be returned. If a validity check is
|
||||
* required, use <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on the
|
||||
* required, use {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on the
|
||||
* codepoint at offset16 before calling. The result returned will be a newly created String
|
||||
* obtained by calling source.substring(..) with the appropriate indexes.
|
||||
*
|
||||
@ -704,7 +703,7 @@ public final class UTF16 {
|
||||
* Convenience method corresponding to StringBuffer.valueOf(codepoint at offset16). Returns a
|
||||
* one or two char string containing the UTF-32 value in UTF16 format. If offset16 indexes a
|
||||
* surrogate character, the whole supplementary codepoint will be returned. If a validity check
|
||||
* is required, use <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on
|
||||
* is required, use {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on
|
||||
* the codepoint at offset16 before calling. The result returned will be a newly created String
|
||||
* obtained by calling source.substring(..) with the appropriate indexes.
|
||||
*
|
||||
@ -729,8 +728,8 @@ public final class UTF16 {
|
||||
* format. If offset16 indexes a surrogate character, the whole supplementary codepoint will be
|
||||
* returned, except when either the leading or trailing surrogate character lies out of the
|
||||
* specified subarray. In the latter case, only the surrogate character within bounds will be
|
||||
* returned. If a validity check is required, use <a
|
||||
* href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on the codepoint at
|
||||
* returned. If a validity check is required, use
|
||||
* {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on the codepoint at
|
||||
* offset16 before calling. The result returned will be a newly created String containing the
|
||||
* relevant characters.
|
||||
*
|
||||
@ -753,7 +752,7 @@ public final class UTF16 {
|
||||
|
||||
/**
|
||||
* Returns the UTF-16 offset that corresponds to a UTF-32 offset. Used for random access. See
|
||||
* the <a name="_top_">class description</a> for notes on roundtripping.
|
||||
* the {@link UTF16 class description} for notes on roundtripping.
|
||||
*
|
||||
* @param source The UTF-16 string
|
||||
* @param offset32 UTF-32 offset
|
||||
@ -785,7 +784,7 @@ public final class UTF16 {
|
||||
|
||||
/**
|
||||
* Returns the UTF-16 offset that corresponds to a UTF-32 offset. Used for random access. See
|
||||
* the <a name="_top_">class description</a> for notes on roundtripping.
|
||||
* the {@link UTF16 class description} for notes on roundtripping.
|
||||
*
|
||||
* @param source The UTF-16 string buffer
|
||||
* @param offset32 UTF-32 offset
|
||||
@ -817,7 +816,7 @@ public final class UTF16 {
|
||||
|
||||
/**
|
||||
* Returns the UTF-16 offset that corresponds to a UTF-32 offset. Used for random access. See
|
||||
* the <a name="_top_">class description</a> for notes on roundtripping.
|
||||
* the {@link UTF16 class description} for notes on roundtripping.
|
||||
*
|
||||
* @param source The UTF-16 char array whose substring is to be analysed
|
||||
* @param start Offset of the substring to be analysed
|
||||
@ -851,7 +850,7 @@ public final class UTF16 {
|
||||
|
||||
/**
|
||||
* Returns the UTF-32 offset corresponding to the first UTF-32 boundary at or after the given
|
||||
* UTF-16 offset. Used for random access. See the <a name="_top_">class description</a> for
|
||||
* UTF-16 offset. Used for random access. See the {@link UTF16 class description} for
|
||||
* notes on roundtripping.<br>
|
||||
* <i>Note: If the UTF-16 offset is into the middle of a surrogate pair, then the UTF-32 offset
|
||||
* of the <strong>lead</strong> of the pair is returned. </i>
|
||||
@ -862,11 +861,8 @@ public final class UTF16 {
|
||||
* len32 = countCodePoint(source, source.length());
|
||||
* </pre>
|
||||
*
|
||||
* </p>
|
||||
* <p>
|
||||
*
|
||||
* @param source Text to analyse
|
||||
* @param offset16 UTF-16 offset < source text length.
|
||||
* @param offset16 UTF-16 offset < source text length.
|
||||
* @return UTF-32 offset
|
||||
* @exception IndexOutOfBoundsException If offset16 is out of bounds.
|
||||
* @stable ICU 2.1
|
||||
@ -905,7 +901,7 @@ public final class UTF16 {
|
||||
|
||||
/**
|
||||
* Returns the UTF-32 offset corresponding to the first UTF-32 boundary at the given UTF-16
|
||||
* offset. Used for random access. See the <a name="_top_">class description</a> for notes on
|
||||
* offset. Used for random access. See the {@link UTF16 class description} for notes on
|
||||
* roundtripping.<br>
|
||||
* <i>Note: If the UTF-16 offset is into the middle of a surrogate pair, then the UTF-32 offset
|
||||
* of the <strong>lead</strong> of the pair is returned. </i>
|
||||
@ -915,12 +911,9 @@ public final class UTF16 {
|
||||
* <pre>
|
||||
* len32 = countCodePoint(source);
|
||||
* </pre>
|
||||
*
|
||||
* </p>
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* @param source Text to analyse
|
||||
* @param offset16 UTF-16 offset < source text length.
|
||||
* @param offset16 UTF-16 offset < source text length.
|
||||
* @return UTF-32 offset
|
||||
* @exception IndexOutOfBoundsException If offset16 is out of bounds.
|
||||
* @stable ICU 2.1
|
||||
@ -959,7 +952,7 @@ public final class UTF16 {
|
||||
|
||||
/**
|
||||
* Returns the UTF-32 offset corresponding to the first UTF-32 boundary at the given UTF-16
|
||||
* offset. Used for random access. See the <a name="_top_">class description</a> for notes on
|
||||
* offset. Used for random access. See the {@link UTF16 class description} for notes on
|
||||
* roundtripping.<br>
|
||||
* <i>Note: If the UTF-16 offset is into the middle of a surrogate pair, then the UTF-32 offset
|
||||
* of the <strong>lead</strong> of the pair is returned. </i>
|
||||
@ -969,10 +962,7 @@ public final class UTF16 {
|
||||
* <pre>
|
||||
* len32 = countCodePoint(source, start, limit);
|
||||
* </pre>
|
||||
*
|
||||
* </p>
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* @param source Text to analyse
|
||||
* @param start Offset of the substring
|
||||
* @param limit Offset of the substring
|
||||
@ -1016,7 +1006,7 @@ public final class UTF16 {
|
||||
|
||||
/**
|
||||
* Append a single UTF-32 value to the end of a StringBuffer. If a validity check is required,
|
||||
* use <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on char32 before
|
||||
* use {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on char32 before
|
||||
* calling.
|
||||
*
|
||||
* @param target The buffer to append to
|
||||
@ -1439,7 +1429,7 @@ public final class UTF16 {
|
||||
* The offset argument must be greater than or equal to 0, and less than or equal to the limit.
|
||||
*
|
||||
* @param target Char array to insert to
|
||||
* @param limit End index of the char array, limit <= target.length
|
||||
* @param limit End index of the char array, limit <= target.length
|
||||
* @param offset16 Offset which char32 will be inserted in
|
||||
* @param char32 Codepoint to be inserted
|
||||
* @return new limit size
|
||||
@ -1493,7 +1483,7 @@ public final class UTF16 {
|
||||
* character if the codepoint is a non-supplementary, 2 otherwise).
|
||||
*
|
||||
* @param target String buffer to remove codepoint from
|
||||
* @param limit End index of the char array, limit <= target.length
|
||||
* @param limit End index of the char array, limit <= target.length
|
||||
* @param offset16 Offset which the codepoint will be removed
|
||||
* @return a new limit size
|
||||
* @exception IndexOutOfBoundsException Thrown if offset16 is invalid.
|
||||
@ -1619,7 +1609,7 @@ public final class UTF16 {
|
||||
/**
|
||||
* Returns the index within the argument UTF16 format Unicode string of the first occurrence of
|
||||
* the argument codepoint. I.e., the smallest index i such that: <br>
|
||||
* (UTF16.charAt(source, i) == char32 && i >= fromIndex) is true.
|
||||
* (UTF16.charAt(source, i) == char32 && i >= fromIndex) is true.
|
||||
* <p>
|
||||
* If no such character occurs in this string, then -1 is returned.
|
||||
* </p>
|
||||
@ -2086,7 +2076,7 @@ public final class UTF16 {
|
||||
* efficient than counting all code points in the entire string and comparing that number with a
|
||||
* threshold. This function may not need to scan the string at all if the length is within a
|
||||
* certain range, and never needs to count more than 'number + 1' code points. Logically
|
||||
* equivalent to (countCodePoint(s) > number). A Unicode code point may occupy either one or two
|
||||
* equivalent to (countCodePoint(s) > number). A Unicode code point may occupy either one or two
|
||||
* code units.
|
||||
*
|
||||
* @param source The input string.
|
||||
@ -2148,7 +2138,7 @@ public final class UTF16 {
|
||||
* the entire char array range and comparing that number with a threshold. This function may not
|
||||
* need to scan the char array at all if start and limit is within a certain range, and never
|
||||
* needs to count more than 'number + 1' code points. Logically equivalent to
|
||||
* (countCodePoint(source, start, limit) > number). A Unicode code point may occupy either one
|
||||
* (countCodePoint(source, start, limit) > number). A Unicode code point may occupy either one
|
||||
* or two code units.
|
||||
*
|
||||
* @param source Array of UTF-16 chars
|
||||
@ -2215,8 +2205,8 @@ public final class UTF16 {
|
||||
* more efficient than counting all code points in the entire string buffer and comparing that
|
||||
* number with a threshold. This function may not need to scan the string buffer at all if the
|
||||
* length is within a certain range, and never needs to count more than 'number + 1' code
|
||||
* points. Logically equivalent to (countCodePoint(s) > number). A Unicode code point may occupy
|
||||
* either one or two code units.
|
||||
* points. Logically equivalent to (countCodePoint(s) > number). A Unicode code point may
|
||||
* occupy either one or two code units.
|
||||
*
|
||||
* @param source The input string buffer.
|
||||
* @param number The number of code points in the string buffer is compared against the 'number'
|
||||
@ -2479,7 +2469,7 @@ public final class UTF16 {
|
||||
*
|
||||
* @param a first source string.
|
||||
* @param b second source string.
|
||||
* @return 0 returned if a == b. If a < b, a negative value is returned. Otherwise if a > b,
|
||||
* @return 0 returned if a == b. If a < b, a negative value is returned. Otherwise if a > b,
|
||||
* a positive value is returned.
|
||||
* @exception ClassCastException thrown when either a or b is not a String object
|
||||
* @stable ICU 4.4
|
||||
@ -2643,7 +2633,7 @@ public final class UTF16 {
|
||||
* slower = sc.compare(UTF16.valueOf(codePoint), charSequence == null ? "" : charSequence.toString())
|
||||
* </pre>
|
||||
* then
|
||||
* </pre>
|
||||
* <pre>
|
||||
* Integer.signum(fast) == Integer.signum(slower)
|
||||
* </pre>
|
||||
* @param codePoint to test
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2009, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -63,7 +63,7 @@ package com.ibm.icu.text;
|
||||
* // update the no. of bytes written
|
||||
* totalBytesWritten += bytesWritten;
|
||||
*
|
||||
* } while(totalCharsCompressed < len);
|
||||
* } while(totalCharsCompressed < len);
|
||||
*
|
||||
* myCompressor.reset(); // reuse compressor
|
||||
* </PRE>
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2009, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -55,7 +55,7 @@ package com.ibm.icu.text;
|
||||
* // update the no. of chars written
|
||||
* totalCharsWritten += charsWritten;
|
||||
*
|
||||
* } while(totalBytesDecompressed < len);
|
||||
* } while(totalBytesDecompressed < len);
|
||||
*
|
||||
* myDecompressor.reset(); // reuse decompressor
|
||||
* </PRE>
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2014, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -10,7 +10,7 @@ package com.ibm.icu.text;
|
||||
* <code>UnicodeFilter</code> defines a protocol for selecting a
|
||||
* subset of the full range (U+0000 to U+FFFF) of Unicode characters.
|
||||
* Currently, filters are used in conjunction with classes like
|
||||
* <a href="Transliterator.html" title="class in com.ibm.icu.text"><code>Transliterator</code></a>
|
||||
* {@link com.ibm.icu.text.Transliterator}
|
||||
* to only process selected characters through a
|
||||
* transformation.
|
||||
* @stable ICU 2.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2001-2004, International Business Machines Corporation and *
|
||||
* Copyright (C) 2001-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -45,7 +45,7 @@ public interface UnicodeMatcher {
|
||||
public static final int U_MATCH = 2;
|
||||
|
||||
/**
|
||||
* The character at index i, where i < contextStart || i >= contextLimit,
|
||||
* The character at index i, where i < contextStart || i >= contextLimit,
|
||||
* is ETHER. This allows explicit matching by rules and UnicodeSets
|
||||
* of text outside the context. In traditional terms, this allows anchoring
|
||||
* at the start and/or end.
|
||||
@ -58,11 +58,11 @@ public interface UnicodeMatcher {
|
||||
* the given text at the given offset. Zero, one, or more
|
||||
* characters may be matched.
|
||||
*
|
||||
* Matching in the forward direction is indicated by limit >
|
||||
* Matching in the forward direction is indicated by limit >
|
||||
* offset. Characters from offset forwards to limit-1 will be
|
||||
* considered for matching.
|
||||
*
|
||||
* Matching in the reverse direction is indicated by limit <
|
||||
* Matching in the reverse direction is indicated by limit <
|
||||
* offset. Characters from offset backwards to limit+1 will be
|
||||
* considered for matching.
|
||||
*
|
||||
@ -115,7 +115,7 @@ public interface UnicodeMatcher {
|
||||
|
||||
/**
|
||||
* Returns TRUE if this matcher will match a character c, where c
|
||||
* & 0xFF == v, at offset, in the forward direction (with limit >
|
||||
* & 0xFF == v, at offset, in the forward direction (with limit >
|
||||
* offset). This is used by <tt>RuleBasedTransliterator</tt> for
|
||||
* indexing.
|
||||
*
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -89,33 +89,33 @@ import com.ibm.icu.util.VersionInfo;
|
||||
*
|
||||
* <blockquote>
|
||||
* <table>
|
||||
* <tr align="top">
|
||||
* <td nowrap valign="top" align="left"><code>[]</code></td>
|
||||
* <td valign="top">No characters</td>
|
||||
* </tr><tr align="top">
|
||||
* <td nowrap valign="top" align="left"><code>[a]</code></td>
|
||||
* <td valign="top">The character 'a'</td>
|
||||
* </tr><tr align="top">
|
||||
* <td nowrap valign="top" align="left"><code>[ae]</code></td>
|
||||
* <td valign="top">The characters 'a' and 'e'</td>
|
||||
* <tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[]</code></td>
|
||||
* <td style="vertical-align: top;">No characters</td>
|
||||
* </tr><tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[a]</code></td>
|
||||
* <td style="vertical-align: top;">The character 'a'</td>
|
||||
* </tr><tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[ae]</code></td>
|
||||
* <td style="vertical-align: top;">The characters 'a' and 'e'</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top" align="left"><code>[a-e]</code></td>
|
||||
* <td valign="top">The characters 'a' through 'e' inclusive, in Unicode code
|
||||
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[a-e]</code></td>
|
||||
* <td style="vertical-align: top;">The characters 'a' through 'e' inclusive, in Unicode code
|
||||
* point order</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top" align="left"><code>[\\u4E01]</code></td>
|
||||
* <td valign="top">The character U+4E01</td>
|
||||
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[\\u4E01]</code></td>
|
||||
* <td style="vertical-align: top;">The character U+4E01</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top" align="left"><code>[a{ab}{ac}]</code></td>
|
||||
* <td valign="top">The character 'a' and the multicharacter strings "ab" and
|
||||
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[a{ab}{ac}]</code></td>
|
||||
* <td style="vertical-align: top;">The character 'a' and the multicharacter strings "ab" and
|
||||
* "ac"</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top" align="left"><code>[\p{Lu}]</code></td>
|
||||
* <td valign="top">All characters in the general category Uppercase Letter</td>
|
||||
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[\p{Lu}]</code></td>
|
||||
* <td style="vertical-align: top;">All characters in the general category Uppercase Letter</td>
|
||||
* </tr>
|
||||
* </table>
|
||||
* </blockquote>
|
||||
@ -151,34 +151,34 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* literal. Thus "[a\\-b]", "[-ab]", and "[ab-]" all indicate the same
|
||||
* set of three characters, 'a', 'b', and '-'.
|
||||
*
|
||||
* <p>Sets may be intersected using the '&' operator or the asymmetric
|
||||
* <p>Sets may be intersected using the '&' operator or the asymmetric
|
||||
* set difference may be taken using the '-' operator, for example,
|
||||
* "[[:L:]&[\\u0000-\\u0FFF]]" indicates the set of all Unicode letters
|
||||
* with values less than 4096. Operators ('&' and '|') have equal
|
||||
* "[[:L:]&[\\u0000-\\u0FFF]]" indicates the set of all Unicode letters
|
||||
* with values less than 4096. Operators ('&' and '|') have equal
|
||||
* precedence and bind left-to-right. Thus
|
||||
* "[[:L:]-[a-z]-[\\u0100-\\u01FF]]" is equivalent to
|
||||
* "[[[:L:]-[a-z]]-[\\u0100-\\u01FF]]". This only really matters for
|
||||
* difference; intersection is commutative.
|
||||
*
|
||||
* <table>
|
||||
* <tr valign=top><td nowrap><code>[a]</code><td>The set containing 'a'
|
||||
* <tr valign=top><td nowrap><code>[a-z]</code><td>The set containing 'a'
|
||||
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[a]</code><td>The set containing 'a'
|
||||
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[a-z]</code><td>The set containing 'a'
|
||||
* through 'z' and all letters in between, in Unicode order
|
||||
* <tr valign=top><td nowrap><code>[^a-z]</code><td>The set containing
|
||||
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[^a-z]</code><td>The set containing
|
||||
* all characters but 'a' through 'z',
|
||||
* that is, U+0000 through 'a'-1 and 'z'+1 through U+10FFFF
|
||||
* <tr valign=top><td nowrap><code>[[<em>pat1</em>][<em>pat2</em>]]</code>
|
||||
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[[<em>pat1</em>][<em>pat2</em>]]</code>
|
||||
* <td>The union of sets specified by <em>pat1</em> and <em>pat2</em>
|
||||
* <tr valign=top><td nowrap><code>[[<em>pat1</em>]&[<em>pat2</em>]]</code>
|
||||
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[[<em>pat1</em>]&[<em>pat2</em>]]</code>
|
||||
* <td>The intersection of sets specified by <em>pat1</em> and <em>pat2</em>
|
||||
* <tr valign=top><td nowrap><code>[[<em>pat1</em>]-[<em>pat2</em>]]</code>
|
||||
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[[<em>pat1</em>]-[<em>pat2</em>]]</code>
|
||||
* <td>The asymmetric difference of sets specified by <em>pat1</em> and
|
||||
* <em>pat2</em>
|
||||
* <tr valign=top><td nowrap><code>[:Lu:] or \p{Lu}</code>
|
||||
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[:Lu:] or \p{Lu}</code>
|
||||
* <td>The set of characters having the specified
|
||||
* Unicode property; in
|
||||
* this case, Unicode uppercase letters
|
||||
* <tr valign=top><td nowrap><code>[:^Lu:] or \P{Lu}</code>
|
||||
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[:^Lu:] or \P{Lu}</code>
|
||||
* <td>The set of characters <em>not</em> having the given
|
||||
* Unicode property
|
||||
* </table>
|
||||
@ -189,48 +189,48 @@ import com.ibm.icu.util.VersionInfo;
|
||||
*
|
||||
* <blockquote>
|
||||
* <table>
|
||||
* <tr align="top">
|
||||
* <td nowrap valign="top" align="right"><code>pattern := </code></td>
|
||||
* <td valign="top"><code>('[' '^'? item* ']') |
|
||||
* <tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>pattern := </code></td>
|
||||
* <td style="vertical-align: top;"><code>('[' '^'? item* ']') |
|
||||
* property</code></td>
|
||||
* </tr>
|
||||
* <tr align="top">
|
||||
* <td nowrap valign="top" align="right"><code>item := </code></td>
|
||||
* <td valign="top"><code>char | (char '-' char) | pattern-expr<br>
|
||||
* <tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>item := </code></td>
|
||||
* <td style="vertical-align: top;"><code>char | (char '-' char) | pattern-expr<br>
|
||||
* </code></td>
|
||||
* </tr>
|
||||
* <tr align="top">
|
||||
* <td nowrap valign="top" align="right"><code>pattern-expr := </code></td>
|
||||
* <td valign="top"><code>pattern | pattern-expr pattern |
|
||||
* <tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>pattern-expr := </code></td>
|
||||
* <td style="vertical-align: top;"><code>pattern | pattern-expr pattern |
|
||||
* pattern-expr op pattern<br>
|
||||
* </code></td>
|
||||
* </tr>
|
||||
* <tr align="top">
|
||||
* <td nowrap valign="top" align="right"><code>op := </code></td>
|
||||
* <td valign="top"><code>'&' | '-'<br>
|
||||
* <tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>op := </code></td>
|
||||
* <td style="vertical-align: top;"><code>'&' | '-'<br>
|
||||
* </code></td>
|
||||
* </tr>
|
||||
* <tr align="top">
|
||||
* <td nowrap valign="top" align="right"><code>special := </code></td>
|
||||
* <td valign="top"><code>'[' | ']' | '-'<br>
|
||||
* <tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>special := </code></td>
|
||||
* <td style="vertical-align: top;"><code>'[' | ']' | '-'<br>
|
||||
* </code></td>
|
||||
* </tr>
|
||||
* <tr align="top">
|
||||
* <td nowrap valign="top" align="right"><code>char := </code></td>
|
||||
* <td valign="top"><em>any character that is not</em><code> special<br>
|
||||
* <tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>char := </code></td>
|
||||
* <td style="vertical-align: top;"><em>any character that is not</em><code> special<br>
|
||||
* | ('\\' </code><em>any character</em><code>)<br>
|
||||
* | ('\u' hex hex hex hex)<br>
|
||||
* </code></td>
|
||||
* </tr>
|
||||
* <tr align="top">
|
||||
* <td nowrap valign="top" align="right"><code>hex := </code></td>
|
||||
* <td valign="top"><em>any character for which
|
||||
* <tr style="vertical-align: top">
|
||||
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>hex := </code></td>
|
||||
* <td style="vertical-align: top;"><em>any character for which
|
||||
* </em><code>Character.digit(c, 16)</code><em>
|
||||
* returns a non-negative result</em></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top" align="right"><code>property := </code></td>
|
||||
* <td valign="top"><em>a Unicode property set pattern</td>
|
||||
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>property := </code></td>
|
||||
* <td style="vertical-align: top;"><em>a Unicode property set pattern</em></td>
|
||||
* </tr>
|
||||
* </table>
|
||||
* <br>
|
||||
@ -238,32 +238,32 @@ import com.ibm.icu.util.VersionInfo;
|
||||
* <tr>
|
||||
* <td>Legend: <table>
|
||||
* <tr>
|
||||
* <td nowrap valign="top"><code>a := b</code></td>
|
||||
* <td width="20" valign="top"> </td>
|
||||
* <td valign="top"><code>a</code> may be replaced by <code>b</code> </td>
|
||||
* <td style="white-space: nowrap; vertical-align: top;"><code>a := b</code></td>
|
||||
* <td style="width: 20; vertical-align: top;"> </td>
|
||||
* <td style="vertical-align: top;"><code>a</code> may be replaced by <code>b</code> </td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top"><code>a?</code></td>
|
||||
* <td valign="top"></td>
|
||||
* <td valign="top">zero or one instance of <code>a</code><br>
|
||||
* <td style="white-space: nowrap; vertical-align: top;"><code>a?</code></td>
|
||||
* <td style="vertical-align: top;"></td>
|
||||
* <td style="vertical-align: top;">zero or one instance of <code>a</code><br>
|
||||
* </td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top"><code>a*</code></td>
|
||||
* <td valign="top"></td>
|
||||
* <td valign="top">one or more instances of <code>a</code><br>
|
||||
* <td style="white-space: nowrap; vertical-align: top;"><code>a*</code></td>
|
||||
* <td style="vertical-align: top;"></td>
|
||||
* <td style="vertical-align: top;">one or more instances of <code>a</code><br>
|
||||
* </td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top"><code>a | b</code></td>
|
||||
* <td valign="top"></td>
|
||||
* <td valign="top">either <code>a</code> or <code>b</code><br>
|
||||
* <td style="white-space: nowrap; vertical-align: top;"><code>a | b</code></td>
|
||||
* <td style="vertical-align: top;"></td>
|
||||
* <td style="vertical-align: top;">either <code>a</code> or <code>b</code><br>
|
||||
* </td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td nowrap valign="top"><code>'a'</code></td>
|
||||
* <td valign="top"></td>
|
||||
* <td valign="top">the literal string between the quotes </td>
|
||||
* <td style="white-space: nowrap; vertical-align: top;"><code>'a'</code></td>
|
||||
* <td style="vertical-align: top;"></td>
|
||||
* <td style="vertical-align: top;">the literal string between the quotes </td>
|
||||
* </tr>
|
||||
* </table>
|
||||
* </td>
|
||||
@ -376,7 +376,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a set containing the given range. If <code>end >
|
||||
* Constructs a set containing the given range. If <code>end >
|
||||
* start</code> then an empty set is created.
|
||||
*
|
||||
* @param start first character, inclusive, of range
|
||||
@ -389,11 +389,11 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
}
|
||||
|
||||
/**
|
||||
* Quickly constructs a set from a set of ranges <s0, e0, s1, e1, s2, e2, ..., sn, en>.
|
||||
* Quickly constructs a set from a set of ranges <s0, e0, s1, e1, s2, e2, ..., sn, en>.
|
||||
* There must be an even number of integers, and they must be all greater than zero,
|
||||
* all less than or equal to Character.MAX_CODE_POINT.
|
||||
* In each pair (..., si, ei, ...) it must be true that si <= ei
|
||||
* Between adjacent pairs (...ei, sj...), it must be true that ei+1 < sj
|
||||
* In each pair (..., si, ei, ...) it must be true that si <= ei
|
||||
* Between adjacent pairs (...ei, sj...), it must be true that ei+1 < sj
|
||||
* @param pairs pairs of character representing ranges
|
||||
* @stable ICU 4.4
|
||||
*/
|
||||
@ -517,7 +517,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
|
||||
/**
|
||||
* Make this object represent the range <code>start - end</code>.
|
||||
* If <code>end > start</code> then this object is set to an
|
||||
* If <code>end > start</code> then this object is set to an
|
||||
* an empty range.
|
||||
*
|
||||
* @param start first character in the set, inclusive
|
||||
@ -1157,7 +1157,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
/**
|
||||
* Adds the specified range to this set if it is not already
|
||||
* present. If this set already contains the specified range,
|
||||
* the call leaves this set unchanged. If <code>end > start</code>
|
||||
* the call leaves this set unchanged. If <code>end > start</code>
|
||||
* then an empty range is added, leaving the set unchanged.
|
||||
*
|
||||
* @param start first character, inclusive, of range to be added
|
||||
@ -1321,7 +1321,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
* Adds the specified multicharacter to this set if it is not already
|
||||
* present. If this set already contains the multicharacter,
|
||||
* the call leaves this set unchanged.
|
||||
* Thus "ch" => {"ch"}
|
||||
* Thus "ch" => {"ch"}
|
||||
* <br><b>Warning: you cannot add an empty string ("") to a UnicodeSet.</b>
|
||||
* @param s the source string
|
||||
* @return this object, for chaining
|
||||
@ -1362,7 +1362,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds each of the characters in this string to the set. Thus "ch" => {"c", "h"}
|
||||
* Adds each of the characters in this string to the set. Thus "ch" => {"c", "h"}
|
||||
* If this set already any particular character, it has no effect on that character.
|
||||
* @param s the source string
|
||||
* @return this object, for chaining
|
||||
@ -1426,7 +1426,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes a set from a multicharacter string. Thus "ch" => {"ch"}
|
||||
* Makes a set from a multicharacter string. Thus "ch" => {"ch"}
|
||||
* <br><b>Warning: you cannot add an empty string ("") to a UnicodeSet.</b>
|
||||
* @param s the source string
|
||||
* @return a newly created set containing the given string
|
||||
@ -1438,7 +1438,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
|
||||
|
||||
/**
|
||||
* Makes a set from each of the characters in the string. Thus "ch" => {"c", "h"}
|
||||
* Makes a set from each of the characters in the string. Thus "ch" => {"c", "h"}
|
||||
* @param s the source string
|
||||
* @return a newly created set containing the given characters
|
||||
* @stable ICU 2.0
|
||||
@ -1450,7 +1450,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
|
||||
/**
|
||||
* Retain only the elements in this set that are contained in the
|
||||
* specified range. If <code>end > start</code> then an empty range is
|
||||
* specified range. If <code>end > start</code> then an empty range is
|
||||
* retained, leaving the set empty.
|
||||
*
|
||||
* @param start first character, inclusive, of range to be retained
|
||||
@ -1516,7 +1516,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
/**
|
||||
* Removes the specified range from this set if it is present.
|
||||
* The set will not contain the specified range once the call
|
||||
* returns. If <code>end > start</code> then an empty range is
|
||||
* returns. If <code>end > start</code> then an empty range is
|
||||
* removed, leaving the set unchanged.
|
||||
*
|
||||
* @param start first character, inclusive, of range to be removed
|
||||
@ -1573,7 +1573,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
/**
|
||||
* Complements the specified range in this set. Any character in
|
||||
* the range will be removed if it is in this set, or will be
|
||||
* added if it is not in this set. If <code>end > start</code>
|
||||
* added if it is not in this set. If <code>end > start</code>
|
||||
* then an empty range is complemented, leaving the set unchanged.
|
||||
*
|
||||
* @param start first character, inclusive, of range to be removed
|
||||
@ -3359,7 +3359,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
* UCharacter.getIntPropertyMaxValue(prop), with one exception.
|
||||
* If prop is UProperty.GENERAL_CATEGORY_MASK, then value should not be
|
||||
* a UCharacter.getType() result, but rather a mask value produced
|
||||
* by logically ORing (1 << UCharacter.getType()) values together.
|
||||
* by logically ORing (1 << UCharacter.getType()) values together.
|
||||
* This allows grouped categories such as [:L:] to be represented.
|
||||
*
|
||||
* @return a reference to this set
|
||||
@ -3821,7 +3821,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
|
||||
* 2. For each string 'e' in the resulting set, if e !=
|
||||
* foldCase(e), 'e' will be removed.
|
||||
*
|
||||
* Example: [aq\u00DF{Bc}{bC}{Fi}] => [aAqQ\u00DF\uFB01{ss}{bc}{fi}]
|
||||
* Example: [aq\u00DF{Bc}{bC}{Fi}] => [aAqQ\u00DF\uFB01{ss}{bc}{fi}]
|
||||
*
|
||||
* (Here foldCase(x) refers to the operation
|
||||
* UCharacter.foldCase(x, true), and a == b actually denotes
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2014-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 2014-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -14,7 +14,7 @@ import com.ibm.icu.util.OutputInt;
|
||||
* An instance is immutable (and thus thread-safe) iff the source UnicodeSet is frozen.
|
||||
* <p><b>Note:</b> The counting, deletion, and replacement depend on alternating a {@link SpanCondition} with
|
||||
* its inverse. That is, the code spans, then spans for the inverse, then spans, and so on.
|
||||
* For the inverse, the following mapping is used:</p>
|
||||
* For the inverse, the following mapping is used:
|
||||
* <ul>
|
||||
* <li>{@link UnicodeSet.SpanCondition#SIMPLE} → {@link UnicodeSet.SpanCondition#NOT_CONTAINED}</li>
|
||||
* <li>{@link UnicodeSet.SpanCondition#CONTAINED} → {@link UnicodeSet.SpanCondition#NOT_CONTAINED}</li>
|
||||
@ -22,21 +22,21 @@ import com.ibm.icu.util.OutputInt;
|
||||
* </ul>
|
||||
* These are actually not complete inverses. However, the alternating works because there are no gaps.
|
||||
* For example, with [a{ab}{bc}], you get the following behavior when scanning forward:
|
||||
* <p>
|
||||
*
|
||||
* <table border="1">
|
||||
* <tr><th>SIMPLE</th><td>xxx[ab]cyyy</td></tr>
|
||||
* <tr><th>CONTAINED</th><td>xxx[abc]yyy</td></tr>
|
||||
* <tr><th>NOT_CONTAINED</th><td>[xxx]ab[cyyy]</td></tr>
|
||||
* </table>
|
||||
* <p>So here is what happens when you alternate:
|
||||
* <p>
|
||||
*
|
||||
* <table border="1">
|
||||
* <tr><th>start</th><td>|xxxabcyyy</td></tr>
|
||||
* <tr><th>NOT_CONTAINED</th><td>xxx|abcyyy</td></tr>
|
||||
* <tr><th>CONTAINED</th><td>xxxabc|yyy</td></tr>
|
||||
* <tr><th>NOT_CONTAINED</th><td>xxxabcyyy|</td></tr>
|
||||
* </table>
|
||||
* </p>The entire string is traversed.
|
||||
* <p>The entire string is traversed.
|
||||
*
|
||||
* @stable ICU 54
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2010, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -12,14 +12,12 @@ import java.nio.ByteBuffer;
|
||||
import com.ibm.icu.impl.Utility;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* A simple utility class to wrap a byte array.
|
||||
* </p>
|
||||
* <p>
|
||||
* Generally passed as an argument object into a method. The method takes
|
||||
* responsibility of writing into the internal byte array and increasing its
|
||||
* size when necessary.
|
||||
* </p>
|
||||
*
|
||||
* @author syn wee
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
@ -56,7 +54,7 @@ public class ByteArrayWrapper implements Comparable<ByteArrayWrapper>
|
||||
* @param bytesToAdopt the byte array to adopt
|
||||
* @param size the length of valid data in the byte array
|
||||
* @throws IndexOutOfBoundsException if bytesToAdopt == null and size != 0, or
|
||||
* size < 0, or size > bytesToAdopt.length.
|
||||
* size < 0, or size > bytesToAdopt.length.
|
||||
* @stable ICU 3.2
|
||||
*/
|
||||
public ByteArrayWrapper(byte[] bytesToAdopt, int size) {
|
||||
@ -242,7 +240,7 @@ public class ByteArrayWrapper implements Comparable<ByteArrayWrapper>
|
||||
/**
|
||||
* Compare this object to another ByteArrayWrapper, which must not be null.
|
||||
* @param other the object to compare to.
|
||||
* @return a value <0, 0, or >0 as this compares less than, equal to, or
|
||||
* @return a value <0, 0, or >0 as this compares less than, equal to, or
|
||||
* greater than other.
|
||||
* @throws ClassCastException if the other object is not a ByteArrayWrapper
|
||||
* @stable ICU 4.4
|
||||
|
@ -3799,9 +3799,9 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
|
||||
/**
|
||||
* Returns the week number of a day, within a period. This may be the week number in
|
||||
* a year or the week number in a month. Usually this will be a value >= 1, but if
|
||||
* a year or the week number in a month. Usually this will be a value >= 1, but if
|
||||
* some initial days of the period are excluded from week 1, because
|
||||
* {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is > 1, then
|
||||
* {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is > 1, then
|
||||
* the week number will be zero for those
|
||||
* initial days. This method requires the day number and day of week for some
|
||||
* known date in the period in order to determine the day of week
|
||||
@ -3862,9 +3862,9 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
|
||||
/**
|
||||
* Returns the week number of a day, within a period. This may be the week number in
|
||||
* a year, or the week number in a month. Usually this will be a value >= 1, but if
|
||||
* a year, or the week number in a month. Usually this will be a value >= 1, but if
|
||||
* some initial days of the period are excluded from week 1, because
|
||||
* {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is > 1,
|
||||
* {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is > 1,
|
||||
* then the week number will be zero for those
|
||||
* initial days. This method requires the day of week for the given date in order to
|
||||
* determine the result.
|
||||
@ -3941,7 +3941,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
* int m2 = cal.fieldDifference(date1, Calendar.MONTH);
|
||||
* int d2 = cal.fieldDifference(date1, Calendar.DATE);</pre>
|
||||
*
|
||||
* one might expect that <code>m1 == -m2 && d1 == -d2</code>.
|
||||
* one might expect that <code>m1 == -m2 && d1 == -d2</code>.
|
||||
* However, this is not generally the case, because of
|
||||
* irregularities in the underlying calendar system (e.g., the
|
||||
* Gregorian calendar has a varying number of days per month).
|
||||
@ -4319,7 +4319,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
|
||||
/**
|
||||
* Returns a limit for a field.
|
||||
* @param field the field, from 0..</code>getFieldCount()-1</code>
|
||||
* @param field the field, from 0..<code>getFieldCount()-1</code>
|
||||
* @param limitType the type specifier for the limit
|
||||
* @see #MINIMUM
|
||||
* @see #GREATEST_MINIMUM
|
||||
@ -5007,8 +5007,8 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
* Julian day. These values are not stored in fields, but in member
|
||||
* variables gregorianXxx. They are used for time zone computations and by
|
||||
* subclasses that are Gregorian derivatives. Subclasses may call this
|
||||
* method to perform a Gregorian calendar millis->fields computation.
|
||||
* To perform a Gregorian calendar fields->millis computation, call
|
||||
* method to perform a Gregorian calendar millis->fields computation.
|
||||
* To perform a Gregorian calendar fields->millis computation, call
|
||||
* computeGregorianMonthStart().
|
||||
* @see #computeGregorianMonthStart
|
||||
* @stable ICU 2.0
|
||||
@ -5913,8 +5913,8 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
/**
|
||||
* Compute the Julian day of a month of the Gregorian calendar.
|
||||
* Subclasses may call this method to perform a Gregorian calendar
|
||||
* fields->millis computation. To perform a Gregorian calendar
|
||||
* millis->fields computation, call computeGregorianFields().
|
||||
* fields->millis computation. To perform a Gregorian calendar
|
||||
* millis->fields computation, call computeGregorianFields().
|
||||
* @param year extended Gregorian year
|
||||
* @param month zero-based Gregorian month
|
||||
* @return the Julian day number of the day before the first
|
||||
@ -6128,10 +6128,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
* Divide two long integers, returning the floor of the quotient.
|
||||
* <p>
|
||||
* Unlike the built-in division, this is mathematically well-behaved.
|
||||
* E.g., <code>-1/4</code> => 0
|
||||
* but <code>floorDivide(-1,4)</code> => -1.
|
||||
* E.g., <code>-1/4</code> => 0
|
||||
* but <code>floorDivide(-1,4)</code> => -1.
|
||||
* @param numerator the numerator
|
||||
* @param denominator a divisor which must be > 0
|
||||
* @param denominator a divisor which must be > 0
|
||||
* @return the floor of the quotient.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
@ -6147,10 +6147,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
* Divide two integers, returning the floor of the quotient.
|
||||
* <p>
|
||||
* Unlike the built-in division, this is mathematically well-behaved.
|
||||
* E.g., <code>-1/4</code> => 0
|
||||
* but <code>floorDivide(-1,4)</code> => -1.
|
||||
* E.g., <code>-1/4</code> => 0
|
||||
* but <code>floorDivide(-1,4)</code> => -1.
|
||||
* @param numerator the numerator
|
||||
* @param denominator a divisor which must be > 0
|
||||
* @param denominator a divisor which must be > 0
|
||||
* @return the floor of the quotient.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
@ -6167,10 +6167,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
* the modulus remainder.
|
||||
* <p>
|
||||
* Unlike the built-in division, this is mathematically well-behaved.
|
||||
* E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
|
||||
* but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
|
||||
* E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
|
||||
* but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
|
||||
* @param numerator the numerator
|
||||
* @param denominator a divisor which must be > 0
|
||||
* @param denominator a divisor which must be > 0
|
||||
* @param remainder an array of at least one element in which the value
|
||||
* <code>numerator mod denominator</code> is returned. Unlike <code>numerator
|
||||
* % denominator</code>, this will always be non-negative.
|
||||
@ -6192,10 +6192,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
* the modulus remainder.
|
||||
* <p>
|
||||
* Unlike the built-in division, this is mathematically well-behaved.
|
||||
* E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
|
||||
* but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
|
||||
* E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
|
||||
* but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
|
||||
* @param numerator the numerator
|
||||
* @param denominator a divisor which must be > 0
|
||||
* @param denominator a divisor which must be > 0
|
||||
* @param remainder an array of at least one element in which the value
|
||||
* <code>numerator mod denominator</code> is returned. Unlike <code>numerator
|
||||
* % denominator</code>, this will always be non-negative.
|
||||
@ -6292,12 +6292,12 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
||||
|
||||
/**
|
||||
* Returns if two digit representation of year in this calendar type
|
||||
* customarily implies a default century (i.e. 03 -> 2003).
|
||||
* customarily implies a default century (i.e. 03 -> 2003).
|
||||
* The default implementation returns <code>true</code>. A subclass may
|
||||
* return <code>false</code> if such practice is not applicable (for example,
|
||||
* Chinese calendar and Japanese calendar).
|
||||
*
|
||||
* @return <code>true<code> if this calendar has a default century.
|
||||
* @return <code>true</code> if this calendar has a default century.
|
||||
* @internal
|
||||
* @deprecated This API is ICU internal only.
|
||||
*/
|
||||
|
@ -640,7 +640,7 @@ public class Currency extends MeasureUnit {
|
||||
* @param text the text to parse
|
||||
* @param type parse against currency type: LONG_NAME only or not
|
||||
* @param pos input-output position; on input, the position within
|
||||
* text to match; must have 0 <= pos.getIndex() < text.length();
|
||||
* text to match; must have 0 <= pos.getIndex() < text.length();
|
||||
* on output, the position after the last matched character. If
|
||||
* the parse fails, the position in unchanged upon output.
|
||||
* @return the ISO 4217 code, as a string, of the best match, or
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
* Copyright (C) 2005-2014, International Business Machines Corporation and *
|
||||
* Copyright (C) 2005-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
******************************************************************************
|
||||
*/
|
||||
@ -139,7 +139,7 @@ package com.ibm.icu.util;
|
||||
* </p>
|
||||
*
|
||||
* <pre>
|
||||
* public class A implements Freezable<A> {
|
||||
* public class A implements Freezable<A> {
|
||||
* ...
|
||||
* public final boolean isFrozen() {return true;}
|
||||
* public final A freeze() {return this;}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2014, International Business Machines Corporation and
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -46,7 +46,7 @@ import com.ibm.icu.util.ULocale.Category;
|
||||
* calendar, see one of the following references:
|
||||
* <ul>
|
||||
* <li>"<a href="http://www.amazon.com/exec/obidos/ASIN/0521564743">Calendrical Calculations</a>",
|
||||
* by Nachum Dershowitz & Edward Reingold, Cambridge University Press, 1997, pages 85-91.
|
||||
* by Nachum Dershowitz & Edward Reingold, Cambridge University Press, 1997, pages 85-91.
|
||||
*
|
||||
* <li>Hebrew Calendar Science and Myths,
|
||||
* <a href="http://web.archive.org/web/20090423084613/http://www.geocities.com/Athens/1584/">
|
||||
|
@ -32,7 +32,8 @@ public final class LocaleData {
|
||||
/**
|
||||
* EXType for {@link #getExemplarSet(int, int)}.
|
||||
* Corresponds to the 'main' (aka 'standard') CLDR exemplars in
|
||||
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
|
||||
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
|
||||
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
|
||||
* @stable ICU 3.4
|
||||
*/
|
||||
public static final int ES_STANDARD = 0;
|
||||
@ -40,7 +41,8 @@ public final class LocaleData {
|
||||
/**
|
||||
* EXType for {@link #getExemplarSet(int, int)}.
|
||||
* Corresponds to the 'auxiliary' CLDR exemplars in
|
||||
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
|
||||
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
|
||||
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
|
||||
* @stable ICU 3.4
|
||||
*/
|
||||
public static final int ES_AUXILIARY = 1;
|
||||
@ -48,7 +50,8 @@ public final class LocaleData {
|
||||
/**
|
||||
* EXType for {@link #getExemplarSet(int, int)}.
|
||||
* Corresponds to the 'index' CLDR exemplars in
|
||||
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
|
||||
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
|
||||
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
|
||||
* @stable ICU 4.4
|
||||
*/
|
||||
public static final int ES_INDEX = 2;
|
||||
@ -56,7 +59,8 @@ public final class LocaleData {
|
||||
/**
|
||||
* EXType for {@link #getExemplarSet(int, int)}.
|
||||
* Corresponds to the 'currencySymbol' CLDR exemplars in
|
||||
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
|
||||
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
|
||||
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
|
||||
* Note: This type is no longer supported.
|
||||
* @deprecated ICU 51
|
||||
*/
|
||||
@ -65,7 +69,8 @@ public final class LocaleData {
|
||||
|
||||
/**
|
||||
* Corresponds to the 'punctuation' CLDR exemplars in
|
||||
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
|
||||
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
|
||||
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
|
||||
* EXType for {@link #getExemplarSet(int, int)}.
|
||||
* @stable ICU 49
|
||||
*/
|
||||
@ -405,7 +410,7 @@ public final class LocaleData {
|
||||
|
||||
/**
|
||||
* Returns the size of paper used in the locale. The paper sizes returned are always in
|
||||
* <em> milli-meters<em>.
|
||||
* <em>milli-meters</em>.
|
||||
* @param locale The locale for which the measurement system to be retrieved.
|
||||
* @return The paper size used in the locale
|
||||
* @stable ICU 3.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
****************************************************************************************
|
||||
* Copyright (C) 2009-2015, Google, Inc.; International Business Machines Corporation *
|
||||
* Copyright (C) 2009-2016, Google, Inc.; International Business Machines Corporation *
|
||||
* and others. All Rights Reserved. *
|
||||
****************************************************************************************
|
||||
*/
|
||||
@ -32,7 +32,7 @@ import com.ibm.icu.impl.Utility;
|
||||
* LocaleMatcher matcher = new LocaleMatcher("fr, en-GB, en");
|
||||
*
|
||||
* // afterwards:
|
||||
* matcher.getBestMatch("en-US").toLanguageTag() => "en"
|
||||
* matcher.getBestMatch("en-US").toLanguageTag() => "en"
|
||||
* </pre>
|
||||
*
|
||||
* It takes into account when languages are close to one another, such as fil
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2010-2014, Google, Inc.; International Business Machines *
|
||||
* Copyright (C) 2010-2016, Google, Inc.; International Business Machines *
|
||||
* Corporation and others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -22,7 +22,7 @@ import java.util.regex.Pattern;
|
||||
/**
|
||||
* Provides an immutable list of languages (locales) in priority order.
|
||||
* The string format is based on the Accept-Language format
|
||||
* {@link "http://www.ietf.org/rfc/rfc2616.txt"}, such as
|
||||
* <a href="http://www.ietf.org/rfc/rfc2616.txt">http://www.ietf.org/rfc/rfc2616.txt</a>, such as
|
||||
* "af, en, fr;q=0.9". Syntactically it is slightly
|
||||
* more lenient, in allowing extra whitespace between elements, extra commas,
|
||||
* and more than 3 decimals (on input), and pins between 0 and 1.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2011-2012, International Business Machines Corporation and *
|
||||
* Copyright (C) 2011-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -35,7 +35,7 @@ public class Output<T> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs an <code>Output</code> withe the given value.
|
||||
* Constructs an <code>Output</code> with the given value.
|
||||
* @param value the initial value
|
||||
* @stable ICU 4.8
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
* Copyright (C) 1996-2010, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
******************************************************************************
|
||||
*/
|
||||
@ -8,12 +8,12 @@
|
||||
package com.ibm.icu.util;
|
||||
|
||||
/**
|
||||
* <p>Interface for enabling iteration over sets of <int index, int value>,
|
||||
* <p>Interface for enabling iteration over sets of <int index, int value>,
|
||||
* where index is the sorted integer index in ascending order and value, its
|
||||
* associated integer value.</p>
|
||||
* associated integer value.
|
||||
* <p>The result for each iteration is the consecutive range of
|
||||
* <int index, int value> with the same value. Result is represented by
|
||||
* <start, limit, value> where</p>
|
||||
* <int index, int value> with the same value. Result is represented by
|
||||
* <start, limit, value> where
|
||||
* <ul>
|
||||
* <li> start is the starting integer of the result range
|
||||
* <li> limit is 1 after the maximum integer that follows start, such that
|
||||
@ -26,11 +26,11 @@ package com.ibm.icu.util;
|
||||
* Hence value(start) = value(start + 1) = .... = value(start + n) = .... =
|
||||
* value(limit - 1). However value(start -1) != value(start) and
|
||||
* value(limit) != value(start).
|
||||
* </p>
|
||||
*
|
||||
* <p>Most implementations will be created by factory methods, such as the
|
||||
* character type iterator in UCharacter.getTypeIterator. See example below.
|
||||
* </p>
|
||||
* Example of use:<br>
|
||||
*
|
||||
* <p>Example of use:<br>
|
||||
* <pre>
|
||||
* RangeValueIterator iterator = UCharacter.getTypeIterator();
|
||||
* RangeValueIterator.Element result = new RangeValueIterator.Element();
|
||||
@ -92,9 +92,9 @@ public interface RangeValueIterator
|
||||
|
||||
/**
|
||||
* <p>Returns the next maximal result range with a common value and returns
|
||||
* true if we are not at the end of the iteration, false otherwise.</p>
|
||||
* true if we are not at the end of the iteration, false otherwise.
|
||||
* <p>If this returns a false, the contents of elements will not
|
||||
* be updated.</p>
|
||||
* be updated.
|
||||
* @param element for storing the result range and value
|
||||
* @return true if we are not at the end of the iteration, false otherwise.
|
||||
* @see Element
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2010, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -94,8 +94,8 @@ public class SimpleHoliday extends Holiday {
|
||||
* @param dayOfWeek The day of the week on which this holiday occurs.
|
||||
* The following values are legal: <ul>
|
||||
* <li>dayOfWeek == 0 - use dayOfMonth only
|
||||
* <li>dayOfWeek < 0 - use last -dayOfWeek before or on dayOfMonth
|
||||
* <li>dayOfWeek > 0 - use first dayOfWeek after or on dayOfMonth
|
||||
* <li>dayOfWeek < 0 - use last -dayOfWeek before or on dayOfMonth
|
||||
* <li>dayOfWeek > 0 - use first dayOfWeek after or on dayOfMonth
|
||||
* </ul>
|
||||
*
|
||||
* @param name The name of this holiday. This string is used as a key
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2014, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -20,11 +20,10 @@ import com.ibm.icu.text.UnicodeSet;
|
||||
* into tokens by performing code point comparison.
|
||||
* The <code>StringTokenizer</code> methods do not distinguish
|
||||
* among identifiers, numbers, and quoted strings, nor do they recognize
|
||||
* and skip comments.</p>
|
||||
* and skip comments.
|
||||
* <p>
|
||||
* The set of delimiters (the codepoints that separate tokens) may be
|
||||
* specified either at creation time or on a per-token basis.
|
||||
* </p>
|
||||
* <p>
|
||||
* An instance of <code>StringTokenizer</code> behaves in one of three ways,
|
||||
* depending on whether it was created with the <code>returnDelims</code>
|
||||
@ -44,16 +43,13 @@ import com.ibm.icu.text.UnicodeSet;
|
||||
* delimiter code point, a maximal sequence of consecutive code points that
|
||||
* are delimiters, or a maximal sequence of consecutive code
|
||||
* points that are not delimiters.
|
||||
* </p>
|
||||
* <p>
|
||||
* A <tt>StringTokenizer</tt> object internally maintains a current
|
||||
* position within the string to be tokenized. Some operations advance this
|
||||
* current position past the code point processed.
|
||||
* </p>
|
||||
* <p>
|
||||
* A token is returned by taking a substring of the string that was used to
|
||||
* create the <tt>StringTokenizer</tt> object.
|
||||
* </p>
|
||||
* <p>
|
||||
* Example of the use of the default delimiter tokenizer.
|
||||
* <blockquote><pre>
|
||||
@ -62,7 +58,6 @@ import com.ibm.icu.text.UnicodeSet;
|
||||
* println(st.nextToken());
|
||||
* }
|
||||
* </pre></blockquote>
|
||||
* </p>
|
||||
* <p>
|
||||
* prints the following output:
|
||||
* <blockquote><pre>
|
||||
@ -71,7 +66,6 @@ import com.ibm.icu.text.UnicodeSet;
|
||||
* a
|
||||
* test
|
||||
* </pre></blockquote>
|
||||
* </p>
|
||||
* <p>
|
||||
* Example of the use of the tokenizer with user specified delimiter.
|
||||
* <blockquote><pre>
|
||||
@ -82,7 +76,6 @@ import com.ibm.icu.text.UnicodeSet;
|
||||
* println(st.nextToken());
|
||||
* }
|
||||
* </pre></blockquote>
|
||||
* </p>
|
||||
* <p>
|
||||
* prints the following output:
|
||||
* <blockquote><pre>
|
||||
@ -96,7 +89,7 @@ import com.ibm.icu.text.UnicodeSet;
|
||||
* \ud800
|
||||
* \udc00
|
||||
* </pre></blockquote>
|
||||
* </p>
|
||||
*
|
||||
* @author syn wee
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
@ -109,7 +102,7 @@ public final class StringTokenizer implements Enumeration<Object>
|
||||
* characters in the delim argument are the delimiters for separating
|
||||
* tokens.
|
||||
* <p>If the returnDelims flag is false, the delimiter characters are
|
||||
* skipped and only serve as separators between tokens.</p>
|
||||
* skipped and only serve as separators between tokens.
|
||||
* <p>If the returnDelims flag is true, then the delimiter characters
|
||||
* are also returned as tokens, one per delimiter.
|
||||
* @param str a string to be parsed.
|
||||
@ -129,12 +122,12 @@ public final class StringTokenizer implements Enumeration<Object>
|
||||
* characters in the delim argument are the delimiters for separating
|
||||
* tokens.
|
||||
* <p>If the returnDelims flag is false, the delimiter characters are
|
||||
* skipped and only serve as separators between tokens.</p>
|
||||
* skipped and only serve as separators between tokens.
|
||||
* <p>If the returnDelims flag is true, then the delimiter characters
|
||||
* are also returned as tokens. If coalescedelims is true, one token
|
||||
* is returned for each run of delimiter characters, otherwise one
|
||||
* token is returned per delimiter. Since surrogate pairs can be
|
||||
* delimiters, the returned token might be two chars in length.</p>
|
||||
* delimiters, the returned token might be two chars in length.
|
||||
* @param str a string to be parsed.
|
||||
* @param delim the delimiters.
|
||||
* @param returndelims flag indicating whether to return the delimiters
|
||||
@ -177,7 +170,7 @@ public final class StringTokenizer implements Enumeration<Object>
|
||||
* {@icu} Constructs a string tokenizer for the specified string. The
|
||||
* characters in the delim argument are the delimiters for separating
|
||||
* tokens.
|
||||
* <p>Delimiter characters themselves will not be treated as tokens.</p>
|
||||
* <p>Delimiter characters themselves will not be treated as tokens.
|
||||
* @param str a string to be parsed.
|
||||
* @param delim the delimiters.
|
||||
* @exception NullPointerException if str is null
|
||||
@ -191,9 +184,9 @@ public final class StringTokenizer implements Enumeration<Object>
|
||||
/**
|
||||
* <p>Constructs a string tokenizer for the specified string. All
|
||||
* characters in the delim argument are the delimiters for separating
|
||||
* tokens.</p>
|
||||
* tokens.
|
||||
* <p>If the returnDelims flag is false, the delimiter characters are
|
||||
* skipped and only serve as separators between tokens.</p>
|
||||
* skipped and only serve as separators between tokens.
|
||||
* <p>If the returnDelims flag is true, then the delimiter characters
|
||||
* are also returned as tokens, one per delimiter.
|
||||
* @param str a string to be parsed.
|
||||
@ -211,14 +204,14 @@ public final class StringTokenizer implements Enumeration<Object>
|
||||
/**
|
||||
* <p>Constructs a string tokenizer for the specified string. All
|
||||
* characters in the delim argument are the delimiters for separating
|
||||
* tokens.</p>
|
||||
* tokens.
|
||||
* <p>If the returnDelims flag is false, the delimiter characters are
|
||||
* skipped and only serve as separators between tokens.</p>
|
||||
* skipped and only serve as separators between tokens.
|
||||
* <p>If the returnDelims flag is true, then the delimiter characters
|
||||
* are also returned as tokens. If coalescedelims is true, one token
|
||||
* is returned for each run of delimiter characters, otherwise one
|
||||
* token is returned per delimiter. Since surrogate pairs can be
|
||||
* delimiters, the returned token might be two chars in length.</p>
|
||||
* delimiters, the returned token might be two chars in length.
|
||||
* @param str a string to be parsed.
|
||||
* @param delim the delimiters.
|
||||
* @param returndelims flag indicating whether to return the delimiters
|
||||
@ -261,8 +254,8 @@ public final class StringTokenizer implements Enumeration<Object>
|
||||
/**
|
||||
* <p>Constructs a string tokenizer for the specified string. The
|
||||
* characters in the delim argument are the delimiters for separating
|
||||
* tokens.</p>
|
||||
* <p>Delimiter characters themselves will not be treated as tokens.</p>
|
||||
* tokens.
|
||||
* <p>Delimiter characters themselves will not be treated as tokens.
|
||||
* @param str a string to be parsed.
|
||||
* @param delim the delimiters.
|
||||
* @exception NullPointerException if str is null
|
||||
@ -279,8 +272,8 @@ public final class StringTokenizer implements Enumeration<Object>
|
||||
* The tokenizer uses the default delimiter set, which is
|
||||
* " \t\n\r\f":
|
||||
* the space character, the tab character, the newline character, the
|
||||
* carriage-return character, and the form-feed character.</p>
|
||||
* <p>Delimiter characters themselves will not be treated as tokens.</p>
|
||||
* carriage-return character, and the form-feed character.
|
||||
* <p>Delimiter characters themselves will not be treated as tokens.
|
||||
* @param str a string to be parsed
|
||||
* @exception NullPointerException if str is null
|
||||
* @stable ICU 2.4
|
||||
|
@ -879,7 +879,7 @@ abstract public class TimeZone implements Serializable, Cloneable, Freezable<Tim
|
||||
* includes the given ID. An equivalency group contains zones
|
||||
* that have the same GMT offset and rules.
|
||||
*
|
||||
* <p>The returned count includes the given ID; it is always >= 1
|
||||
* <p>The returned count includes the given ID; it is always >= 1
|
||||
* for valid IDs. The given ID must be a system time zone. If it
|
||||
* is not, returns zero.
|
||||
* @param id a system time zone ID
|
||||
@ -1134,7 +1134,7 @@ abstract public class TimeZone implements Serializable, Cloneable, Freezable<Tim
|
||||
* method returns <code>null</code>.
|
||||
*
|
||||
* <p>This implementation utilizes <a href="http://unicode.org/cldr/charts/supplemental/zone_tzid.html">
|
||||
* Zone-Tzid mapping data<a>. The mapping data is updated time to time. To get the latest changes,
|
||||
* Zone-Tzid mapping data</a>. The mapping data is updated time to time. To get the latest changes,
|
||||
* please read the ICU user guide section <a href="http://userguide.icu-project.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data">
|
||||
* Updating the Time Zone Data</a>.
|
||||
*
|
||||
@ -1194,7 +1194,7 @@ abstract public class TimeZone implements Serializable, Cloneable, Freezable<Tim
|
||||
* method returns <code>null</code>.
|
||||
*
|
||||
* <p>This implementation utilizes <a href="http://unicode.org/cldr/charts/supplemental/zone_tzid.html">
|
||||
* Zone-Tzid mapping data<a>. The mapping data is updated time to time. To get the latest changes,
|
||||
* Zone-Tzid mapping data</a>. The mapping data is updated time to time. To get the latest changes,
|
||||
* please read the ICU user guide section <a href="http://userguide.icu-project.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data">
|
||||
* Updating the Time Zone Data</a>.
|
||||
*
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2007-2010, International Business Machines Corporation and *
|
||||
* Copyright (C) 2007-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -162,7 +162,7 @@ public abstract class TimeZoneRule implements Serializable {
|
||||
/**
|
||||
* Returns if this <code>TimeZoneRule</code> has one or more start times.
|
||||
*
|
||||
* @return true if this <TimeZoneRule</code> has one or more start times.
|
||||
* @return true if this <code>TimeZoneRule</code> has one or more start times.
|
||||
*
|
||||
* @stable ICU 3.8
|
||||
*/
|
||||
|
@ -85,7 +85,7 @@ import com.ibm.icu.text.LocaleDisplayNames.DialectHandling;
|
||||
* All ULocale constructors automatically normalize the locale id. To handle
|
||||
* POSIX ids, <code>canonicalize</code> can be called to convert the id
|
||||
* to canonical form, or the <code>canonicalInstance</code> factory method
|
||||
* can be called.</p>
|
||||
* can be called.
|
||||
*
|
||||
* <p>This class provides selectors {@link #VALID_LOCALE} and {@link
|
||||
* #ACTUAL_LOCALE} intended for use in methods named
|
||||
@ -93,10 +93,10 @@ import com.ibm.icu.text.LocaleDisplayNames.DialectHandling;
|
||||
* including {@link com.ibm.icu.util.Calendar}, {@link
|
||||
* com.ibm.icu.util.Currency}, {@link com.ibm.icu.text.UFormat},
|
||||
* {@link com.ibm.icu.text.BreakIterator},
|
||||
* <a href="../text/Collator.html" title="class in com.ibm.icu.text"><code>Collator</code></a>,
|
||||
* {@link com.ibm.icu.text.Collator},
|
||||
* {@link com.ibm.icu.text.DateFormatSymbols}, and {@link
|
||||
* com.ibm.icu.text.DecimalFormatSymbols} and their subclasses, if
|
||||
* any. Once an object of one of these classes has been created,
|
||||
* any. Once an object of one of these classes has been created,
|
||||
* <tt>getLocale()</tt> may be called on it to determine the valid and
|
||||
* actual locale arrived at during the object's construction.
|
||||
*
|
||||
@ -804,7 +804,7 @@ public final class ULocale implements Serializable, Comparable<ULocale> {
|
||||
|
||||
/**
|
||||
* Compares two ULocale for ordering.
|
||||
* <p><b>Note:</b> The order might change in future.</p>
|
||||
* <p><b>Note:</b> The order might change in future.
|
||||
*
|
||||
* @param other the ULocale to be compared.
|
||||
* @return a negative integer, zero, or a positive integer as this ULocale is less than, equal to, or greater
|
||||
@ -3324,7 +3324,8 @@ public final class ULocale implements Serializable, Comparable<ULocale> {
|
||||
* to {@link ULocale.Builder#setLanguageTag} which throws an exception
|
||||
* in this case.
|
||||
*
|
||||
* <p>The following <b>conversions</b> are performed:<ul>
|
||||
* <p>The following <b>conversions</b> are performed:
|
||||
* <ul>
|
||||
*
|
||||
* <li>The language code "und" is mapped to language "".
|
||||
*
|
||||
@ -3357,6 +3358,8 @@ public final class ULocale implements Serializable, Comparable<ULocale> {
|
||||
* script to title case, country to upper case, variant to upper case,
|
||||
* and extensions to lower case.
|
||||
*
|
||||
* </ul>
|
||||
*
|
||||
* <p>This implements the 'Language-Tag' production of BCP47, and
|
||||
* so supports grandfathered (regular and irregular) as well as
|
||||
* private use language tags. Stand alone private use tags are
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2004-2015, International Business Machines Corporation and
|
||||
* Copyright (C) 2004-2016, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -83,11 +83,11 @@ import com.ibm.icu.impl.SimpleCache;
|
||||
* UResourceBundle.getBundleInstance("com.mycompany.resources.LocaleElements",
|
||||
* "en_US", myClassLoader);
|
||||
* </pre>
|
||||
* <note>
|
||||
* Please use pass a class loader for loading non-ICU resources. Java security does not
|
||||
*
|
||||
* <p>Note: Please use pass a class loader for loading non-ICU resources. Java security does not
|
||||
* allow loading of resources across jar files. You must provide your class loader
|
||||
* to load the resources
|
||||
* </note>
|
||||
|
||||
* @stable ICU 3.0
|
||||
* @author ram
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*********************************************************************************
|
||||
* Copyright (C) 2004-2014, International Business Machines Corporation and *
|
||||
* Copyright (C) 2004-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*********************************************************************************
|
||||
*
|
||||
@ -22,30 +22,30 @@ import com.ibm.icu.math.BigDecimal;
|
||||
* conversion back and forth between different systems.
|
||||
*
|
||||
* <p>Binary datetimes differ in a number of ways: the datatype, the unit,
|
||||
* and the epoch (origin). We refer to these as time scales.</p>
|
||||
* and the epoch (origin). We refer to these as time scales.
|
||||
*
|
||||
* <p>ICU implements a universal time scale that is similar to the
|
||||
* .NET framework's System.DateTime. The universal time scale is a
|
||||
* 64-bit integer that holds ticks since midnight, January 1st, 0001.
|
||||
* (One tick is 100 nanoseconds.)
|
||||
* Negative values are supported. This has enough range to guarantee that
|
||||
* calculations involving dates around the present are safe.</p>
|
||||
* calculations involving dates around the present are safe.
|
||||
*
|
||||
* <p>The universal time scale always measures time according to the
|
||||
* proleptic Gregorian calendar. That is, the Gregorian calendar's
|
||||
* leap year rules are used for all times, even before 1582 when it was
|
||||
* introduced. (This is different from the default ICU calendar which
|
||||
* switches from the Julian to the Gregorian calendar in 1582.
|
||||
* See GregorianCalendar.setGregorianChange() and ucal_setGregorianChange().)</p>
|
||||
* See GregorianCalendar.setGregorianChange() and ucal_setGregorianChange().)
|
||||
*
|
||||
* ICU provides conversion functions to and from all other major time
|
||||
* scales, allowing datetimes in any time scale to be converted to the
|
||||
* universal time scale, safely manipulated, and converted back to any other
|
||||
* datetime time scale.</p>
|
||||
* datetime time scale.
|
||||
*
|
||||
* <p>For more details and background, see the
|
||||
* <a href="http://www.icu-project.org/userguide/universalTimeScale.html">Universal Time Scale</a>
|
||||
* chapter in the ICU User Guide.</p>
|
||||
* chapter in the ICU User Guide.
|
||||
*
|
||||
* @stable ICU 3.2
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
* Copyright (C) 1996-2010, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
******************************************************************************
|
||||
*/
|
||||
@ -8,16 +8,16 @@
|
||||
package com.ibm.icu.util;
|
||||
|
||||
/**
|
||||
* <p>Interface for enabling iteration over sets of <int, Object>, where
|
||||
* <p>Interface for enabling iteration over sets of <int, Object>, where
|
||||
* int is the sorted integer index in ascending order, and Object its
|
||||
* associated value.</p>
|
||||
* associated value.
|
||||
* <p>The ValueIterator allows iterations over integer indexes in the range
|
||||
* of Integer.MIN_VALUE to Integer.MAX_VALUE inclusive. Implementations of
|
||||
* ValueIterator should specify their own maximum subrange within the above
|
||||
* range that is meaningful to its applications.</p>
|
||||
* range that is meaningful to its applications.
|
||||
* <p>Most implementations will be created by factory methods, such as the
|
||||
* character name iterator in UCharacter.getNameIterator. See example below.
|
||||
* </p>
|
||||
*
|
||||
* Example of use:<br>
|
||||
* <pre>
|
||||
* ValueIterator iterator = UCharacter.getNameIterator();
|
||||
@ -38,7 +38,7 @@ public interface ValueIterator
|
||||
|
||||
/**
|
||||
* <p>The return result container of each iteration. Stores the next
|
||||
* integer index and its associated value Object.</p>
|
||||
* integer index and its associated value Object.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static final class Element
|
||||
@ -71,9 +71,9 @@ public interface ValueIterator
|
||||
|
||||
/**
|
||||
* <p>Returns the next result for this iteration and returns
|
||||
* true if we are not at the end of the iteration, false otherwise.</p>
|
||||
* true if we are not at the end of the iteration, false otherwise.
|
||||
* <p>If this returns a false, the contents of elements will not
|
||||
* be updated.</p>
|
||||
* be updated.
|
||||
* @param element for storing the result index and value
|
||||
* @return true if we are not at the end of the iteration, false otherwise.
|
||||
* @see Element
|
||||
@ -84,25 +84,25 @@ public interface ValueIterator
|
||||
/**
|
||||
* <p>Resets the iterator to start iterating from the integer index
|
||||
* Integer.MIN_VALUE or X if a setRange(X, Y) has been called previously.
|
||||
* </p>
|
||||
*
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public void reset();
|
||||
|
||||
/**
|
||||
* <p>Restricts the range of integers to iterate and resets the iteration
|
||||
* to begin at the index argument start.</p>
|
||||
* to begin at the index argument start.
|
||||
* <p>If setRange(start, end) is not performed before next(element) is
|
||||
* called, the iteration will start from the integer index
|
||||
* Integer.MIN_VALUE and end at Integer.MAX_VALUE.</p>
|
||||
* Integer.MIN_VALUE and end at Integer.MAX_VALUE.
|
||||
* <p>
|
||||
* If this range is set outside the meaningful range specified by the
|
||||
* implementation, next(element) will always return false.
|
||||
* </p>
|
||||
*
|
||||
* @param start first integer in the range to iterate
|
||||
* @param limit one more than the last integer in the range
|
||||
* @exception IllegalArgumentException thrown when attempting to set an
|
||||
* illegal range. E.g limit <= start
|
||||
* illegal range. E.g limit <= start
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public void setRange(int start, int limit);
|
||||
|
@ -218,7 +218,7 @@ public final class VersionInfo implements Comparable<VersionInfo>
|
||||
* @param version version String in the format of "major.minor.milli.micro"
|
||||
* or "major.minor.milli" or "major.minor" or "major",
|
||||
* where major, minor, milli, micro are non-negative numbers
|
||||
* <= 255. If the trailing version numbers are
|
||||
* <= 255. If the trailing version numbers are
|
||||
* not specified they are taken as 0s. E.g. Version "3.1" is
|
||||
* equivalent to "3.1.0.0".
|
||||
* @return an instance of VersionInfo with the argument version.
|
||||
@ -263,11 +263,11 @@ public final class VersionInfo implements Comparable<VersionInfo>
|
||||
|
||||
/**
|
||||
* Returns an instance of VersionInfo with the argument version.
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @param minor minor version, non-negative number <= 255.
|
||||
* @param milli milli version, non-negative number <= 255.
|
||||
* @param micro micro version, non-negative number <= 255.
|
||||
* @exception IllegalArgumentException when either arguments are negative or > 255
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @param minor minor version, non-negative number <= 255.
|
||||
* @param milli milli version, non-negative number <= 255.
|
||||
* @param micro micro version, non-negative number <= 255.
|
||||
* @exception IllegalArgumentException when either arguments are negative or > 255
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static VersionInfo getInstance(int major, int minor, int milli,
|
||||
@ -295,11 +295,11 @@ public final class VersionInfo implements Comparable<VersionInfo>
|
||||
/**
|
||||
* Returns an instance of VersionInfo with the argument version.
|
||||
* Equivalent to getInstance(major, minor, milli, 0).
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @param minor minor version, non-negative number <= 255.
|
||||
* @param milli milli version, non-negative number <= 255.
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @param minor minor version, non-negative number <= 255.
|
||||
* @param milli milli version, non-negative number <= 255.
|
||||
* @exception IllegalArgumentException when either arguments are
|
||||
* negative or > 255
|
||||
* negative or > 255
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static VersionInfo getInstance(int major, int minor, int milli)
|
||||
@ -310,10 +310,10 @@ public final class VersionInfo implements Comparable<VersionInfo>
|
||||
/**
|
||||
* Returns an instance of VersionInfo with the argument version.
|
||||
* Equivalent to getInstance(major, minor, 0, 0).
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @param minor minor version, non-negative number <= 255.
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @param minor minor version, non-negative number <= 255.
|
||||
* @exception IllegalArgumentException when either arguments are
|
||||
* negative or > 255
|
||||
* negative or > 255
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static VersionInfo getInstance(int major, int minor)
|
||||
@ -324,9 +324,9 @@ public final class VersionInfo implements Comparable<VersionInfo>
|
||||
/**
|
||||
* Returns an instance of VersionInfo with the argument version.
|
||||
* Equivalent to getInstance(major, 0, 0, 0).
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @exception IllegalArgumentException when either arguments are
|
||||
* negative or > 255
|
||||
* negative or > 255
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static VersionInfo getInstance(int major)
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2014, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2016, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
@ -17,18 +17,18 @@ import java.util.Map;
|
||||
* To include a literal semicolon, prefix it with a backslash ('\').
|
||||
* Unicode Pattern_White_Space is ignored.
|
||||
* If the first non-blank character on a line is '#',
|
||||
* the entire line is ignored as a comment. </p>
|
||||
* the entire line is ignored as a comment.
|
||||
*
|
||||
* <p>Each set of rules consists of two groups, one forward, and one
|
||||
* reverse. This is a convention that is not enforced; rules for one
|
||||
* direction may be omitted, with the result that translations in
|
||||
* that direction will not modify the source text. In addition,
|
||||
* bidirectional forward-reverse rules may be specified for
|
||||
* symmetrical transformations.</p>
|
||||
* symmetrical transformations.
|
||||
*
|
||||
* <p><b>Rule syntax</b> </p>
|
||||
* <p><b>Rule syntax</b>
|
||||
*
|
||||
* <p>Rule statements take one of the following forms: </p>
|
||||
* <p>Rule statements take one of the following forms:
|
||||
*
|
||||
* <dl>
|
||||
* <dt><code>$alefmadda=\u0622;</code></dt>
|
||||
@ -82,7 +82,6 @@ import java.util.Map;
|
||||
* "<code>abc{def}</code>". Another example is "<code>{123}456</code>"
|
||||
* (or "<code>123}456</code>") in which the literal
|
||||
* pattern "<code>123</code>" must be followed by "<code>456</code>".
|
||||
* </p>
|
||||
*
|
||||
* <p>The output string of a forward or reverse rule consists of
|
||||
* characters to replace the literal pattern characters. If the
|
||||
@ -92,46 +91,46 @@ import java.util.Map;
|
||||
* next replacement, if any, will be applied. The cursor is usually
|
||||
* placed within the replacement text; however, it can actually be
|
||||
* placed into the precending or following context by using the
|
||||
* special character '<code>@</code>'. Examples:</p>
|
||||
* special character '<code>@</code>'. Examples:
|
||||
*
|
||||
* <blockquote>
|
||||
* <p><code>a {foo} z > | @ bar; # foo -> bar, move cursor
|
||||
* before a<br>
|
||||
* {foo} xyz > bar @@|; # foo -> bar, cursor between
|
||||
* y and z</code></p>
|
||||
* y and z</code>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p><b>UnicodeSet</b></p>
|
||||
* <p><b>UnicodeSet</b>
|
||||
*
|
||||
* <p><code>UnicodeSet</code> patterns may appear anywhere that
|
||||
* makes sense. They may appear in variable definitions.
|
||||
* Contrariwise, <code>UnicodeSet</code> patterns may themselves
|
||||
* contain variable references, such as "<code>$a=[a-z];$not_a=[^$a]</code>",
|
||||
* or "<code>$range=a-z;$ll=[$range]</code>".</p>
|
||||
* or "<code>$range=a-z;$ll=[$range]</code>".
|
||||
*
|
||||
* <p><code>UnicodeSet</code> patterns may also be embedded directly
|
||||
* into rule strings. Thus, the following two rules are equivalent:</p>
|
||||
* into rule strings. Thus, the following two rules are equivalent:
|
||||
*
|
||||
* <blockquote>
|
||||
* <p><code>$vowel=[aeiou]; $vowel>'*'; # One way to do this<br>
|
||||
* [aeiou]>'*';
|
||||
* #
|
||||
* Another way</code></p>
|
||||
* Another way</code>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p>See {@link UnicodeSet} for more documentation and examples.</p>
|
||||
* <p>See {@link UnicodeSet} for more documentation and examples.
|
||||
*
|
||||
* <p><b>Segments</b></p>
|
||||
* <p><b>Segments</b>
|
||||
*
|
||||
* <p>Segments of the input string can be matched and copied to the
|
||||
* output string. This makes certain sets of rules simpler and more
|
||||
* general, and makes reordering possible. For example:</p>
|
||||
* general, and makes reordering possible. For example:
|
||||
*
|
||||
* <blockquote>
|
||||
* <p><code>([a-z]) > $1 $1;
|
||||
* #
|
||||
* double lowercase letters<br>
|
||||
* ([:Lu:]) ([:Ll:]) > $2 $1; # reverse order of Lu-Ll pairs</code></p>
|
||||
* ([:Lu:]) ([:Ll:]) > $2 $1; # reverse order of Lu-Ll pairs</code>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p>The segment of the input string to be copied is delimited by
|
||||
@ -139,12 +138,12 @@ import java.util.Map;
|
||||
* nine segments may be defined. Segments may not overlap. In the
|
||||
* output string, "<code>$1</code>" through "<code>$9</code>"
|
||||
* represent the input string segments, in left-to-right order of
|
||||
* definition.</p>
|
||||
* definition.
|
||||
*
|
||||
* <p><b>Anchors</b></p>
|
||||
* <p><b>Anchors</b>
|
||||
*
|
||||
* <p>Patterns can be anchored to the beginning or the end of the text. This is done with the
|
||||
* special characters '<code>^</code>' and '<code>$</code>'. For example:</p>
|
||||
* special characters '<code>^</code>' and '<code>$</code>'. For example:
|
||||
*
|
||||
* <blockquote>
|
||||
* <p><code>^ a > 'BEG_A'; # match 'a' at start of text<br>
|
||||
@ -152,112 +151,111 @@ import java.util.Map;
|
||||
* of 'a'<br>
|
||||
* z $ > 'END_Z'; # match 'z' at end of text<br>
|
||||
* z > 'Z'; # match other instances
|
||||
* of 'z'</code></p>
|
||||
* of 'z'</code>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p>It is also possible to match the beginning or the end of the text using a <code>UnicodeSet</code>.
|
||||
* This is done by including a virtual anchor character '<code>$</code>' at the end of the
|
||||
* set pattern. Although this is usually the match chafacter for the end anchor, the set will
|
||||
* match either the beginning or the end of the text, depending on its placement. For
|
||||
* example:</p>
|
||||
* example:
|
||||
*
|
||||
* <blockquote>
|
||||
* <p><code>$x = [a-z$]; # match 'a' through 'z' OR anchor<br>
|
||||
* $x 1 > 2; # match '1' after a-z or at the start<br>
|
||||
* 3 $x > 4; # match '3' before a-z or at the end</code></p>
|
||||
* 3 $x > 4; # match '3' before a-z or at the end</code>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p><b>Example</b> </p>
|
||||
* <p><b>Example</b>
|
||||
*
|
||||
* <p>The following example rules illustrate many of the features of
|
||||
* the rule language. </p>
|
||||
* the rule language.
|
||||
*
|
||||
* <table border="0" cellpadding="4">
|
||||
* <tr>
|
||||
* <td valign="top">Rule 1.</td>
|
||||
* <td valign="top" nowrap><code>abc{def}>x|y</code></td>
|
||||
* <td style="vertical-align: top;">Rule 1.</td>
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>abc{def}>x|y</code></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top">Rule 2.</td>
|
||||
* <td valign="top" nowrap><code>xyz>r</code></td>
|
||||
* <td style="vertical-align: top;">Rule 2.</td>
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>xyz>r</code></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top">Rule 3.</td>
|
||||
* <td valign="top" nowrap><code>yz>q</code></td>
|
||||
* <td style="vertical-align: top;">Rule 3.</td>
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>yz>q</code></td>
|
||||
* </tr>
|
||||
* </table>
|
||||
*
|
||||
* <p>Applying these rules to the string "<code>adefabcdefz</code>"
|
||||
* yields the following results: </p>
|
||||
* yields the following results:
|
||||
*
|
||||
* <table border="0" cellpadding="4">
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>|adefabcdefz</code></td>
|
||||
* <td valign="top">Initial state, no rules match. Advance
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>|adefabcdefz</code></td>
|
||||
* <td style="vertical-align: top;">Initial state, no rules match. Advance
|
||||
* cursor.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>a|defabcdefz</code></td>
|
||||
* <td valign="top">Still no match. Rule 1 does not match
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>a|defabcdefz</code></td>
|
||||
* <td style="vertical-align: top;">Still no match. Rule 1 does not match
|
||||
* because the preceding context is not present.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>ad|efabcdefz</code></td>
|
||||
* <td valign="top">Still no match. Keep advancing until
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>ad|efabcdefz</code></td>
|
||||
* <td style="vertical-align: top;">Still no match. Keep advancing until
|
||||
* there is a match...</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>ade|fabcdefz</code></td>
|
||||
* <td valign="top">...</td>
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>ade|fabcdefz</code></td>
|
||||
* <td style="vertical-align: top;">...</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>adef|abcdefz</code></td>
|
||||
* <td valign="top">...</td>
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>adef|abcdefz</code></td>
|
||||
* <td style="vertical-align: top;">...</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>adefa|bcdefz</code></td>
|
||||
* <td valign="top">...</td>
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>adefa|bcdefz</code></td>
|
||||
* <td style="vertical-align: top;">...</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>adefab|cdefz</code></td>
|
||||
* <td valign="top">...</td>
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>adefab|cdefz</code></td>
|
||||
* <td style="vertical-align: top;">...</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>adefabc|defz</code></td>
|
||||
* <td valign="top">Rule 1 matches; replace "<code>def</code>"
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>adefabc|defz</code></td>
|
||||
* <td style="vertical-align: top;">Rule 1 matches; replace "<code>def</code>"
|
||||
* with "<code>xy</code>" and back up the cursor
|
||||
* to before the '<code>y</code>'.</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>adefabcx|yz</code></td>
|
||||
* <td valign="top">Although "<code>xyz</code>" is
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>adefabcx|yz</code></td>
|
||||
* <td style="vertical-align: top;">Although "<code>xyz</code>" is
|
||||
* present, rule 2 does not match because the cursor is
|
||||
* before the '<code>y</code>', not before the '<code>x</code>'.
|
||||
* Rule 3 does match. Replace "<code>yz</code>"
|
||||
* with "<code>q</code>".</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" nowrap><code>adefabcxq|</code></td>
|
||||
* <td valign="top">The cursor is at the end;
|
||||
* <td style="vertical-align: top; write-space: nowrap;"><code>adefabcxq|</code></td>
|
||||
* <td style="vertical-align: top;">The cursor is at the end;
|
||||
* transliteration is complete.</td>
|
||||
* </tr>
|
||||
* </table>
|
||||
*
|
||||
* <p>The order of rules is significant. If multiple rules may match
|
||||
* at some point, the first matching rule is applied. </p>
|
||||
* at some point, the first matching rule is applied.
|
||||
*
|
||||
* <p>Forward and reverse rules may have an empty output string.
|
||||
* Otherwise, an empty left or right hand side of any statement is a
|
||||
* syntax error. </p>
|
||||
* syntax error.
|
||||
*
|
||||
* <p>Single quotes are used to quote any character other than a
|
||||
* digit or letter. To specify a single quote itself, inside or
|
||||
* outside of quotes, use two single quotes in a row. For example,
|
||||
* the rule "<code>'>'>o''clock</code>" changes the
|
||||
* string "<code>></code>" to the string "<code>o'clock</code>".
|
||||
* </p>
|
||||
*
|
||||
* <p><b>Notes</b> </p>
|
||||
* <p><b>Notes</b>
|
||||
*
|
||||
* <p>While a RuleBasedTransliterator is being built, it checks that
|
||||
* the rules are added in proper order. For example, if the rule
|
||||
@ -265,9 +263,9 @@ import java.util.Map;
|
||||
* then the second rule will throw an exception. The reason is that
|
||||
* the second rule can never be triggered, since the first rule
|
||||
* always matches anything it matches. In other words, the first
|
||||
* rule <em>masks</em> the second rule. </p>
|
||||
* rule <em>masks</em> the second rule.
|
||||
*
|
||||
* <p>Copyright (c) IBM Corporation 1999-2000. All rights reserved.</p>
|
||||
* <p>Copyright (c) IBM Corporation 1999-2000. All rights reserved.
|
||||
*
|
||||
* @author Alan Liu
|
||||
* @internal
|
||||
|
@ -123,7 +123,7 @@ import com.ibm.icu.util.UResourceBundle;
|
||||
*
|
||||
* <p>
|
||||
* Pairs of transliterators may be inverses of one another. For example, if transliterator <b>A</b> transliterates
|
||||
* characters by incrementing their Unicode value (so "abc" -> "def"), and transliterator <b>B</b> decrements character
|
||||
* characters by incrementing their Unicode value (so "abc" -> "def"), and transliterator <b>B</b> decrements character
|
||||
* values, then <b>A</b> is an inverse of <b>B</b> and vice versa. If we compose <b>A</b> with <b>B</b> in a compound
|
||||
* transliterator, the result is the indentity transliterator, that is, a transliterator that does not change its input
|
||||
* text.
|
||||
@ -134,13 +134,13 @@ import com.ibm.icu.util.UResourceBundle;
|
||||
* two transliterators: <b>AB</b>, which transliterates the character 'A' to 'B', and <b>BA</b>, which transliterates
|
||||
* 'B' to 'A'. It might seem that these are exact inverses, since
|
||||
*
|
||||
* <blockquote>"A" x <b>AB</b> -> "B"<br>
|
||||
* "B" x <b>BA</b> -> "A"</blockquote>
|
||||
* <blockquote>"A" x <b>AB</b> -> "B"<br>
|
||||
* "B" x <b>BA</b> -> "A"</blockquote>
|
||||
*
|
||||
* where 'x' represents transliteration. However,
|
||||
*
|
||||
* <blockquote>"ABCD" x <b>AB</b> -> "BBCD"<br>
|
||||
* "BBCD" x <b>BA</b> -> "AACD"</blockquote>
|
||||
* <blockquote>"ABCD" x <b>AB</b> -> "BBCD"<br>
|
||||
* "BBCD" x <b>BA</b> -> "AACD"</blockquote>
|
||||
*
|
||||
* so <b>AB</b> composed with <b>BA</b> is not the identity. Nonetheless, <b>BA</b> may be usefully considered to be
|
||||
* <b>AB</b>'s inverse, and it is on this basis that <b>AB</b><code>.getInverse()</code> could legitimately return
|
||||
@ -256,7 +256,7 @@ public abstract class Transliterator implements StringTransform {
|
||||
* structure will be modified. See the field descriptions for
|
||||
* details.
|
||||
*
|
||||
* <p>contextStart <= start <= limit <= contextLimit
|
||||
* <p>contextStart <= start <= limit <= contextLimit
|
||||
*
|
||||
* <p>Note: All index values in this structure must be at code point
|
||||
* boundaries. That is, none of them may occur between two code units
|
||||
@ -509,10 +509,10 @@ public abstract class Transliterator implements StringTransform {
|
||||
* Transliterates a segment of a string, with optional filtering.
|
||||
*
|
||||
* @param text the string to be transliterated
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= text.length()</code>.
|
||||
* @param start the beginning index, inclusive; <code>0 <= start
|
||||
* <= limit</code>.
|
||||
* @param limit the ending index, exclusive; <code>start <= limit
|
||||
* <= text.length()</code>.
|
||||
* @return The new limit index. The text previously occupying <code>[start,
|
||||
* limit)</code> has been transliterated, possibly to a string of a different
|
||||
* length, at <code>[start, </code><em>new-limit</em><code>)</code>, where
|
||||
@ -1480,7 +1480,7 @@ public abstract class Transliterator implements StringTransform {
|
||||
* Returns a rule string for this transliterator. This is
|
||||
* a non-overrideable base class implementation that subclasses
|
||||
* may call. It simply munges the ID into the correct format,
|
||||
* that is, "foo" => "::foo".
|
||||
* that is, "foo" => "::foo".
|
||||
* @param escapeUnprintable if true, then unprintable characters
|
||||
* will be converted to escape form backslash-'u' or
|
||||
* backslash-'U'.
|
||||
@ -1582,12 +1582,12 @@ public abstract class Transliterator implements StringTransform {
|
||||
* <p>Warning. You might expect an empty filter to always produce an empty target.
|
||||
* However, consider the following:
|
||||
* <pre>
|
||||
* [Pp]{}[\u03A3\u03C2\u03C3\u03F7\u03F8\u03FA\u03FB] > \';
|
||||
* [Pp]{}[\u03A3\u03C2\u03C3\u03F7\u03F8\u03FA\u03FB] > \';
|
||||
* </pre>
|
||||
* With a filter of [], you still get some elements in the target set, because this rule will still match. It could
|
||||
* be recast to the following if it were important.
|
||||
* <pre>
|
||||
* [Pp]{([\u03A3\u03C2\u03C3\u03F7\u03F8\u03FA\u03FB])} > \' | $1;
|
||||
* [Pp]{([\u03A3\u03C2\u03C3\u03F7\u03F8\u03FA\u03FB])} > \' | $1;
|
||||
* </pre>
|
||||
* @see #getTargetSet
|
||||
* @stable ICU 2.2
|
||||
@ -1609,10 +1609,10 @@ public abstract class Transliterator implements StringTransform {
|
||||
* For example, suppose we have:
|
||||
* <pre>
|
||||
* Global FILTER = [ax]
|
||||
* a > b;
|
||||
* a > b;
|
||||
* :: NULL;
|
||||
* b > c;
|
||||
* x > d;
|
||||
* b > c;
|
||||
* x > d;
|
||||
* </pre>
|
||||
* While the filter just allows a and x, b is an intermediate result, which could produce c. So the source and target sets
|
||||
* cannot be gathered independently. What we have to do is filter the sources for the first transliterator according to
|
||||
@ -1621,8 +1621,8 @@ public abstract class Transliterator implements StringTransform {
|
||||
* <p>There is another complication:
|
||||
* <pre>
|
||||
* Global FILTER = [ax]
|
||||
* a > |b;
|
||||
* b > c;
|
||||
* a >|b;
|
||||
* b >c;
|
||||
* </pre>
|
||||
* Even though b would be filtered from the input, whenever we have a backup, it could be part of the input. So ideally we will
|
||||
* change the global filter as we go.
|
||||
@ -1744,13 +1744,12 @@ public abstract class Transliterator implements StringTransform {
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a Transliterator object with the given ID.
|
||||
* Register a Transliterator object.
|
||||
*
|
||||
* <p>Because ICU may choose to cache Transliterator objects internally, this must
|
||||
* be called at application startup, prior to any calls to
|
||||
* Transliterator.getInstance to avoid undefined behavior.
|
||||
*
|
||||
* @param ID the ID of this transliterator
|
||||
* @param trans the Transliterator object
|
||||
*/
|
||||
static void registerInstance(Transliterator trans, boolean visible) {
|
||||
@ -1779,10 +1778,10 @@ public abstract class Transliterator implements StringTransform {
|
||||
* example, calling registerSpecialInverse("NFC", "NFD", true) causes
|
||||
* Transliterator to form the following inverse relationships:
|
||||
*
|
||||
* <pre>NFC => NFD
|
||||
* Any-NFC => Any-NFD
|
||||
* NFD => NFC
|
||||
* Any-NFD => Any-NFC</pre>
|
||||
* <pre>NFC => NFD
|
||||
* Any-NFC => Any-NFD
|
||||
* NFD => NFC
|
||||
* Any-NFD => Any-NFC</pre>
|
||||
*
|
||||
* (Without the special inverse registration, the inverse of NFC
|
||||
* would be NFC-Any.) Note that NFD is shorthand for Any-NFD, but
|
||||
@ -1795,16 +1794,16 @@ public abstract class Transliterator implements StringTransform {
|
||||
* factories or classes.
|
||||
*
|
||||
* <p>Only the targets are specified. Special inverses always
|
||||
* have the form Any-Target1 <=> Any-Target2. The target should
|
||||
* have the form Any-Target1 <=> Any-Target2. The target should
|
||||
* have canonical casing (the casing desired to be produced when
|
||||
* an inverse is formed) and should contain no whitespace or other
|
||||
* extraneous characters.
|
||||
*
|
||||
* @param target the target against which to register the inverse
|
||||
* @param inverseTarget the inverse of target, that is
|
||||
* Any-target.getInverse() => Any-inverseTarget
|
||||
* Any-target.getInverse() => Any-inverseTarget
|
||||
* @param bidirectional if true, register the reverse relation
|
||||
* as well, that is, Any-inverseTarget.getInverse() => Any-target
|
||||
* as well, that is, Any-inverseTarget.getInverse() => Any-target
|
||||
*/
|
||||
static void registerSpecialInverse(String target,
|
||||
String inverseTarget,
|
||||
|
Loading…
Reference in New Issue
Block a user