Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: source/i18n/unicode/rbnf.h

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/i18n/unicode/plurrule.h ('k') | source/i18n/unicode/regex.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/i18n/unicode/rbnf.h
diff --git a/source/i18n/unicode/rbnf.h b/source/i18n/unicode/rbnf.h
index 880c740d81ce68f037c44b80cdad9183a1bfec8b..398454b287766d65b947f08dcfa6de1e8219d669 100644
--- a/source/i18n/unicode/rbnf.h
+++ b/source/i18n/unicode/rbnf.h
@@ -1,6 +1,6 @@
/*
*******************************************************************************
-* Copyright (C) 1997-2013, International Business Machines Corporation and others.
+* Copyright (C) 1997-2014, International Business Machines Corporation and others.
* All Rights Reserved.
*******************************************************************************
*/
@@ -27,18 +27,21 @@
#else
#define U_HAVE_RBNF 1
-#include "unicode/coll.h"
#include "unicode/dcfmtsym.h"
#include "unicode/fmtable.h"
#include "unicode/locid.h"
#include "unicode/numfmt.h"
#include "unicode/unistr.h"
#include "unicode/strenum.h"
+#include "unicode/brkiter.h"
+#include "unicode/upluralrules.h"
U_NAMESPACE_BEGIN
class NFRuleSet;
class LocalizationInfo;
+class PluralFormat;
+class RuleBasedCollator;
/**
* Tags for the predefined rulesets.
@@ -53,10 +56,6 @@ enum URBNFRuleSetTag {
URBNF_COUNT
};
-#if UCONFIG_NO_COLLATION
-class Collator;
-#endif
-
/**
* The RuleBasedNumberFormat class formats numbers according to a set of rules. This number formatter is
* typically used for spelling out numeric values in words (e.g., 25,3476 as
@@ -431,6 +430,24 @@ class Collator;
* <td>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>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 &lt;&lt; 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>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 &lt;&lt; value.
+ * This uses the ordinal plural rules from PluralFormat. All strings used in the plural format are treated
+ * as the same base value for parsing.</td>
+ * </tr>
* </table>
*
* <p>The substitution descriptor (i.e., the text between the token characters) may take one
@@ -498,6 +515,8 @@ class Collator;
* @author Richard Gillam
* @see NumberFormat
* @see DecimalFormat
+ * @see PluralFormat
+ * @see PluralRules
* @stable ICU 2.0
*/
class U_I18N_API RuleBasedNumberFormat : public NumberFormat {
@@ -894,6 +913,19 @@ public:
*/
virtual UnicodeString getDefaultRuleSetName() const;
+ /* Cannot use #ifndef U_HIDE_DRAFT_API for the following draft method since it is virtual */
+ /**
+ * Set a particular UDisplayContext value in the formatter, such as
+ * UDISPCTX_CAPITALIZATION_FOR_STANDALONE. Note: For getContext, see
+ * NumberFormat.
+ * @param value The UDisplayContext value to set.
+ * @param status Input/output status. If at entry this indicates a failure
+ * status, the function will do nothing; otherwise this will be
+ * updated with any new status from the function.
+ * @draft ICU 53
+ */
+ virtual void setContext(UDisplayContext value, UErrorCode& status);
+
public:
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
@@ -939,6 +971,7 @@ private:
const Locale& locale, UParseError& perror, UErrorCode& status);
void init(const UnicodeString& rules, LocalizationInfo* localizations, UParseError& perror, UErrorCode& status);
+ void initCapitalizationContextInfo(const Locale& thelocale);
void dispose();
void stripWhitespace(UnicodeString& src);
void initDefaultRuleSet();
@@ -951,8 +984,10 @@ private:
friend class FractionalPartSubstitution;
inline NFRuleSet * getDefaultRuleSet() const;
- Collator * getCollator() const;
+ const RuleBasedCollator * getCollator() const;
DecimalFormatSymbols * getDecimalFormatSymbols() const;
+ PluralFormat *createPluralFormat(UPluralType pluralType, const UnicodeString &pattern, UErrorCode& status) const;
+ UnicodeString& adjustForCapitalizationContext(int32_t startPos, UnicodeString& currentResult) const;
private:
NFRuleSet **ruleSets;
@@ -960,11 +995,16 @@ private:
int32_t numRuleSets;
NFRuleSet *defaultRuleSet;
Locale locale;
- Collator* collator;
+ RuleBasedCollator* collator;
DecimalFormatSymbols* decimalFormatSymbols;
UBool lenient;
UnicodeString* lenientParseRules;
LocalizationInfo* localizations;
+ UnicodeString originalDescription;
+ UBool capitalizationInfoSet;
+ UBool capitalizationForUIListMenu;
+ UBool capitalizationForStandAlone;
+ BreakIterator* capitalizationBrkIter;
};
// ---------------
« no previous file with comments | « source/i18n/unicode/plurrule.h ('k') | source/i18n/unicode/regex.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698