LEGlyphStorage.h   LEGlyphStorage.h 
/* /*
********************************************************************** **********************************************************************
* Copyright (C) 1998-2007, International Business Machines * Copyright (C) 1998-2008, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
********************************************************************** **********************************************************************
*/ */
#ifndef __LEGLYPHSTORAGE_H #ifndef __LEGLYPHSTORAGE_H
#define __LEGLYPHSTORAGE_H #define __LEGLYPHSTORAGE_H
#include "LETypes.h" #include "LETypes.h"
#include "LEInsertionList.h" #include "LEInsertionList.h"
skipping to change at line 322 skipping to change at line 322
/** /**
* Call this method to replace a single glyph in the glyph array * Call this method to replace a single glyph in the glyph array
* with multiple glyphs. This method uses the <code>LEInsertionList</co de> * with multiple glyphs. This method uses the <code>LEInsertionList</co de>
* to do the insertion. It returns the address of storage where the new * to do the insertion. It returns the address of storage where the new
* glyph IDs can be stored. They will not actually be inserted into the * glyph IDs can be stored. They will not actually be inserted into the
* glyph array until <code>applyInsertions</code> is called. * glyph array until <code>applyInsertions</code> is called.
* *
* @param atIndex the index of the glyph to be replaced * @param atIndex the index of the glyph to be replaced
* @param insertCount the number of glyphs to replace it with * @param insertCount the number of glyphs to replace it with
* @param success set to an error code if the auxillary data cannot be retrieved.
* *
* @return the address at which to store the replacement glyphs. * @return the address at which to store the replacement glyphs.
* *
* @see LEInsetionList.h * @see LEInsetionList.h
* *
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
LEGlyphID *insertGlyphs(le_int32 atIndex, le_int32 insertCount); LEGlyphID *insertGlyphs(le_int32 atIndex, le_int32 insertCount, LEError Code& success);
/** /**
* This method causes all of the glyph insertions recorded by * This method causes all of the glyph insertions recorded by
* <code>insertGlyphs</code> to be applied to the glyph array. The * <code>insertGlyphs</code> to be applied to the glyph array. The
* new slots in the char indices and the auxillary data arrays * new slots in the char indices and the auxillary data arrays
* will be filled in with the values for the glyph being replaced. * will be filled in with the values for the glyph being replaced.
* *
* @return the new size of the glyph array * @return the new size of the glyph array
* *
* @see LEInsertionList.h * @see LEInsertionList.h
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 LEInsertionList.h   LEInsertionList.h 
/* /*
********************************************************************** **********************************************************************
* Copyright (C) 1998-2006, International Business Machines * Copyright (C) 1998-2008, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
********************************************************************** **********************************************************************
*/ */
#ifndef __LEINSERTIONLIST_H #ifndef __LEINSERTIONLIST_H
#define __LEINSERTIONLIST_H #define __LEINSERTIONLIST_H
#include "LETypes.h" #include "LETypes.h"
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
skipping to change at line 86 skipping to change at line 86
* The destructor. * The destructor.
*/ */
~LEInsertionList(); ~LEInsertionList();
/** /**
* Add an entry to the insertion list. * Add an entry to the insertion list.
* *
* @param position the glyph at this position in the array will be * @param position the glyph at this position in the array will be
* replaced by the new glyphs. * replaced by the new glyphs.
* @param count the number of new glyphs * @param count the number of new glyphs
* @param success set to an error code if the auxillary data cannot be retrieved.
* *
* @return the address of an array in which to store the new glyphs. Th is will * @return the address of an array in which to store the new glyphs. Th is will
* <em>not</em> be in the glyph array. * <em>not</em> be in the glyph array.
* *
* @internal * @internal
*/ */
LEGlyphID *insert(le_int32 position, le_int32 count); LEGlyphID *insert(le_int32 position, le_int32 count, LEErrorCode &succe ss);
/** /**
* Return the number of new glyphs that have been inserted. * Return the number of new glyphs that have been inserted.
* *
* @return the number of new glyphs which have been inserted * @return the number of new glyphs which have been inserted
* *
* @internal * @internal
*/ */
le_int32 getGrowAmount(); le_int32 getGrowAmount();
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 LayoutEngine.h   LayoutEngine.h 
/* /*
* *
* (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved * (C) Copyright IBM Corp. 1998-2008 - All Rights Reserved
* *
*/ */
#ifndef __LAYOUTENGINE_H #ifndef __LAYOUTENGINE_H
#define __LAYOUTENGINE_H #define __LAYOUTENGINE_H
#include "LETypes.h" #include "LETypes.h"
/** /**
* \file * \file
skipping to change at line 127 skipping to change at line 127
/** /**
* This constructs an instance for a given font, script and language. S ubclass constructors * This constructs an instance for a given font, script and language. S ubclass constructors
* must call this constructor. * must call this constructor.
* *
* @param fontInstance - the font for the text * @param fontInstance - the font for the text
* @param scriptCode - the script for the text * @param scriptCode - the script for the text
* @param languageCode - the language for the text * @param languageCode - the language for the text
* @param typoFlags - the typographic control flags for the text. Set bit 1 if kerning * @param typoFlags - the typographic control flags for the text. Set bit 1 if kerning
* is desired, set bit 2 if ligature formation is desired. Others are reserved. * is desired, set bit 2 if ligature formation is desired. Others are reserved.
* @param success - set to an error code if the operation fails
* *
* @see LEFontInstance * @see LEFontInstance
* @see ScriptAndLanguageTags.h * @see ScriptAndLanguageTags.h
* *
* @internal * @internal
*/ */
LayoutEngine(const LEFontInstance *fontInstance, le_int32 scriptCode, l LayoutEngine(const LEFontInstance *fontInstance,
e_int32 languageCode, le_int32 typoFlags); le_int32 scriptCode,
le_int32 languageCode,
le_int32 typoFlags,
LEErrorCode &success);
/** /**
* This overrides the default no argument constructor to make it * This overrides the default no argument constructor to make it
* difficult for clients to call it. Clients are expected to call * difficult for clients to call it. Clients are expected to call
* layoutEngineFactory. * layoutEngineFactory.
* *
* @internal * @internal
*/ */
LayoutEngine(); LayoutEngine();
 End of changes. 3 change blocks. 
3 lines changed or deleted 7 lines changed or added


 calendar.h   calendar.h 
/* /*
*************************************************************************** ***** *************************************************************************** *****
* Copyright (C) 1997-2008, International Business Machines * Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** ***** *************************************************************************** *****
* *
* File CALENDAR.H * File CALENDAR.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 04/22/97 aliu Expanded and corrected comments and other heade r * 04/22/97 aliu Expanded and corrected comments and other heade r
* contents. * contents.
skipping to change at line 363 skipping to change at line 363
* *
* @param count Number of locales returned. * @param count Number of locales returned.
* @return An array of Locale objects representing the set of loc ales for which * @return An array of Locale objects representing the set of loc ales for which
* Calendars are installed. The system retains ownership of this list; * Calendars are installed. The system retains ownership of this list;
* the caller must NOT delete it. Does not include user-r egistered Calendars. * the caller must NOT delete it. Does not include user-r egistered Calendars.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count); static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
/** /**
* Given a key and a locale, returns an array of string values in a pre
ferred
* order that would make a difference. These are all and only those val
ues where
* the open (creation) of the service with the locale formed from the i
nput locale
* plus input keyword and that value has different behavior than creati
on with the
* input locale alone.
* @param key one of the keys supported by this service. For
now, only
* "calendar" is supported.
* @param locale the locale
* @param commonlyUsed if set to true it will return only commonly use
d values
* with the given locale in preferred order. Othe
rwise,
* it will return all the available values for the
locale.
* @return a string enumeration over keyword values for the given key a
nd the locale.
* @draft ICU 4.2
*/
static StringEnumeration* U_EXPORT2 getKeywordValuesForLocale(const cha
r* key,
const Locale& locale, UBool commonlyUsed, UErrorCode& s
tatus);
/**
* Returns the current UTC (GMT) time measured in milliseconds since 0: 00:00 on 1/1/70 * Returns the current UTC (GMT) time measured in milliseconds since 0: 00:00 on 1/1/70
* (derived from the system time). * (derived from the system time).
* *
* @return The current UTC time in milliseconds. * @return The current UTC time in milliseconds.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static UDate U_EXPORT2 getNow(void); static UDate U_EXPORT2 getNow(void);
/** /**
* Gets this Calendar's time as milliseconds. May involve recalculation of time due * Gets this Calendar's time as milliseconds. May involve recalculation of time due
skipping to change at line 1715 skipping to change at line 1733
int32_t getGregorianDayOfMonth() const { int32_t getGregorianDayOfMonth() const {
return fGregorianDayOfMonth; return fGregorianDayOfMonth;
} }
/** /**
* Called by computeJulianDay. Returns the default month (0-based) for the year, * Called by computeJulianDay. Returns the default month (0-based) for the year,
* taking year and era into account. Defaults to 0 for Gregorian, whic h doesn't care. * taking year and era into account. Defaults to 0 for Gregorian, whic h doesn't care.
* @param eyear The extended year * @param eyear The extended year
* @internal * @internal
*/ */
virtual int32_t getDefaultMonthInYear(int32_t /*eyear*/) ; virtual int32_t getDefaultMonthInYear(int32_t eyear) ;
/** /**
* Called by computeJulianDay. Returns the default day (1-based) for t he month, * Called by computeJulianDay. Returns the default day (1-based) for t he month,
* taking currently-set year and era into account. Defaults to 1 for G regorian. * taking currently-set year and era into account. Defaults to 1 for G regorian.
* @param eyear the extended year * @param eyear the extended year
* @param mon the month in the year * @param month the month in the year
* @internal * @internal
*/ */
virtual int32_t getDefaultDayInMonth(int32_t /*eyear*/, int32_t /*month */); virtual int32_t getDefaultDayInMonth(int32_t eyear, int32_t month);
//--------------------------------------------------------------------- ---- //--------------------------------------------------------------------- ----
// Protected utility methods for use by subclasses. These are very han dy // Protected utility methods for use by subclasses. These are very han dy
// for implementing add, roll, and computeFields. // for implementing add, roll, and computeFields.
//--------------------------------------------------------------------- ---- //--------------------------------------------------------------------- ----
/** /**
* Adjust the specified field so that it is within * Adjust the specified field so that it is within
* the allowable range for the date to which this calendar is set. * the allowable range for the date to which this calendar is set.
* For example, in a Gregorian calendar pinning the {@link #UCalendarDa teFields DAY_OF_MONTH} * For example, in a Gregorian calendar pinning the {@link #UCalendarDa teFields DAY_OF_MONTH}
skipping to change at line 1948 skipping to change at line 1966
void computeGregorianAndDOWFields(int32_t julianDay, UErrorCode &ec); void computeGregorianAndDOWFields(int32_t julianDay, UErrorCode &ec);
protected: protected:
/** /**
* Compute the Gregorian calendar year, month, and day of month from th e * Compute the Gregorian calendar year, month, and day of month from th e
* Julian day. These values are not stored in fields, but in member * Julian day. These values are not stored in fields, but in member
* variables gregorianXxx. They are used for time zone computations an d by * variables gregorianXxx. They are used for time zone computations an d by
* subclasses that are Gregorian derivatives. Subclasses may call this * subclasses that are Gregorian derivatives. Subclasses may call this
* method to perform a Gregorian calendar millis->fields computation. * method to perform a Gregorian calendar millis->fields computation.
* To perform a Gregorian calendar fields->millis computation, call
* computeGregorianMonthStart().
* @see #computeGregorianMonthStart
*/ */
void computeGregorianFields(int32_t julianDay, UErrorCode &ec); void computeGregorianFields(int32_t julianDay, UErrorCode &ec);
private: private:
/** /**
* Compute the fields WEEK_OF_YEAR, YEAR_WOY, WEEK_OF_MONTH, * Compute the fields WEEK_OF_YEAR, YEAR_WOY, WEEK_OF_MONTH,
* DAY_OF_WEEK_IN_MONTH, and DOW_LOCAL from EXTENDED_YEAR, YEAR, * DAY_OF_WEEK_IN_MONTH, and DOW_LOCAL from EXTENDED_YEAR, YEAR,
* DAY_OF_WEEK, and DAY_OF_YEAR. The latter fields are computed by the * DAY_OF_WEEK, and DAY_OF_YEAR. The latter fields are computed by the
* subclass based on the calendar system. * subclass based on the calendar system.
 End of changes. 6 change blocks. 
7 lines changed or deleted 33 lines changed or added


 coll.h   coll.h 
/* /*
*************************************************************************** *** *************************************************************************** ***
* Copyright (C) 1996-2008, International Business Machines * * Copyright (C) 1996-2009, International Business Machines *
* Corporation and others. All Rights Reserved. * * Corporation and others. All Rights Reserved. *
*************************************************************************** *** *************************************************************************** ***
*/ */
/** /**
* \file * \file
* \brief C++ API: Collation Service. * \brief C++ API: Collation Service.
*/ */
/** /**
skipping to change at line 638 skipping to change at line 638
* ucol_getKeywords. If any other keyword is passed in, status is set * ucol_getKeywords. If any other keyword is passed in, status is set
* to U_ILLEGAL_ARGUMENT_ERROR. * to U_ILLEGAL_ARGUMENT_ERROR.
* @param status input-output error code * @param status input-output error code
* @return a string enumeration over collation keyword values, or NULL * @return a string enumeration over collation keyword values, or NULL
* upon error. The caller is responsible for deleting the result. * upon error. The caller is responsible for deleting the result.
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
static StringEnumeration* U_EXPORT2 getKeywordValues(const char *keywor d, UErrorCode& status); static StringEnumeration* U_EXPORT2 getKeywordValues(const char *keywor d, UErrorCode& status);
/** /**
* Given a key and a locale, returns an array of string values in a pre
ferred
* order that would make a difference. These are all and only those val
ues where
* the open (creation) of the service with the locale formed from the i
nput locale
* plus input keyword and that value has different behavior than creati
on with the
* input locale alone.
* @param key one of the keys supported by this service. For
now, only
* "collation" is supported.
* @param locale the locale
* @param commonlyUsed if set to true it will return only commonly use
d values
* with the given locale in preferred order. Othe
rwise,
* it will return all the available values for the
locale.
* @return a string enumeration over keyword values for the given key a
nd the locale.
* @draft ICU 4.2
*/
static StringEnumeration* U_EXPORT2 getKeywordValuesForLocale(const cha
r* keyword, const Locale& locale,
UBool c
ommonlyUsed, UErrorCode& status);
/**
* Return the functionally equivalent locale for the given * Return the functionally equivalent locale for the given
* requested locale, with respect to given keyword, for the * requested locale, with respect to given keyword, for the
* collation service. If two locales return the same result, then * collation service. If two locales return the same result, then
* collators instantiated for these locales will behave * collators instantiated for these locales will behave
* equivalently. The converse is not always true; two collators * equivalently. The converse is not always true; two collators
* may in fact be equivalent, but return different results, due to * may in fact be equivalent, but return different results, due to
* internal details. The return result has no other meaning than * internal details. The return result has no other meaning than
* that stated above, and implies nothing as to the relationship * that stated above, and implies nothing as to the relationship
* between the two locales. This is intended for use by * between the two locales. This is intended for use by
* applications who wish to cache collators, or otherwise reuse * applications who wish to cache collators, or otherwise reuse
skipping to change at line 916 skipping to change at line 934
* Copy constructor. * Copy constructor.
* @param other Collator object to be copied from * @param other Collator object to be copied from
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
Collator(const Collator& other); Collator(const Collator& other);
// Collator protected methods ----------------------------------------- // Collator protected methods -----------------------------------------
/** /**
* Used internally by registraton to define the requested and valid loca les. * Used internally by registraton to define the requested and valid loca les.
* @param requestedLocale the requsted locale * @param requestedLocale the requested locale
* @param validLocale the valid locale * @param validLocale the valid locale
* @param actualLocale the actual locale
* @internal * @internal
*/ */
virtual void setLocales(const Locale& requestedLocale, const Locale& va lidLocale, const Locale& actualLocale); virtual void setLocales(const Locale& requestedLocale, const Locale& va lidLocale, const Locale& actualLocale);
public: public:
#if !UCONFIG_NO_SERVICE #if !UCONFIG_NO_SERVICE
/** /**
* used only by ucol_open, not for public use * used only by ucol_open, not for public use
* @internal * @internal
*/ */
 End of changes. 4 change blocks. 
2 lines changed or deleted 32 lines changed or added


 datefmt.h   datefmt.h 
/* /*
************************************************************************** ****** ************************************************************************** ******
* Copyright (C) 1997-2008, International Business Machines * Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
************************************************************************** ****** ************************************************************************** ******
* *
* File DATEFMT.H * File DATEFMT.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/19/97 aliu Converted from java. * 02/19/97 aliu Converted from java.
* 04/01/97 aliu Added support for centuries. * 04/01/97 aliu Added support for centuries.
skipping to change at line 244 skipping to change at line 244
* <P> Notice * <P> Notice
* that if the same time field appears more than once in a pattern, the status will * that if the same time field appears more than once in a pattern, the status will
* be set for the first occurence of that time field. For instance, * be set for the first occurence of that time field. For instance,
* formatting a UDate to the time string "1 PM PDT (Pacific Daylight Ti me)" * formatting a UDate to the time string "1 PM PDT (Pacific Daylight Ti me)"
* using the pattern "h a z (zzzz)" and the alignment field * using the pattern "h a z (zzzz)" and the alignment field
* DateFormat::TIMEZONE_FIELD, the offsets fieldPosition.beginIndex and * DateFormat::TIMEZONE_FIELD, the offsets fieldPosition.beginIndex and
* fieldPosition.getEndIndex will be set to 5 and 8, respectively, for the first * fieldPosition.getEndIndex will be set to 5 and 8, respectively, for the first
* occurence of the timezone pattern character 'z'. * occurence of the timezone pattern character 'z'.
* *
* @param cal Calendar set to the date and time to be formatt ed * @param cal Calendar set to the date and time to be formatt ed
* into a date/time string. * into a date/time string. When the calendar typ
e is
* different from the internal calendar held by th
is
* DateFormat instance, the date and the time zone
will
* be inherited from the input calendar, but other
calendar
* field values will be calculated by the internal
calendar.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param fieldPosition On input: an alignment field, if desired (see e xamples above) * @param fieldPosition On input: an alignment field, if desired (see e xamples above)
* On output: the offsets of the alignment field ( see examples above) * On output: the offsets of the alignment field ( see examples above)
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @stable ICU 2.1 * @stable ICU 2.1
*/ */
virtual UnicodeString& format( Calendar& cal, virtual UnicodeString& format( Calendar& cal,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPosition& fieldPosition) const = 0 ; FieldPosition& fieldPosition) const = 0 ;
skipping to change at line 341 skipping to change at line 345
* <P> * <P>
* By default, parsing is lenient: If the input is not in the form used by * By default, parsing is lenient: If the input is not in the form used by
* this object's format method but can still be parsed as a date, then the * this object's format method but can still be parsed as a date, then the
* parse succeeds. Clients may insist on strict adherence to the format by * parse succeeds. Clients may insist on strict adherence to the format by
* calling setLenient(false). * calling setLenient(false).
* *
* @see DateFormat::setLenient(boolean) * @see DateFormat::setLenient(boolean)
* *
* @param text The date/time string to be parsed * @param text The date/time string to be parsed
* @param cal a Calendar set to the date and time to be formatted * @param cal a Calendar set to the date and time to be formatted
* into a date/time string. * into a date/time string. When the calendar type
* is different from the internal calendar held by this
* DateFormat instance, calendar field values will be
* parsed based on the internal calendar, then the result
* (time in milliseconds and time zone) will be set in
* this calendar.
* @param pos On input, the position at which to start parsing; on * @param pos On input, the position at which to start parsing; on
* output, the position at which parsing terminated, or th e * output, the position at which parsing terminated, or th e
* start position if the parse failed. * start position if the parse failed.
* @return A valid UDate if the input could be parsed. * @return A valid UDate if the input could be parsed.
* @stable ICU 2.1 * @stable ICU 2.1
*/ */
virtual void parse( const UnicodeString& text, virtual void parse( const UnicodeString& text,
Calendar& cal, Calendar& cal,
ParsePosition& pos) const = 0; ParsePosition& pos) const = 0;
skipping to change at line 414 skipping to change at line 423
/** /**
* Create a default date/time formatter that uses the SHORT style for b oth * Create a default date/time formatter that uses the SHORT style for b oth
* the date and the time. * the date and the time.
* *
* @return A date/time formatter which the caller owns. * @return A date/time formatter which the caller owns.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static DateFormat* U_EXPORT2 createInstance(void); static DateFormat* U_EXPORT2 createInstance(void);
/** /**
* This is for ICU internal use only. Please do not use.
* Create a date/time formatter from skeleton and a given locale.
*
* Users are encouraged to use the skeleton macros defined in udat.h.
* For example, MONTH_WEEKDAY_DAY, which is "MMMMEEEEd",
* and which means the pattern should have day, month, and day-of-week
* fields, and follow the long date format defined in date time pattern
.
* For example, for English, the full pattern should be
* "EEEE, MMMM d".
*
* Temporarily, this is an internal API, used by DateIntevalFormat only
.
* There will be a new set of APIs for the same purpose coming soon.
* After which, this API will be replaced.
*
* @param skeleton the skeleton on which date format based.
* @param locale the given locale.
* @param dtpng the date time pattern generator.
* @param status Output param to be set to success/failure code.
* If it is failure, the returned date formatter will
* be NULL.
* @return a simple date formatter which the caller owns.
* @internal ICU 4.0
*/
static DateFormat* U_EXPORT2 createPatternInstance(
const UnicodeString& skeleton,
const Locale& locale,
DateTimePatternGenerator* dtpng,
UErrorCode& status);
/**
* Creates a time formatter with the given formatting style for the giv en * Creates a time formatter with the given formatting style for the giv en
* locale. * locale.
* *
* @param style The given formatting style. For example, * @param style The given formatting style. For example,
* SHORT for "h:mm a" in the US locale. * SHORT for "h:mm a" in the US locale. Relative
* time styles are not currently supported.
* @param aLocale The given locale. * @param aLocale The given locale.
* @return A time formatter which the caller owns. * @return A time formatter which the caller owns.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static DateFormat* U_EXPORT2 createTimeInstance(EStyle style = kDefault , static DateFormat* U_EXPORT2 createTimeInstance(EStyle style = kDefault ,
const Locale& aLocale = Locale::g etDefault()); const Locale& aLocale = Locale::g etDefault());
/** /**
* Creates a date formatter with the given formatting style for the giv en * Creates a date formatter with the given formatting style for the giv en
* const locale. * const locale.
skipping to change at line 476 skipping to change at line 456
static DateFormat* U_EXPORT2 createDateInstance(EStyle style = kDefault , static DateFormat* U_EXPORT2 createDateInstance(EStyle style = kDefault ,
const Locale& aLocale = Locale::g etDefault()); const Locale& aLocale = Locale::g etDefault());
/** /**
* Creates a date/time formatter with the given formatting styles for t he * Creates a date/time formatter with the given formatting styles for t he
* given locale. * given locale.
* *
* @param dateStyle The given formatting style for the date portion of the result. * @param dateStyle The given formatting style for the date portion of the result.
* For example, SHORT for "M/d/yy" in the US locale. * For example, SHORT for "M/d/yy" in the US locale.
* @param timeStyle The given formatting style for the time portion of the result. * @param timeStyle The given formatting style for the time portion of the result.
* For example, SHORT for "h:mm a" in the US locale. * For example, SHORT for "h:mm a" in the US locale. R
elative
* time styles are not currently supported.
* @param aLocale The given locale. * @param aLocale The given locale.
* @return A date/time formatter which the caller owns. * @return A date/time formatter which the caller owns.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static DateFormat* U_EXPORT2 createDateTimeInstance(EStyle dateStyle = kDefault, static DateFormat* U_EXPORT2 createDateTimeInstance(EStyle dateStyle = kDefault,
EStyle timeStyle = kDefault, EStyle timeStyle = kDefault,
const Locale& aLocale = Local e::getDefault()); const Locale& aLocale = Local e::getDefault());
/** /**
* Gets the set of locales for which DateFormats are installed. * Gets the set of locales for which DateFormats are installed.
 End of changes. 6 change blocks. 
37 lines changed or deleted 22 lines changed or added


 decimfmt.h   decimfmt.h 
/* /*
*************************************************************************** ***** *************************************************************************** *****
* Copyright (C) 1997-2008, International Business Machines * Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** ***** *************************************************************************** *****
* *
* File DECIMFMT.H * File DECIMFMT.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/19/97 aliu Converted from java. * 02/19/97 aliu Converted from java.
* 03/20/97 clhuang Updated per C++ implementation. * 03/20/97 clhuang Updated per C++ implementation.
skipping to change at line 39 skipping to change at line 39
* \file * \file
* \brief C++ API: Formats decimal numbers. * \brief C++ API: Formats decimal numbers.
*/ */
#if !UCONFIG_NO_FORMATTING #if !UCONFIG_NO_FORMATTING
#include "unicode/dcfmtsym.h" #include "unicode/dcfmtsym.h"
#include "unicode/numfmt.h" #include "unicode/numfmt.h"
#include "unicode/locid.h" #include "unicode/locid.h"
union UHashTok;
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
U_CDECL_BEGIN
/**
* @internal ICU 4.2
*/
static UBool U_CALLCONV AffixValueComparator(UHashTok val1, UHashTok val2)
;
/**
* @internal ICU 4.2
*/
static UBool U_CALLCONV AffixPatternValueComparator(UHashTok val1, UHashTok
val2) ;
U_CDECL_END
class DigitList; class DigitList;
class ChoiceFormat; class ChoiceFormat;
class CurrencyPluralInfo;
class Hashtable;
/** /**
* DecimalFormat is a concrete subclass of NumberFormat that formats decima l * DecimalFormat is a concrete subclass of NumberFormat that formats decima l
* numbers. It has a variety of features designed to make it possible to pa rse * numbers. It has a variety of features designed to make it possible to pa rse
* and format numbers in any locale, including support for Western, Arabic, or * and format numbers in any locale, including support for Western, Arabic, or
* Indic digits. It also supports different flavors of numbers, including * Indic digits. It also supports different flavors of numbers, including
* integers ("123"), fixed-point numbers ("123.4"), scientific notation * integers ("123"), fixed-point numbers ("123.4"), scientific notation
* ("1.23E4"), percentages ("12%"), and currency amounts ("$123"). All of * ("1.23E4"), percentages ("12%"), and currency amounts ("$123", "USD123",
these * "123 US dollars"). All of these flavors can be easily localized.
* flavors can be easily localized.
* *
* <p>To obtain a NumberFormat for a specific locale (including the default * <p>To obtain a NumberFormat for a specific locale (including the default
* locale) call one of NumberFormat's factory methods such as * locale) call one of NumberFormat's factory methods such as
* createInstance(). Do not call the DecimalFormat constructors directly, u nless * createInstance(). Do not call the DecimalFormat constructors directly, u nless
* you know what you are doing, since the NumberFormat factory methods may * you know what you are doing, since the NumberFormat factory methods may
* return subclasses other than DecimalFormat. * return subclasses other than DecimalFormat.
* *
* <p><strong>Example Usage</strong> * <p><strong>Example Usage</strong>
* *
* \code * \code
skipping to change at line 103 skipping to change at line 121
* str.remove(); * str.remove();
* pattern = ((DecimalFormat*)form)->toPattern(pattern); * pattern = ((DecimalFormat*)form)->toPattern(pattern);
* cout << locales[i].getDisplayName(displayName) << ": " < < pattern; * cout << locales[i].getDisplayName(displayName) << ": " < < pattern;
* cout << " -> " << form->format(myNumber,str) << endl; * cout << " -> " << form->format(myNumber,str) << endl;
* form->parse(form->format(myNumber,str), fmtable, success ); * form->parse(form->format(myNumber,str), fmtable, success );
* delete form; * delete form;
* } * }
* } * }
* } * }
* \endcode * \endcode
* <P>
* Another example use createInstance(style)
* <P>
* <pre>
* <strong>// Print out a number using the localized number, currency,
* // percent, scientific, integer, iso currency, and plural currency
* // format for each locale</strong>
* Locale* locale = new Locale("en", "US");
* double myNumber = 1234.56;
* UErrorCode success = U_ZERO_ERROR;
* UnicodeString str;
* Formattable fmtable;
* for (int j=NumberFormat::kNumberStyle;
* j<=NumberFormat::kPluralCurrencyStyle;
* ++j) {
* NumberFormat* format = NumberFormat::createInstance(locale, j, succe
ss);
* str.remove();
* cout << "format result " << form->format(myNumber, str) << endl;
* format->parse(form->format(myNumber, str), fmtable, success);
* }</pre></blockquote>
*
* *
* <p><strong>Patterns</strong> * <p><strong>Patterns</strong>
* *
* <p>A DecimalFormat consists of a <em>pattern</em> and a set of * <p>A DecimalFormat consists of a <em>pattern</em> and a set of
* <em>symbols</em>. The pattern may be set directly using * <em>symbols</em>. The pattern may be set directly using
* applyPattern(), or indirectly using other API methods which * applyPattern(), or indirectly using other API methods which
* manipulate aspects of the pattern, such as the minimum number of integer * manipulate aspects of the pattern, such as the minimum number of integer
* digits. The symbols are stored in a DecimalFormatSymbols * digits. The symbols are stored in a DecimalFormatSymbols
* object. When using the NumberFormat factory methods, the * object. When using the NumberFormat factory methods, the
* pattern and symbols are read from ICU's locale data. * pattern and symbols are read from ICU's locale data.
skipping to change at line 211 skipping to change at line 250
* <td><code>\\u2030</code> * <td><code>\\u2030</code>
* <td>Prefix or suffix * <td>Prefix or suffix
* <td>Yes * <td>Yes
* <td>Multiply by 1000 and show as per mille * <td>Multiply by 1000 and show as per mille
* <tr valign=top> * <tr valign=top>
* <td><code>\htmlonly&curren;\endhtmlonly</code> (<code>\\u00A4</code> ) * <td><code>\htmlonly&curren;\endhtmlonly</code> (<code>\\u00A4</code> )
* <td>Prefix or suffix * <td>Prefix or suffix
* <td>No * <td>No
* <td>Currency sign, replaced by currency symbol. If * <td>Currency sign, replaced by currency symbol. If
* doubled, replaced by international currency symbol. * doubled, replaced by international currency symbol.
* If tripled, replaced by currency plural names, for example,
* "US dollar" or "US dollars" for America.
* If present in a pattern, the monetary decimal separator * If present in a pattern, the monetary decimal separator
* is used instead of the decimal separator. * is used instead of the decimal separator.
* <tr valign=top bgcolor="#eeeeff"> * <tr valign=top bgcolor="#eeeeff">
* <td><code>'</code> * <td><code>'</code>
* <td>Prefix or suffix * <td>Prefix or suffix
* <td>No * <td>No
* <td>Used to quote special characters in a prefix or suffix, * <td>Used to quote special characters in a prefix or suffix,
* for example, <code>"'#'#"</code> formats 123 to * for example, <code>"'#'#"</code> formats 123 to
* <code>"#123"</code>. To create a single quote * <code>"#123"</code>. To create a single quote
* itself, use two in a row: <code>"# o''clock"</code>. * itself, use two in a row: <code>"# o''clock"</code>.
skipping to change at line 325 skipping to change at line 366
* *
* <p>DecimalFormat parses all Unicode characters that represent * <p>DecimalFormat parses all Unicode characters that represent
* decimal digits, as defined by u_charDigitValue(). In addition, * decimal digits, as defined by u_charDigitValue(). In addition,
* DecimalFormat also recognizes as digits the ten consecutive * DecimalFormat also recognizes as digits the ten consecutive
* characters starting with the localized zero digit defined in the * characters starting with the localized zero digit defined in the
* DecimalFormatSymbols object. During formatting, the * DecimalFormatSymbols object. During formatting, the
* DecimalFormatSymbols-based digits are output. * DecimalFormatSymbols-based digits are output.
* *
* <p>During parsing, grouping separators are ignored. * <p>During parsing, grouping separators are ignored.
* *
* <p>For currency parsing, the formatter is able to parse every currency
* style formats no matter which style the formatter is constructed with.
* For example, a formatter instance gotten from
* NumberFormat.getInstance(ULocale, NumberFormat.CURRENCYSTYLE) can parse
* formats such as "USD1.00" and "3.00 US dollars".
*
* <p>If parse(UnicodeString&,Formattable&,ParsePosition&) * <p>If parse(UnicodeString&,Formattable&,ParsePosition&)
* fails to parse a string, it leaves the parse position unchanged. * fails to parse a string, it leaves the parse position unchanged.
* The convenience method parse(UnicodeString&,Formattable&,UErrorCode&) * The convenience method parse(UnicodeString&,Formattable&,UErrorCode&)
* indicates parse failure by setting a failing * indicates parse failure by setting a failing
* UErrorCode. * UErrorCode.
* *
* <p><strong>Formatting</strong> * <p><strong>Formatting</strong>
* *
* <p>Formatting is guided by several parameters, all of which can be * <p>Formatting is guided by several parameters, all of which can be
* specified either using a pattern or using the API. The following * specified either using a pattern or using the API. The following
skipping to change at line 688 skipping to change at line 735
* @param symbolsToAdopt the set of symbols to be used. The caller should not * @param symbolsToAdopt the set of symbols to be used. The caller should not
* delete this object after making this call. * delete this object after making this call.
* @param status Output param set to success/failure code. I f the * @param status Output param set to success/failure code. I f the
* pattern is invalid this will be set to a fa ilure code. * pattern is invalid this will be set to a fa ilure code.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
DecimalFormat( const UnicodeString& pattern, DecimalFormat( const UnicodeString& pattern,
DecimalFormatSymbols* symbolsToAdopt, DecimalFormatSymbols* symbolsToAdopt,
UErrorCode& status); UErrorCode& status);
/*
* This API is for ICU use only.
* Create a DecimalFormat from the given pattern, symbols, and style.
*
* @param pattern a non-localized pattern string
* @param symbolsToAdopt the set of symbols to be used. The caller
should not
* delete this object after making this call.
* @param style style of decimal format, kNumberStyle etc.
* @param status Output param set to success/failure code. I
f the
* pattern is invalid this will be set to a fa
ilure code.
* @internal ICU 4.2
*/
DecimalFormat( const UnicodeString& pattern,
DecimalFormatSymbols* symbolsToAdopt,
NumberFormat::EStyles style,
UErrorCode& status);
/** /**
* Create a DecimalFormat from the given pattern and symbols. * Create a DecimalFormat from the given pattern and symbols.
* Use this constructor when you need to completely customize the * Use this constructor when you need to completely customize the
* behavior of the format. * behavior of the format.
* <P> * <P>
* To obtain standard formats for a given * To obtain standard formats for a given
* locale, use the factory methods on NumberFormat such as * locale, use the factory methods on NumberFormat such as
* createInstance or createCurrencyInstance. If you need only minor adj ustments * createInstance or createCurrencyInstance. If you need only minor adj ustments
* to a standard format, you can modify the format returned by * to a standard format, you can modify the format returned by
* a NumberFormat factory method. * a NumberFormat factory method.
skipping to change at line 973 skipping to change at line 1037
/** /**
* Sets the decimal format symbols, which is generally not changed * Sets the decimal format symbols, which is generally not changed
* by the programmer or user. * by the programmer or user.
* @param symbols DecimalFormatSymbols. * @param symbols DecimalFormatSymbols.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual void setDecimalFormatSymbols(const DecimalFormatSymbols& symbol s); virtual void setDecimalFormatSymbols(const DecimalFormatSymbols& symbol s);
/** /**
* Returns the currency plural format information,
* which is generally not changed by the programmer or user.
* @return desired CurrencyPluralInfo
* @draft ICU 4.2
*/
virtual const CurrencyPluralInfo* getCurrencyPluralInfo(void) const;
/**
* Sets the currency plural format information,
* which is generally not changed by the programmer or user.
* @param toAdopt CurrencyPluralInfo to be adopted.
* @draft ICU 4.2
*/
virtual void adoptCurrencyPluralInfo(CurrencyPluralInfo* toAdopt);
/**
* Sets the currency plural format information,
* which is generally not changed by the programmer or user.
* @param info Currency Plural Info.
* @draft ICU 4.2
*/
virtual void setCurrencyPluralInfo(const CurrencyPluralInfo& info);
/**
* Get the positive prefix. * Get the positive prefix.
* *
* @param result Output param which will receive the positive prefix . * @param result Output param which will receive the positive prefix .
* @return A reference to 'result'. * @return A reference to 'result'.
* Examples: +123, $123, sFr123 * Examples: +123, $123, sFr123
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
UnicodeString& getPositivePrefix(UnicodeString& result) const; UnicodeString& getPositivePrefix(UnicodeString& result) const;
/** /**
skipping to change at line 1646 skipping to change at line 1734
* clone() methods call this method. * clone() methods call this method.
* *
* @return The class ID for this object. All objects of a * @return The class ID for this object. All objects of a
* given class have the same class ID. Objects of * given class have the same class ID. Objects of
* other classes have different class IDs. * other classes have different class IDs.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UClassID getDynamicClassID(void) const; virtual UClassID getDynamicClassID(void) const;
private: private:
friend UBool U_CALLCONV AffixValueComparator(UHashTok val1, UHashTok va
l2);
friend UBool U_CALLCONV AffixPatternValueComparator(UHashTok val1, UHas
hTok val2);
DecimalFormat(); // default constructor not implemented DecimalFormat(); // default constructor not implemented
int32_t precision(UBool isIntegral) const; int32_t precision(UBool isIntegral) const;
/** /**
* Do real work of constructing a new DecimalFormat. * Do real work of constructing a new DecimalFormat.
*/ */
void construct(UErrorCode& status, void construct(UErrorCode& status,
UParseError& parseErr, UParseError& parseErr,
const UnicodeString* pattern = 0, const UnicodeString* pattern = 0,
skipping to change at line 1683 skipping to change at line 1774
* @param parseError Struct to recieve information on position * @param parseError Struct to recieve information on position
* of error if an error is encountered * of error if an error is encountered
* @param status Output param set to success/failure code on * @param status Output param set to success/failure code on
* exit. If the pattern is invalid, this will be * exit. If the pattern is invalid, this will be
* set to a failure result. * set to a failure result.
*/ */
void applyPattern(const UnicodeString& pattern, void applyPattern(const UnicodeString& pattern,
UBool localized, UBool localized,
UParseError& parseError, UParseError& parseError,
UErrorCode& status); UErrorCode& status);
/*
* similar to applyPattern, but without re-gen affix for currency
*/
void applyPatternInternally(const UnicodeString& pluralCount,
const UnicodeString& pattern,
UBool localized,
UParseError& parseError,
UErrorCode& status);
/*
* only apply pattern without expand affixes
*/
void applyPatternWithoutExpandAffix(const UnicodeString& pattern,
UBool localized,
UParseError& parseError,
UErrorCode& status);
/*
* expand affixes (after apply patter) and re-compute fFormatWidth
*/
void expandAffixAdjustWidth(const UnicodeString* pluralCount);
/** /**
* Do the work of formatting a number, either a double or a long. * Do the work of formatting a number, either a double or a long.
* *
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param fieldPosition On input: an alignment field, if desired. * @param fieldPosition On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
* @param digits the digits to be formatted. * @param digits the digits to be formatted.
* @param isInteger if TRUE format the digits as Integer. * @param isInteger if TRUE format the digits as Integer.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
skipping to change at line 1709 skipping to change at line 1823
void parse(const UnicodeString& text, void parse(const UnicodeString& text,
Formattable& result, Formattable& result,
ParsePosition& pos, ParsePosition& pos,
UBool parseCurrency) const; UBool parseCurrency) const;
enum { enum {
fgStatusInfinite, fgStatusInfinite,
fgStatusLength // Leave last in list. fgStatusLength // Leave last in list.
} StatusFlags; } StatusFlags;
UBool subparse(const UnicodeString& text, ParsePosition& parsePosition, UBool subparse(const UnicodeString& text,
const UnicodeString* negPrefix,
const UnicodeString* negSuffix,
const UnicodeString* posPrefix,
const UnicodeString* posSuffix,
UBool currencyParsing,
ParsePosition& parsePosition,
DigitList& digits, UBool* status, DigitList& digits, UBool* status,
UChar* currency) const; UChar* currency) const;
// Mixed style parsing for currency.
// It parses against the current currency pattern
// using complex affix comparison
// parses against the currency plural patterns using complex affix comp
arison,
// and parses against the current pattern using simple affix comparison
.
UBool parseForCurrency(const UnicodeString& text,
ParsePosition& parsePosition,
DigitList& digits,
UBool* status,
UChar* currency) const;
int32_t skipPadding(const UnicodeString& text, int32_t position) const; int32_t skipPadding(const UnicodeString& text, int32_t position) const;
int32_t compareAffix(const UnicodeString& input, int32_t compareAffix(const UnicodeString& input,
int32_t pos, int32_t pos,
UBool isNegative, UBool isNegative,
UBool isPrefix, UBool isPrefix,
const UnicodeString* affixPat,
UBool currencyParsing,
UChar* currency) const; UChar* currency) const;
static int32_t compareSimpleAffix(const UnicodeString& affix, static int32_t compareSimpleAffix(const UnicodeString& affix,
const UnicodeString& input, const UnicodeString& input,
int32_t pos); int32_t pos);
static int32_t skipRuleWhiteSpace(const UnicodeString& text, int32_t po s); static int32_t skipRuleWhiteSpace(const UnicodeString& text, int32_t po s);
static int32_t skipUWhiteSpace(const UnicodeString& text, int32_t pos); static int32_t skipUWhiteSpace(const UnicodeString& text, int32_t pos);
skipping to change at line 1763 skipping to change at line 1896
void appendAffixPattern(UnicodeString& appendTo, const UnicodeString& a ffix, void appendAffixPattern(UnicodeString& appendTo, const UnicodeString& a ffix,
UBool localized) const; UBool localized) const;
void appendAffixPattern(UnicodeString& appendTo, void appendAffixPattern(UnicodeString& appendTo,
const UnicodeString* affixPattern, const UnicodeString* affixPattern,
const UnicodeString& expAffix, UBool localized) const; const UnicodeString& expAffix, UBool localized) const;
void expandAffix(const UnicodeString& pattern, void expandAffix(const UnicodeString& pattern,
UnicodeString& affix, UnicodeString& affix,
double number, double number,
UBool doFormat) const; UBool doFormat,
const UnicodeString* pluralCount) const;
void expandAffixes(); void expandAffixes(const UnicodeString* pluralCount);
static double round(double a, ERoundingMode mode, UBool isNegative); static double round(double a, ERoundingMode mode, UBool isNegative);
void addPadding(UnicodeString& appendTo, void addPadding(UnicodeString& appendTo,
FieldPosition& fieldPosition, FieldPosition& fieldPosition,
int32_t prefixLen, int32_t suffixLen) const; int32_t prefixLen, int32_t suffixLen) const;
UBool isGroupingPosition(int32_t pos) const; UBool isGroupingPosition(int32_t pos) const;
void setCurrencyForSymbols(); void setCurrencyForSymbols();
// similar to setCurrency without re-compute the affixes for currency.
// If currency changes, the affix pattern for currency is not changed,
// but the affix will be changed. So, affixes need to be
// re-computed in setCurrency(), but not in setCurrencyInternally().
virtual void setCurrencyInternally(const UChar* theCurrency, UErrorCode
& ec);
// set up currency affix patterns for mix parsing.
// The patterns saved here are the affix patterns of default currency
// pattern and the unique affix patterns of the plural currency pattern
s.
// Those patterns are used by parseForCurrency().
void setupCurrencyAffixPatterns(UErrorCode& status);
// set up the currency affixes used in currency plural formatting.
// It sets up both fAffixesForCurrency for currency pattern if the curr
ent
// pattern contains 3 currency signs,
// and it sets up fPluralAffixesForCurrency for currency plural pattern
s.
void setupCurrencyAffixes(const UnicodeString& pattern,
UBool setupForCurrentPattern,
UBool setupForPluralPattern,
UErrorCode& status);
// hashtable operations
Hashtable* initHashForAffixPattern(UErrorCode& status);
Hashtable* initHashForAffix(UErrorCode& status);
void deleteHashForAffixPattern();
void deleteHashForAffix(Hashtable*& table);
void copyHashForAffixPattern(const Hashtable* source,
Hashtable* target, UErrorCode& status);
void copyHashForAffix(const Hashtable* source,
Hashtable* target, UErrorCode& status);
// currency sign count
enum {
fgCurrencySignCountZero,
fgCurrencySignCountInSymbolFormat,
fgCurrencySignCountInISOFormat,
fgCurrencySignCountInPluralFormat
} CurrencySignCount;
/** /**
* Constants. * Constants.
*/ */
//static const int8_t fgMaxDigit; // The largest digit, in this case 9 //static const int8_t fgMaxDigit; // The largest digit, in this case 9
/*transient*/ //DigitList* fDigitList; /*transient*/ //DigitList* fDigitList;
UnicodeString fPositivePrefix; UnicodeString fPositivePrefix;
UnicodeString fPositiveSuffix; UnicodeString fPositiveSuffix;
UnicodeString fNegativePrefix; UnicodeString fNegativePrefix;
skipping to change at line 1804 skipping to change at line 1979
* Formatter for ChoiceFormat-based currency names. If this field * Formatter for ChoiceFormat-based currency names. If this field
* is not null, then delegate to it to format currency symbols. * is not null, then delegate to it to format currency symbols.
* @since ICU 2.6 * @since ICU 2.6
*/ */
ChoiceFormat* fCurrencyChoice; ChoiceFormat* fCurrencyChoice;
int32_t fMultiplier; int32_t fMultiplier;
int32_t fGroupingSize; int32_t fGroupingSize;
int32_t fGroupingSize2; int32_t fGroupingSize2;
UBool fDecimalSeparatorAlwaysShown; UBool fDecimalSeparatorAlwaysShown;
/*transient*/ UBool fIsCurrencyFormat;
DecimalFormatSymbols* fSymbols; DecimalFormatSymbols* fSymbols;
UBool fUseSignificantDigits; UBool fUseSignificantDigits;
int32_t fMinSignificantDigits; int32_t fMinSignificantDigits;
int32_t fMaxSignificantDigits; int32_t fMaxSignificantDigits;
UBool fUseExponentialNotation; UBool fUseExponentialNotation;
int8_t fMinExponentDigits; int8_t fMinExponentDigits;
UBool fExponentSignAlwaysShown; UBool fExponentSignAlwaysShown;
skipping to change at line 1827 skipping to change at line 2001
* we cache the result in fRoundingDouble. All methods that update * we cache the result in fRoundingDouble. All methods that update
* fRoundingIncrement also update fRoundingDouble. */ * fRoundingIncrement also update fRoundingDouble. */
DigitList* fRoundingIncrement; DigitList* fRoundingIncrement;
/*transient*/ double fRoundingDouble; /*transient*/ double fRoundingDouble;
ERoundingMode fRoundingMode; ERoundingMode fRoundingMode;
UChar32 fPad; UChar32 fPad;
int32_t fFormatWidth; int32_t fFormatWidth;
EPadPosition fPadPosition; EPadPosition fPadPosition;
/*
* Following are used for currency format
*/
// pattern used in this formatter
UnicodeString fFormatPattern;
// style is only valid when decimal formatter is constructed by
// DecimalFormat(pattern, decimalFormatSymbol, style)
int fStyle;
/*
* Represents whether this is a currency format, and which
* currency format style.
* 0: not currency format type;
* 1: currency style -- symbol name, such as "$" for US dollar.
* 2: currency style -- ISO name, such as USD for US dollar.
* 3: currency style -- plural long name, such as "US Dollar" for
* "1.00 US Dollar", or "US Dollars" for
* "3.00 US Dollars".
*/
int fCurrencySignCount;
/* For currency parsing purose,
* Need to remember all prefix patterns and suffix patterns of
* every currency format pattern,
* including the pattern of default currecny style
* and plural currency style. And the patterns are set through applyPat
tern.
*/
// TODO: innerclass?
struct AffixPatternsForCurrency : public UMemory {
// negative prefix pattern
UnicodeString negPrefixPatternForCurrency;
// negative suffix pattern
UnicodeString negSuffixPatternForCurrency;
// positive prefix pattern
UnicodeString posPrefixPatternForCurrency;
// positive suffix pattern
UnicodeString posSuffixPatternForCurrency;
AffixPatternsForCurrency(const UnicodeString& negPrefix,
const UnicodeString& negSuffix,
const UnicodeString& posPrefix,
const UnicodeString& posSuffix) {
negPrefixPatternForCurrency = negPrefix;
negSuffixPatternForCurrency = negSuffix;
posPrefixPatternForCurrency = posPrefix;
posSuffixPatternForCurrency = posSuffix;
}
};
/* affix for currency formatting when the currency sign in the pattern
* equals to 3, such as the pattern contains 3 currency sign or
* the formatter style is currency plural format style.
*/
struct AffixesForCurrency : public UMemory {
// negative prefix
UnicodeString negPrefixForCurrency;
// negative suffix
UnicodeString negSuffixForCurrency;
// positive prefix
UnicodeString posPrefixForCurrency;
// positive suffix
UnicodeString posSuffixForCurrency;
int32_t formatWidth;
AffixesForCurrency(const UnicodeString& negPrefix,
const UnicodeString& negSuffix,
const UnicodeString& posPrefix,
const UnicodeString& posSuffix) {
negPrefixForCurrency = negPrefix;
negSuffixForCurrency = negSuffix;
posPrefixForCurrency = posPrefix;
posSuffixForCurrency = posSuffix;
}
};
// Affix pattern set for currency.
// It is a set of AffixPatternsForCurrency,
// each element of the set saves the negative prefix pattern,
// negative suffix pattern, positive prefix pattern,
// and positive suffix pattern of a pattern.
// It is used for currency mixed style parsing.
// It is actually is a set.
// The set contains the default currency pattern from the locale,
// and the currency plural patterns.
// Since it is a set, it does not contain duplicated items.
// For example, if 2 currency plural patterns are the same, only one pa
ttern
// is included in the set. When parsing, we do not check whether the pl
ural
// count match or not.
Hashtable* fAffixPatternsForCurrency;
// Following 2 are affixes for currency.
// It is a hash map from plural count to AffixesForCurrency.
// AffixesForCurrency saves the negative prefix,
// negative suffix, positive prefix, and positive suffix of a pattern.
// It is used during currency formatting only when the currency sign co
unt
// is 3. In which case, the affixes are getting from here, not
// from the fNegativePrefix etc.
Hashtable* fAffixesForCurrency; // for current pattern
Hashtable* fPluralAffixesForCurrency; // for plural pattern
// Information needed for DecimalFormat to format/parse currency plural
.
CurrencyPluralInfo* fCurrencyPluralInfo;
protected: protected:
/** /**
* Returns the currency in effect for this formatter. Subclasses * Returns the currency in effect for this formatter. Subclasses
* should override this method as needed. Unlike getCurrency(), * should override this method as needed. Unlike getCurrency(),
* this method should never return "". * this method should never return "".
* @result output parameter for null-terminated result, which must * @result output parameter for null-terminated result, which must
* have a capacity of at least 4 * have a capacity of at least 4
* @internal * @internal
*/ */
 End of changes. 20 change blocks. 
8 lines changed or deleted 303 lines changed or added


 docmain.h   docmain.h 
/******************************************************************** /********************************************************************
* COPYRIGHT: * COPYRIGHT:
* Copyright (c) 1997-2007, International Business Machines Corporation and * Copyright (c) 1997-2008, International Business Machines Corporation and
* others. All Rights Reserved. * others. All Rights Reserved.
* *
* FILE NAME: DOCMAIN.h * FILE NAME: DOCMAIN.h
* *
* Date Name Description * Date Name Description
* 12/11/2000 Ram Creation. * 12/11/2000 Ram Creation.
*/ */
/* This file contains documentation for Doxygen and doesnot have /* This file contains documentation for Doxygen and doesnot have
* any significance with respect to C or C++ API * any significance with respect to C or C++ API
skipping to change at line 202 skipping to change at line 202
* <td>Complex Text Layout</td> * <td>Complex Text Layout</td>
* <td>(no C API)</td> * <td>(no C API)</td>
* <td>LayoutEngine, ParagraphLayout</td> * <td>LayoutEngine, ParagraphLayout</td>
* </tr> * </tr>
* <tr> * <tr>
* <td>ICU I/O</td> * <td>ICU I/O</td>
* <td>ustdio.h</td> * <td>ustdio.h</td>
* <td>ustream.h</td> * <td>ustream.h</td>
* </tr> * </tr>
* </table> * </table>
* <i>This main page is generated from docmain.h</i>
*/ */
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 dtfmtsym.h   dtfmtsym.h 
/* /*
*************************************************************************** ***** *************************************************************************** *****
* Copyright (C) 1997-2007, International Business Machines * Copyright (C) 1997-2008, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** ***** *************************************************************************** *****
* *
* File DTFMTSYM.H * File DTFMTSYM.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/19/97 aliu Converted from java. * 02/19/97 aliu Converted from java.
* 07/21/98 stephen Added getZoneIndex() * 07/21/98 stephen Added getZoneIndex()
skipping to change at line 183 skipping to change at line 183
/** /**
* Return true if another object is semantically unequal to this one. * Return true if another object is semantically unequal to this one.
* *
* @param other the DateFormatSymbols object to be compared with. * @param other the DateFormatSymbols object to be compared with.
* @return true if other is semantically unequal to this. * @return true if other is semantically unequal to this.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
UBool operator!=(const DateFormatSymbols& other) const { return !operat or==(other); } UBool operator!=(const DateFormatSymbols& other) const { return !operat or==(other); }
/** /**
* Gets era strings. For example: "AD" and "BC". * Gets abbreviated era strings. For example: "AD" and "BC".
* *
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
* @return the era strings. * @return the era strings.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
const UnicodeString* getEras(int32_t& count) const; const UnicodeString* getEras(int32_t& count) const;
/** /**
* Sets era strings. For example: "AD" and "BC". * Sets abbreviated era strings. For example: "AD" and "BC".
* @param eras Array of era strings (DateFormatSymbols retains ownersh ip.) * @param eras Array of era strings (DateFormatSymbols retains ownersh ip.)
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
void setEras(const UnicodeString* eras, int32_t count); void setEras(const UnicodeString* eras, int32_t count);
/** /**
* Gets era name strings. For example: "Anno Domini" and "Before Christ ". * Gets era name strings. For example: "Anno Domini" and "Before Christ ".
* *
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
skipping to change at line 217 skipping to change at line 217
/** /**
* Sets era name strings. For example: "Anno Domini" and "Before Christ ". * Sets era name strings. For example: "Anno Domini" and "Before Christ ".
* @param eraNames Array of era name strings (DateFormatSymbols retain s ownership.) * @param eraNames Array of era name strings (DateFormatSymbols retain s ownership.)
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
* @stable ICU 3.6 * @stable ICU 3.6
*/ */
void setEraNames(const UnicodeString* eraNames, int32_t count); void setEraNames(const UnicodeString* eraNames, int32_t count);
/** /**
* Gets narrow era strings. For example: A" and "D".
*
* @param count Filled in with length of the array.
* @return the narrow era strings.
* @draft ICU 4.2
*/
const UnicodeString* getNarrowEras(int32_t& count) const;
/**
* Sets narrow era strings. For example: "A" and "B".
* @param narrowEras Array of narrow era strings (DateFormatSymbols re
tains ownership.)
* @param count Filled in with length of the array.
* @draft ICU 4.2
*/
void setNarrowEras(const UnicodeString* narrowEras, int32_t count);
/**
* Gets month strings. For example: "January", "February", etc. * Gets month strings. For example: "January", "February", etc.
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
* @return the month strings. (DateFormatSymbols retains ownership.) * @return the month strings. (DateFormatSymbols retains ownership.)
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
const UnicodeString* getMonths(int32_t& count) const; const UnicodeString* getMonths(int32_t& count) const;
/** /**
* Sets month strings. For example: "January", "February", etc. * Sets month strings. For example: "January", "February", etc.
* *
skipping to change at line 455 skipping to change at line 472
* @stable ICU 2.2 * @stable ICU 2.2
*/ */
static UClassID U_EXPORT2 getStaticClassID(); static UClassID U_EXPORT2 getStaticClassID();
private: private:
friend class SimpleDateFormat; friend class SimpleDateFormat;
friend class DateFormatSymbolsSingleSetter; // see udat.cpp friend class DateFormatSymbolsSingleSetter; // see udat.cpp
/** /**
* Era strings. For example: "AD" and "BC". * Abbreviated era strings. For example: "AD" and "BC".
*/ */
UnicodeString* fEras; UnicodeString* fEras;
int32_t fErasCount; int32_t fErasCount;
/** /**
* Era name strings. For example: "Anno Domini" and "Before Christ". * Era name strings. For example: "Anno Domini" and "Before Christ".
*/ */
UnicodeString* fEraNames; UnicodeString* fEraNames;
int32_t fEraNamesCount; int32_t fEraNamesCount;
/** /**
* Narrow era strings. For example: "A" and "B".
*/
UnicodeString* fNarrowEras;
int32_t fNarrowErasCount;
/**
* Month strings. For example: "January", "February", etc. * Month strings. For example: "January", "February", etc.
*/ */
UnicodeString* fMonths; UnicodeString* fMonths;
int32_t fMonthsCount; int32_t fMonthsCount;
/** /**
* Short month strings. For example: "Jan", "Feb", etc. * Short month strings. For example: "Jan", "Feb", etc.
*/ */
UnicodeString* fShortMonths; UnicodeString* fShortMonths;
int32_t fShortMonthsCount; int32_t fShortMonthsCount;
 End of changes. 6 change blocks. 
4 lines changed or deleted 28 lines changed or added


 dtitvfmt.h   dtitvfmt.h 
skipping to change at line 602 skipping to change at line 602
* @param status Output param set to success/failure code. * @param status Output param set to success/failure code.
* @return a date time interval formatter which the caller own s. * @return a date time interval formatter which the caller own s.
* @internal ICU 4.0 * @internal ICU 4.0
*/ */
static DateIntervalFormat* U_EXPORT2 create(const Locale& locale, static DateIntervalFormat* U_EXPORT2 create(const Locale& locale,
DateIntervalInfo* dtitvinf, DateIntervalInfo* dtitvinf,
const UnicodeString* skelet on, const UnicodeString* skelet on,
UErrorCode& status); UErrorCode& status);
/** /**
* Below are for generating interval patterns locale to the formatter * Create a simple date/time formatter from skeleton, given locale,
* and date time pattern generator.
*
* @param skeleton the skeleton on which date format based.
* @param locale the given locale.
* @param dtpng the date time pattern generator.
* @param status Output param to be set to success/failure code.
* If it is failure, the returned date formatter will
* be NULL.
* @return a simple date formatter which the caller owns.
* @internal ICU 4.0
*/
static SimpleDateFormat* U_EXPORT2 createSDFPatternInstance(
const UnicodeString& skeleton,
const Locale& locale,
DateTimePatternGenerator* dtpng,
UErrorCode& status);
/**
* Below are for generating interval patterns local to the formatter
*/ */
/** /**
* Format 2 Calendars using fall-back interval pattern * Format 2 Calendars using fall-back interval pattern
* *
* The full pattern used in this fall-back format is the * The full pattern used in this fall-back format is the
* full pattern of the date formatter. * full pattern of the date formatter.
* *
* @param fromCalendar calendar set to the from date in date inter val * @param fromCalendar calendar set to the from date in date inter val
* to be formatted into date interval string * to be formatted into date interval string
 End of changes. 1 change blocks. 
1 lines changed or deleted 20 lines changed or added


 dtptngen.h   dtptngen.h 
skipping to change at line 32 skipping to change at line 32
/** /**
* \file * \file
* \brief C++ API: Date/Time Pattern Generator * \brief C++ API: Date/Time Pattern Generator
*/ */
class Hashtable; class Hashtable;
class FormatParser; class FormatParser;
class DateTimeMatcher; class DateTimeMatcher;
class DistanceInfo; class DistanceInfo;
class PatternMap; class PatternMap;
class PtnSkeleton;
/** /**
* This class provides flexible generation of date format patterns, like "y y-MM-dd". * This class provides flexible generation of date format patterns, like "y y-MM-dd".
* The user can build up the generator by adding successive patterns. Once that * The user can build up the generator by adding successive patterns. Once that
* is done, a query can be made using a "skeleton", which is a pattern whic h just * is done, a query can be made using a "skeleton", which is a pattern whic h just
* includes the desired fields and lengths. The generator will return the " best fit" * includes the desired fields and lengths. The generator will return the " best fit"
* pattern corresponding to that skeleton. * pattern corresponding to that skeleton.
* <p>The main method people will use is getBestPattern(String skeleton), * <p>The main method people will use is getBestPattern(String skeleton),
* since normally this class is pre-built with data from a particular local e. * since normally this class is pre-built with data from a particular local e.
* However, generators can be built directly from other data as well. * However, generators can be built directly from other data as well.
skipping to change at line 393 skipping to change at line 394
DistanceInfo *distanceInfo; DistanceInfo *distanceInfo;
PatternMap *patternMap; PatternMap *patternMap;
UnicodeString appendItemFormats[UDATPG_FIELD_COUNT]; UnicodeString appendItemFormats[UDATPG_FIELD_COUNT];
UnicodeString appendItemNames[UDATPG_FIELD_COUNT]; UnicodeString appendItemNames[UDATPG_FIELD_COUNT];
UnicodeString dateTimeFormat; UnicodeString dateTimeFormat;
UnicodeString decimal; UnicodeString decimal;
DateTimeMatcher *skipMatcher; DateTimeMatcher *skipMatcher;
Hashtable *fAvailableFormatKeyHash; Hashtable *fAvailableFormatKeyHash;
UnicodeString hackPattern; UnicodeString hackPattern;
UnicodeString emptyString; UnicodeString emptyString;
UBool chineseMonthHack;
void initData(const Locale &locale, UErrorCode &status); void initData(const Locale &locale, UErrorCode &status);
void addCanonicalItems(); void addCanonicalItems();
void addICUPatterns(const Locale& locale, UErrorCode& status); void addICUPatterns(const Locale& locale, UErrorCode& status);
void hackTimes(const UnicodeString& hackPattern, UErrorCode& status); void hackTimes(const UnicodeString& hackPattern, UErrorCode& status);
void addCLDRData(const Locale& locale); void addCLDRData(const Locale& locale);
UDateTimePatternConflict addPatternWithSkeleton(const UnicodeString& pa ttern, const UnicodeString * skeletonToUse, UBool override, UnicodeString& conflictingPattern, UErrorCode& status);
void initHashtable(UErrorCode& status); void initHashtable(UErrorCode& status);
void setDateTimeFromCalendar(const Locale& locale, UErrorCode& status); void setDateTimeFromCalendar(const Locale& locale, UErrorCode& status);
void setDecimalSymbols(const Locale& locale, UErrorCode& status); void setDecimalSymbols(const Locale& locale, UErrorCode& status);
UnicodeString getCJKPattern(const UnicodeString& patternForm);
UDateTimePatternField getAppendFormatNumber(const char* field) const; UDateTimePatternField getAppendFormatNumber(const char* field) const;
UDateTimePatternField getAppendNameNumber(const char* field) const; UDateTimePatternField getAppendNameNumber(const char* field) const;
void getAppendName(UDateTimePatternField field, UnicodeString& value); void getAppendName(UDateTimePatternField field, UnicodeString& value);
int32_t getCanonicalIndex(const UnicodeString& field); int32_t getCanonicalIndex(const UnicodeString& field);
const UnicodeString* getBestRaw(DateTimeMatcher& source, int32_t includ const UnicodeString* getBestRaw(DateTimeMatcher& source, int32_t includ
eMask, DistanceInfo* missingFields); eMask, DistanceInfo* missingFields, const PtnSkeleton** specifiedSkeletonPt
UnicodeString adjustFieldTypes(const UnicodeString& pattern, UBool fixF r = 0);
ractionalSeconds); UnicodeString adjustFieldTypes(const UnicodeString& pattern, const PtnS
keleton* specifiedSkeleton, UBool fixFractionalSeconds);
UnicodeString getBestAppending(int32_t missingFields); UnicodeString getBestAppending(int32_t missingFields);
int32_t getTopBitNumber(int32_t foundMask); int32_t getTopBitNumber(int32_t foundMask);
void setAvailableFormat(const UnicodeString &key, UErrorCode& status); void setAvailableFormat(const UnicodeString &key, UErrorCode& status);
UBool isAvailableFormatSet(const UnicodeString &key) const; UBool isAvailableFormatSet(const UnicodeString &key) const;
void copyHashtable(Hashtable *other, UErrorCode &status); void copyHashtable(Hashtable *other, UErrorCode &status);
UBool isCanonicalItem(const UnicodeString& item) const; UBool isCanonicalItem(const UnicodeString& item) const;
} ;// end class DateTimePatternGenerator } ;// end class DateTimePatternGenerator
U_NAMESPACE_END U_NAMESPACE_END
 End of changes. 5 change blocks. 
6 lines changed or deleted 7 lines changed or added


 msgfmt.h   msgfmt.h 
skipping to change at line 86 skipping to change at line 86
* {@link #format(const UnicodeString* argumentNames, const Formattable* ar guments, int32_t count, UnicodeString& appendTo,UErrorCode& status)}. * {@link #format(const UnicodeString* argumentNames, const Formattable* ar guments, int32_t count, UnicodeString& appendTo,UErrorCode& status)}.
* These methods are all compatible with patterns that do not used named ar guments-- * These methods are all compatible with patterns that do not used named ar guments--
* in these cases the keys in the input or output use <code>UnicodeString</ code>s * in these cases the keys in the input or output use <code>UnicodeString</ code>s
* that name the argument indices, e.g. "0", "1", "2"... etc. * that name the argument indices, e.g. "0", "1", "2"... etc.
* <p> * <p>
* When named arguments are used, certain methods on MessageFormat that tak e or * When named arguments are used, certain methods on MessageFormat that tak e or
* return arrays do not perform any action, since it is not possible to * return arrays do not perform any action, since it is not possible to
* identify positions in an array using a name. UErrorCode is set to * identify positions in an array using a name. UErrorCode is set to
* U_ARGUMENT_TYPE_MISMATCH if there is a status/success field in the metho d. * U_ARGUMENT_TYPE_MISMATCH if there is a status/success field in the metho d.
* These methods are * These methods are
* {@link #adoptFormats(Format** newFormats, int32_t count)}, * {@link #adoptFormats(Format** formatsToAdopt, int32_t count)},
* {@link #setFormats(const Format** newFormats,int32_t count)}, * {@link #setFormats(const Format** newFormats,int32_t count)},
* {@link #adoptFormat(int32_t n, Format *newFormat)}, * {@link #adoptFormat(int32_t n, Format *newFormat)},
* {@link #getFormats(int32_t& cnt)}, * {@link #getFormats(int32_t& count)},
* {@link #format(const Formattable* source,int32_t cnt,UnicodeString& appe ndTo, FieldPosition& ignore, UErrorCode& success)}, * {@link #format(const Formattable* source,int32_t cnt,UnicodeString& appe ndTo, FieldPosition& ignore, UErrorCode& success)},
* {@link #format(const UnicodeString& pattern,const Formattable* arguments ,int32_t cnt,UnicodeString& appendTo,UErrorCode& success)}, * {@link #format(const UnicodeString& pattern,const Formattable* arguments ,int32_t cnt,UnicodeString& appendTo,UErrorCode& success)},
* {@link #format(const Formattable& source, UnicodeString& appendTo,FieldP osition& ignore, UErrorCode& success)}, * {@link #format(const Formattable& source, UnicodeString& appendTo,FieldP osition& ignore, UErrorCode& success)},
* {@link #format(const Formattable* arguments, int32_t cnt, UnicodeString& appendTo, FieldPosition& status, int32_t recursionProtection,UErrorCode& s uccess)}, * {@link #format(const Formattable* arguments, int32_t cnt, UnicodeString& appendTo, FieldPosition& status, int32_t recursionProtection,UErrorCode& s uccess)},
* {@link #parse(const UnicodeString& source, ParsePosition& pos,int32_t& c ount)}, * {@link #parse(const UnicodeString& source, ParsePosition& pos,int32_t& c ount)},
* {@link #parse(const UnicodeString& source, int32_t& cnt, UErrorCode& sta tus)} * {@link #parse(const UnicodeString& source, int32_t& cnt, UErrorCode& sta tus)}
* <p> * <p>
* *
* <P> * <P>
* During parsing, an input string is matched against the string * During parsing, an input string is matched against the string
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 numfmt.h   numfmt.h 
/* /*
*************************************************************************** ***** *************************************************************************** *****
* Copyright (C) 1997-2006, International Business Machines Corporation and others. * Copyright (C) 1997-2009, International Business Machines Corporation and others.
* All Rights Reserved. * All Rights Reserved.
*************************************************************************** ***** *************************************************************************** *****
* *
* File NUMFMT.H * File NUMFMT.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/19/97 aliu Converted from java. * 02/19/97 aliu Converted from java.
* 03/18/97 clhuang Updated per C++ implementation. * 03/18/97 clhuang Updated per C++ implementation.
skipping to change at line 109 skipping to change at line 109
* Formattable result(-999); // initialized with error code * Formattable result(-999); // initialized with error code
* nf->parse(myString, result, success); * nf->parse(myString, result, success);
* \endcode * \endcode
* </pre> * </pre>
* Use createInstance to get the normal number format for that country. * Use createInstance to get the normal number format for that country.
* There are other static factory methods available. Use getCurrency * There are other static factory methods available. Use getCurrency
* to get the currency number format for that country. Use getPercent * to get the currency number format for that country. Use getPercent
* to get a format for displaying percentages. With this format, a * to get a format for displaying percentages. With this format, a
* fraction from 0.53 is displayed as 53%. * fraction from 0.53 is displayed as 53%.
* <P> * <P>
* Starting from ICU 4.2, you can use createInstance() by passing in a 'sty
le'
* as parameter to get the correct instance.
* For example,
* use createInstance(...kNumberStyle...) to get the normal number format,
* createInstance(...kPercentStyle...) to get a format for displaying
* percentage,
* createInstance(...kScientificStyle...) to get a format for displaying
* scientific number,
* createInstance(...kCurrencyStyle...) to get the currency number format,
* in which the currency is represented by its symbol, for example, "$3.00"
.
* createInstance(...kIsoCurrencyStyle...) to get the currency number form
at,
* in which the currency is represented by its ISO code, for example "USD3.
00".
* createInstance(...kPluralCurrencyStyle...) to get the currency number fo
rmat,
* in which the currency is represented by its full name in plural format,
* for example, "3.00 US dollars" or "1.00 US dollar".
* <P>
* You can also control the display of numbers with such methods as * You can also control the display of numbers with such methods as
* getMinimumFractionDigits. If you want even more control over the * getMinimumFractionDigits. If you want even more control over the
* format or parsing, or want to give your users more control, you can * format or parsing, or want to give your users more control, you can
* try casting the NumberFormat you get from the factory methods to a * try casting the NumberFormat you get from the factory methods to a
* DecimalNumberFormat. This will work for the vast majority of * DecimalNumberFormat. This will work for the vast majority of
* countries; just remember to put it in a try block in case you * countries; just remember to put it in a try block in case you
* encounter an unusual one. * encounter an unusual one.
* <P> * <P>
* You can also use forms of the parse and format methods with * You can also use forms of the parse and format methods with
* ParsePosition and FieldPosition to allow you to: * ParsePosition and FieldPosition to allow you to:
skipping to change at line 149 skipping to change at line 165
* <em>User subclasses are not supported.</em> While clients may write * <em>User subclasses are not supported.</em> While clients may write
* subclasses, such code will not necessarily work and will not be * subclasses, such code will not necessarily work and will not be
* guaranteed to work stably from release to release. * guaranteed to work stably from release to release.
* *
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
class U_I18N_API NumberFormat : public Format { class U_I18N_API NumberFormat : public Format {
public: public:
/** /**
* Constants for various number format styles.
* kNumberStyle specifies a normal number style of format.
* kCurrencyStyle specifies a currency format using currency symbol nam
e,
* such as in "$1.00".
* kPercentStyle specifies a style of format to display percent.
* kScientificStyle specifies a style of format to display scientific n
umber.
* kISOCurrencyStyle specifies a currency format using ISO currency cod
e,
* such as in "USD1.00".
* kPluralCurrencyStyle specifies a currency format using currency plur
al
* names, such as in "1.00 US dollar" and "3.00 US dollars".
* @draft ICU 4.2
*/
enum EStyles {
kNumberStyle,
kCurrencyStyle,
kPercentStyle,
kScientificStyle,
kIsoCurrencyStyle,
kPluralCurrencyStyle,
kStyleCount // ALWAYS LAST ENUM: number of styles
};
/**
* Alignment Field constants used to construct a FieldPosition object. * Alignment Field constants used to construct a FieldPosition object.
* Signifies that the position of the integer part or fraction part of * Signifies that the position of the integer part or fraction part of
* a formatted number should be returned. * a formatted number should be returned.
* *
* @see FieldPosition * @see FieldPosition
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
enum EAlignmentFields { enum EAlignmentFields {
kIntegerField, kIntegerField,
kFractionField, kFractionField,
skipping to change at line 446 skipping to change at line 485
* The default format is one of the styles provided by the other * The default format is one of the styles provided by the other
* factory methods: getNumberInstance, getCurrencyInstance or * factory methods: getNumberInstance, getCurrencyInstance or
* getPercentInstance. Exactly which one is locale dependant. * getPercentInstance. Exactly which one is locale dependant.
* @param inLocale the given locale. * @param inLocale the given locale.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static NumberFormat* U_EXPORT2 createInstance(const Locale& inLocale, static NumberFormat* U_EXPORT2 createInstance(const Locale& inLocale,
UErrorCode&); UErrorCode&);
/** /**
* Creates the specified decimal format style of the desired locale.
* @param desiredLocale the given locale.
* @param choice the given style.
* @param success Output param filled with success/failure sta
tus.
* @return A new NumberFormat instance.
* @draft ICU 4.2
*/
static NumberFormat* U_EXPORT2 createInstance(const Locale& desiredLoca
le, EStyles choice, UErrorCode& success);
/**
* Returns a currency format for the current default locale. * Returns a currency format for the current default locale.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
static NumberFormat* U_EXPORT2 createCurrencyInstance(UErrorCode&); static NumberFormat* U_EXPORT2 createCurrencyInstance(UErrorCode&);
/** /**
* Returns a currency format for the specified locale. * Returns a currency format for the specified locale.
* @param inLocale the given locale. * @param inLocale the given locale.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
skipping to change at line 713 skipping to change at line 762
* should override this method as needed. Unlike getCurrency(), * should override this method as needed. Unlike getCurrency(),
* this method should never return "". * this method should never return "".
* @result output parameter for null-terminated result, which must * @result output parameter for null-terminated result, which must
* have a capacity of at least 4 * have a capacity of at least 4
* @internal * @internal
*/ */
virtual void getEffectiveCurrency(UChar* result, UErrorCode& ec) const; virtual void getEffectiveCurrency(UChar* result, UErrorCode& ec) const;
private: private:
enum EStyles {
kNumberStyle,
kCurrencyStyle,
kPercentStyle,
kScientificStyle,
kStyleCount // ALWAYS LAST ENUM: number of styles
};
/**
* Creates the specified decimal format style of the desired locale.
* Hook for service registration, uses makeInstance directly if no serv
ices
* registered.
* @param desiredLocale the given locale.
* @param choice the given style.
* @param success Output param filled with success/failure sta
tus.
* @return A new NumberFormat instance.
*/
static NumberFormat* U_EXPORT2 createInstance(const Locale& desiredLoca
le, EStyles choice, UErrorCode& success);
/** /**
* Creates the specified decimal format style of the desired locale. * Creates the specified decimal format style of the desired locale.
* @param desiredLocale the given locale. * @param desiredLocale the given locale.
* @param choice the given style. * @param choice the given style.
* @param success Output param filled with success/failure sta tus. * @param success Output param filled with success/failure sta tus.
* @return A new NumberFormat instance. * @return A new NumberFormat instance.
*/ */
static NumberFormat* makeInstance(const Locale& desiredLocale, EStyles choice, UErrorCode& success); static NumberFormat* makeInstance(const Locale& desiredLocale, EStyles choice, UErrorCode& success);
UBool fGroupingUsed; UBool fGroupingUsed;
 End of changes. 5 change blocks. 
23 lines changed or deleted 61 lines changed or added


 platform.h   platform.h 
skipping to change at line 32 skipping to change at line 32
/** /**
* \file * \file
* \brief Basic types for the platform * \brief Basic types for the platform
*/ */
/* Define the platform we're on. */ /* Define the platform we're on. */
#ifndef U_LINUX #ifndef U_LINUX
#define U_LINUX #define U_LINUX
#endif #endif
/* Define whether dirent.h is available */ /**
* \def U_HAVE_DIRENT_H
* Define whether dirent.h is available */
#ifndef U_HAVE_DIRENT_H #ifndef U_HAVE_DIRENT_H
#define U_HAVE_DIRENT_H 1 #define U_HAVE_DIRENT_H 1
#endif #endif
/* Define whether inttypes.h is available */ /** Define whether inttypes.h is available */
#ifndef U_HAVE_INTTYPES_H #ifndef U_HAVE_INTTYPES_H
#define U_HAVE_INTTYPES_H 1 #define U_HAVE_INTTYPES_H 1
#endif #endif
/* /**
* Define what support for C++ streams is available. * Define what support for C++ streams is available.
* If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available * If U_IOSTREAM_SOURCE is set to 199711, then <iostream&gt; is avai lable
* (1997711 is the date the ISO/IEC C++ FDIS was published), and then * (1997711 is the date the ISO/IEC C++ FDIS was published), and then
* one should qualify streams using the std namespace in ICU header * one should qualify streams using the std namespace in ICU header
* files. * files.
* If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h&gt; is * If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h&gt; is
* available instead (198506 is the date when Stroustrup published * available instead (198506 is the date when Stroustrup published
* "An Extensible I/O Facility for C++" at the summer USENIX conference). * "An Extensible I/O Facility for C++" at the summer USENIX conference).
* If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and * If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and
* support for them will be silently suppressed in ICU. * support for them will be silently suppressed in ICU.
* *
*/ */
#ifndef U_IOSTREAM_SOURCE #ifndef U_IOSTREAM_SOURCE
#define U_IOSTREAM_SOURCE 199711 #define U_IOSTREAM_SOURCE 199711
#endif #endif
/* Determines whether specific types are available */ /** @{ Determines whether specific types are available */
#ifndef U_HAVE_INT8_T #ifndef U_HAVE_INT8_T
#define U_HAVE_INT8_T 1 #define U_HAVE_INT8_T 1
#endif #endif
#ifndef U_HAVE_UINT8_T #ifndef U_HAVE_UINT8_T
#define U_HAVE_UINT8_T 1 #define U_HAVE_UINT8_T 1
#endif #endif
#ifndef U_HAVE_INT16_T #ifndef U_HAVE_INT16_T
#define U_HAVE_INT16_T 1 #define U_HAVE_INT16_T 1
skipping to change at line 93 skipping to change at line 95
#endif #endif
#ifndef U_HAVE_INT64_T #ifndef U_HAVE_INT64_T
#define U_HAVE_INT64_T 1 #define U_HAVE_INT64_T 1
#endif #endif
#ifndef U_HAVE_UINT64_T #ifndef U_HAVE_UINT64_T
#define U_HAVE_UINT64_T 1 #define U_HAVE_UINT64_T 1
#endif #endif
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Generic data types */ /** @{ Generic data types */
/*========================================================================= ==*/ /*========================================================================= ==*/
#include <sys/types.h> #include <sys/types.h>
/* If your platform does not have the <inttypes.h> header, you may /* If your platform does not have the <inttypes.h> header, you may
need to edit the typedefs below. */ need to edit the typedefs below. */
#if U_HAVE_INTTYPES_H #if U_HAVE_INTTYPES_H
/* autoconf 2.13 sometimes can't properly find the data types in <inttypes. h> */ /* autoconf 2.13 sometimes can't properly find the data types in <inttypes. h> */
/* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes */ /* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes */
skipping to change at line 159 skipping to change at line 163
/* else we may not have a 64-bit type */ /* else we may not have a 64-bit type */
#endif #endif
#if ! U_HAVE_UINT64_T #if ! U_HAVE_UINT64_T
typedef unsigned long long uint64_t; typedef unsigned long long uint64_t;
/* else we may not have a 64-bit type */ /* else we may not have a 64-bit type */
#endif #endif
#endif #endif
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Compiler and environment features */ /** @{ Compiler and environment features */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Define whether namespace is supported */ /* Define whether namespace is supported */
#ifndef U_HAVE_NAMESPACE #ifndef U_HAVE_NAMESPACE
#define U_HAVE_NAMESPACE 1 #define U_HAVE_NAMESPACE 1
#endif #endif
/* Determines the endianness of the platform /* Determines the endianness of the platform
It's done this way in case multiple architectures are being built at onc e. It's done this way in case multiple architectures are being built at onc e.
For example, Darwin supports fat binaries, which can be both PPC and x86 based. */ For example, Darwin supports fat binaries, which can be both PPC and x86 based. */
skipping to change at line 223 skipping to change at line 229
/* Do we allow ICU users to use the draft APIs by default? */ /* Do we allow ICU users to use the draft APIs by default? */
#ifndef U_DEFAULT_SHOW_DRAFT #ifndef U_DEFAULT_SHOW_DRAFT
#define U_DEFAULT_SHOW_DRAFT 1 #define U_DEFAULT_SHOW_DRAFT 1
#endif #endif
/* Define the library suffix in a C syntax. */ /* Define the library suffix in a C syntax. */
#define U_HAVE_LIB_SUFFIX 0 #define U_HAVE_LIB_SUFFIX 0
#define U_LIB_SUFFIX_C_NAME #define U_LIB_SUFFIX_C_NAME
#define U_LIB_SUFFIX_C_NAME_STRING "" #define U_LIB_SUFFIX_C_NAME_STRING ""
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Character data types */ /** @{ Character data types */
/*========================================================================= ==*/ /*========================================================================= ==*/
#if ((defined(OS390) && (!defined(__CHARSET_LIB) || !__CHARSET_LIB))) || de fined(OS400) #if ((defined(OS390) && (!defined(__CHARSET_LIB) || !__CHARSET_LIB))) || de fined(OS400)
# define U_CHARSET_FAMILY 1 # define U_CHARSET_FAMILY 1
#endif #endif
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Information about wchar support */ /** @{ Information about wchar support */
/*========================================================================= ==*/ /*========================================================================= ==*/
#ifndef U_HAVE_WCHAR_H #ifndef U_HAVE_WCHAR_H
#define U_HAVE_WCHAR_H 1 #define U_HAVE_WCHAR_H 1
#endif #endif
#ifndef U_SIZEOF_WCHAR_T #ifndef U_SIZEOF_WCHAR_T
#define U_SIZEOF_WCHAR_T 4 #define U_SIZEOF_WCHAR_T 4
#endif #endif
#ifndef U_HAVE_WCSCPY #ifndef U_HAVE_WCSCPY
#define U_HAVE_WCSCPY 1 #define U_HAVE_WCSCPY 1
#endif #endif
/** @} */
/** /**
* @{
* \def U_DECLARE_UTF16 * \def U_DECLARE_UTF16
* Do not use this macro. Use the UNICODE_STRING or U_STRING_DECL macros * Do not use this macro. Use the UNICODE_STRING or U_STRING_DECL macros
* instead. * instead.
* @internal * @internal
*/ */
#if 1 || defined(U_CHECK_UTF16_STRING) #if 1 || defined(U_CHECK_UTF16_STRING)
#if (defined(__xlC__) && defined(__IBM_UTF_LITERAL) && U_SIZEOF_WCHAR_T != 2) \ #if (defined(__xlC__) && defined(__IBM_UTF_LITERAL) && U_SIZEOF_WCHAR_T != 2) \
|| (defined(__HP_aCC) && __HP_aCC >= 035000) \ || (defined(__HP_aCC) && __HP_aCC >= 035000) \
|| (defined(__HP_cc) && __HP_cc >= 111106) || (defined(__HP_cc) && __HP_cc >= 111106)
#define U_DECLARE_UTF16(string) u ## string #define U_DECLARE_UTF16(string) u ## string
#elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550)
/* || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x580) */ /* || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x580) */
/* Sun's C compiler has issues with this notation, and it's unreliable. */ /* Sun's C compiler has issues with this notation, and it's unreliable. */
#define U_DECLARE_UTF16(string) U ## string #define U_DECLARE_UTF16(string) U ## string
#elif U_SIZEOF_WCHAR_T == 2 \ #elif U_SIZEOF_WCHAR_T == 2 \
&& (U_CHARSET_FAMILY == 0 || ((defined(OS390) || defined(OS400)) && def ined(__UCS2__))) && (U_CHARSET_FAMILY == 0 || ((defined(OS390) || defined(OS400)) && def ined(__UCS2__)))
#define U_DECLARE_UTF16(string) L ## string #define U_DECLARE_UTF16(string) L ## string
#endif #endif
#endif #endif
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Information about POSIX support */ /** @{ Information about POSIX support */
/*========================================================================= ==*/ /*========================================================================= ==*/
#ifndef U_HAVE_NL_LANGINFO_CODESET #ifndef U_HAVE_NL_LANGINFO_CODESET
#define U_HAVE_NL_LANGINFO_CODESET 1 #define U_HAVE_NL_LANGINFO_CODESET 1
#endif #endif
#ifndef U_NL_LANGINFO_CODESET #ifndef U_NL_LANGINFO_CODESET
#define U_NL_LANGINFO_CODESET CODESET #define U_NL_LANGINFO_CODESET CODESET
#endif #endif
#if 1 #if 1
#define U_TZSET tzset #define U_TZSET tzset
#endif #endif
#if 1 #if 1
#define U_TIMEZONE timezone #define U_TIMEZONE __timezone
#endif #endif
#if 1 #if 1
#define U_TZNAME tzname #define U_TZNAME tzname
#endif #endif
#define U_HAVE_MMAP 1 #define U_HAVE_MMAP 1
#define U_HAVE_POPEN 1 #define U_HAVE_POPEN 1
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Symbol import-export control */ /** @{ Symbol import-export control */
/*========================================================================= ==*/ /*========================================================================= ==*/
#if 1 #if 1
#define U_EXPORT __attribute__((visibility("default"))) #define U_EXPORT __attribute__((visibility("default")))
#elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \ #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \
|| (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550) || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550)
#define U_EXPORT __global #define U_EXPORT __global
/*#elif defined(__HP_aCC) || defined(__HP_cc) /*#elif defined(__HP_aCC) || defined(__HP_cc)
#define U_EXPORT __declspec(dllexport)*/ #define U_EXPORT __declspec(dllexport)*/
#else #else
skipping to change at line 318 skipping to change at line 335
/* U_CALLCONV is releated to U_EXPORT2 */ /* U_CALLCONV is releated to U_EXPORT2 */
#define U_EXPORT2 #define U_EXPORT2
/* cygwin needs to export/import data */ /* cygwin needs to export/import data */
#ifdef U_CYGWIN #ifdef U_CYGWIN
#define U_IMPORT __declspec(dllimport) #define U_IMPORT __declspec(dllimport)
#else #else
#define U_IMPORT #define U_IMPORT
#endif #endif
/* @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Code alignment and C function inlining */ /** @{ Code alignment and C function inlining */
/*========================================================================= ==*/ /*========================================================================= ==*/
#ifndef U_INLINE #ifndef U_INLINE
# ifdef __cplusplus # ifdef __cplusplus
# define U_INLINE inline # define U_INLINE inline
# else # else
# define U_INLINE inline # define U_INLINE __inline__
# endif # endif
#endif #endif
#ifndef U_ALIGN_CODE #ifndef U_ALIGN_CODE
#define U_ALIGN_CODE(n) #define U_ALIGN_CODE(n)
#endif #endif
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Programs used by ICU code */ /** @{ Programs used by ICU code */
/*========================================================================= ==*/ /*========================================================================= ==*/
/**
* \def U_MAKE
* What program to execute to run 'make'
*/
#ifndef U_MAKE #ifndef U_MAKE
#define U_MAKE "/usr/bin/gmake" #define U_MAKE "/usr/bin/gmake"
#endif #endif
/** @} */
#endif #endif
 End of changes. 28 change blocks. 
16 lines changed or deleted 43 lines changed or added


 plurfmt.h   plurfmt.h 
skipping to change at line 329 skipping to change at line 329
* @return the string containing the formatted plural message. * @return the string containing the formatted plural message.
* @draft ICU 4.0 * @draft ICU 4.0
*/ */
UnicodeString format(int32_t number, UErrorCode& status) const; UnicodeString format(int32_t number, UErrorCode& status) const;
/** /**
* Formats a plural message for a given number. * Formats a plural message for a given number.
* *
* @param number a number for which the plural message should be forma tted * @param number a number for which the plural message should be forma tted
* for. If no pattern has been applied to this * for. If no pattern has been applied to this
* <code>PluralFormat</code> object yet, the formatted n umber * PluralFormat object yet, the formatted number
* will be returned. * will be returned.
* @param status output param set to success/failure code on exit, whi ch * @param status output param set to success or failure code on exit, which
* must not indicate a failure before the function call. * must not indicate a failure before the function call.
* @return the string containing the formatted plural message. * @return the string containing the formatted plural message.
* @draft ICU 4.0 * @draft ICU 4.0
*/ */
UnicodeString format(double number, UErrorCode& status) const; UnicodeString format(double number, UErrorCode& status) const;
/** /**
* Formats a plural message for a given number. * Formats a plural message for a given number.
* *
* @param number a number for which the plural message should be form atted * @param number a number for which the plural message should be form atted
skipping to change at line 386 skipping to change at line 386
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPosition& pos, FieldPosition& pos,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Sets the locale used by this <code>PluraFormat</code> object. * Sets the locale used by this <code>PluraFormat</code> object.
* Note: Calling this method resets this <code>PluraFormat</code> objec t, * Note: Calling this method resets this <code>PluraFormat</code> objec t,
* i.e., a pattern that was applied previously will be removed, * i.e., a pattern that was applied previously will be removed,
* and the NumberFormat is set to the default number format for * and the NumberFormat is set to the default number format for
* the locale. The resulting format behaves the same as one * the locale. The resulting format behaves the same as one
* constructed from {@link #PluralFormat(locale)}. * constructed from {@link #PluralFormat(const Locale& locale, UErr orCode& status)}.
* @param locale the <code>locale</code> to use to configure the forma tter. * @param locale the <code>locale</code> to use to configure the forma tter.
* @param status output param set to success/failure code on exit, whi ch * @param status output param set to success/failure code on exit, whi ch
* must not indicate a failure before the function call. * must not indicate a failure before the function call.
* @draft ICU 4.0 * @draft ICU 4.0
*/ */
void setLocale(const Locale& locale, UErrorCode& status); void setLocale(const Locale& locale, UErrorCode& status);
/** /**
* Sets the number format used by this formatter. You only need to * Sets the number format used by this formatter. You only need to
* call this if you want a different number format than the default * call this if you want a different number format than the default
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 plurrule.h   plurrule.h 
skipping to change at line 69 skipping to change at line 69
* "one: n is 1; few: n mod 10 in 2..4 and n mod 100 not in 12..14"</pre > * "one: n is 1; few: n mod 10 in 2..4 and n mod 100 not in 12..14"</pre >
* This illustrates conjunction and negation. The condition for 'few' * This illustrates conjunction and negation. The condition for 'few'
* has two parts, both of which must be met: "n mod 10 in 2..4" and * has two parts, both of which must be met: "n mod 10 in 2..4" and
* "n mod 100 not in 12..14". The first part applies a modulus to n * "n mod 100 not in 12..14". The first part applies a modulus to n
* before the test as in the previous example. The second part applies * before the test as in the previous example. The second part applies
* a different modulus and also uses negation, thus it matches all * a different modulus and also uses negation, thus it matches all
* numbers _not_ in 12, 13, 14, 112, 113, 114, 212, 213, 214... * numbers _not_ in 12, 13, 14, 112, 113, 114, 212, 213, 214...
* </p> * </p>
* <p> * <p>
* Syntax:<pre> * Syntax:<pre>
* \code
* rules = rule (';' rule)* * rules = rule (';' rule)*
* rule = keyword ':' condition * rule = keyword ':' condition
* keyword = <identifier> * keyword = <identifier>
* condition = and_condition ('or' and_condition)* * condition = and_condition ('or' and_condition)*
* and_condition = relation ('and' relation)* * and_condition = relation ('and' relation)*
* relation = is_relation | in_relation | within_relation | 'n' <EOL> * relation = is_relation | in_relation | within_relation | 'n' <EOL>
* is_relation = expr 'is' ('not')? value * is_relation = expr 'is' ('not')? value
* in_relation = expr ('not')? 'in' range * in_relation = expr ('not')? 'in' range
* within_relation = expr ('not')? 'within' range * within_relation = expr ('not')? 'within' range
* expr = 'n' ('mod' value)? * expr = 'n' ('mod' value)?
* value = digit+ * value = digit+
* digit = 0|1|2|3|4|5|6|7|8|9 * digit = 0|1|2|3|4|5|6|7|8|9
* range = value'..'value * range = value'..'value
* \endcode
* </pre></p> * </pre></p>
* <p> * <p>
* The difference between 'in' and 'within' is that 'in' only includes * The difference between 'in' and 'within' is that 'in' only includes
* integers in the specified range, while 'within' includes all values.</p > * integers in the specified range, while 'within' includes all values.</p >
* <p> * <p>
* Keywords * Keywords
* could be defined by users or from ICU locale data. There are 6 * could be defined by users or from ICU locale data. There are 6
* predefined values in ICU - 'zero', 'one', 'two', 'few', 'many' and * predefined values in ICU - 'zero', 'one', 'two', 'few', 'many' and
* 'other'. Callers need to check the value of keyword returned by * 'other'. Callers need to check the value of keyword returned by
* {@link #select} method. * {@link #select} method.
 End of changes. 2 change blocks. 
0 lines changed or deleted 2 lines changed or added


 putil.h   putil.h 
skipping to change at line 33 skipping to change at line 33
#ifndef PUTIL_H #ifndef PUTIL_H
#define PUTIL_H #define PUTIL_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
/** /**
* \file * \file
* \brief C API: Platform Utilities * \brief C API: Platform Utilities
*/ */
/* Define this to 1 if your platform supports IEEE 754 floating point, /** Define this to 1 if your platform supports IEEE 754 floating point,
to 0 if it does not. */ to 0 if it does not. */
#ifndef IEEE_754 #ifndef IEEE_754
# define IEEE_754 1 # define IEEE_754 1
#endif #endif
/*========================================================================= =*/ /*========================================================================= =*/
/* Platform utilities */ /* Platform utilities */
/*========================================================================= =*/ /*========================================================================= =*/
/** /**
skipping to change at line 61 skipping to change at line 61
* The data directory is where common format ICU data files (.dat files) * The data directory is where common format ICU data files (.dat files)
* are loaded from. Note that normal use of the built-in ICU * are loaded from. Note that normal use of the built-in ICU
* facilities does not require loading of an external data file; * facilities does not require loading of an external data file;
* unless you are adding custom data to ICU, the data directory * unless you are adding custom data to ICU, the data directory
* does not need to be set. * does not need to be set.
* *
* The data directory is determined as follows: * The data directory is determined as follows:
* If u_setDataDirectory() has been called, that is it, otherwise * If u_setDataDirectory() has been called, that is it, otherwise
* if the ICU_DATA environment variable is set, use that, otherwise * if the ICU_DATA environment variable is set, use that, otherwise
* If a data directory was specifed at ICU build time * If a data directory was specifed at ICU build time
* <code>( #define ICU_DATA_DIR "path" )</code>, use that, * <code>
* \code
* #define ICU_DATA_DIR "path"
* \endcode
* </code> use that,
* otherwise no data directory is available. * otherwise no data directory is available.
* *
* @return the data directory, or an empty string ("") if no data directory has * @return the data directory, or an empty string ("") if no data directory has
* been specified. * been specified.
* *
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
U_STABLE const char* U_EXPORT2 u_getDataDirectory(void); U_STABLE const char* U_EXPORT2 u_getDataDirectory(void);
/** /**
skipping to change at line 114 skipping to change at line 118
* Return the default locale ID string by querying ths system, or * Return the default locale ID string by querying ths system, or
* zero if one cannot be found. * zero if one cannot be found.
* This function can call setlocale() on Unix platforms. Please read the * This function can call setlocale() on Unix platforms. Please read the
* platform documentation on setlocale() before calling this function. * platform documentation on setlocale() before calling this function.
* @return the default locale ID string * @return the default locale ID string
* @internal * @internal
*/ */
U_INTERNAL const char* U_EXPORT2 uprv_getDefaultLocaleID(void); U_INTERNAL const char* U_EXPORT2 uprv_getDefaultLocaleID(void);
/** /**
* @{
* Filesystem file and path separator characters. * Filesystem file and path separator characters.
* Example: '/' and ':' on Unix, '\\' and ';' on Windows. * Example: '/' and ':' on Unix, '\\' and ';' on Windows.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#ifdef XP_MAC #ifdef XP_MAC
# define U_FILE_SEP_CHAR ':' # define U_FILE_SEP_CHAR ':'
# define U_FILE_ALT_SEP_CHAR ':' # define U_FILE_ALT_SEP_CHAR ':'
# define U_PATH_SEP_CHAR ';' # define U_PATH_SEP_CHAR ';'
# define U_FILE_SEP_STRING ":" # define U_FILE_SEP_STRING ":"
# define U_FILE_ALT_SEP_STRING ":" # define U_FILE_ALT_SEP_STRING ":"
skipping to change at line 141 skipping to change at line 146
# define U_PATH_SEP_STRING ";" # define U_PATH_SEP_STRING ";"
#else #else
# define U_FILE_SEP_CHAR '/' # define U_FILE_SEP_CHAR '/'
# define U_FILE_ALT_SEP_CHAR '/' # define U_FILE_ALT_SEP_CHAR '/'
# define U_PATH_SEP_CHAR ':' # define U_PATH_SEP_CHAR ':'
# define U_FILE_SEP_STRING "/" # define U_FILE_SEP_STRING "/"
# define U_FILE_ALT_SEP_STRING "/" # define U_FILE_ALT_SEP_STRING "/"
# define U_PATH_SEP_STRING ":" # define U_PATH_SEP_STRING ":"
#endif #endif
/** @} */
/** /**
* Convert char characters to UChar characters. * Convert char characters to UChar characters.
* This utility function is useful only for "invariant characters" * This utility function is useful only for "invariant characters"
* that are encoded in the platform default encoding. * that are encoded in the platform default encoding.
* They are a small, constant subset of the encoding and include * They are a small, constant subset of the encoding and include
* just the latin letters, digits, and some punctuation. * just the latin letters, digits, and some punctuation.
* For details, see U_CHARSET_FAMILY. * For details, see U_CHARSET_FAMILY.
* *
* @param cs Input string, points to <code>length</code> * @param cs Input string, points to <code>length</code>
* character bytes from a subset of the platform encoding. * character bytes from a subset of the platform encoding.
 End of changes. 4 change blocks. 
2 lines changed or deleted 9 lines changed or added


 pwin32.h   pwin32.h 
/* /*
************************************************************************** **** ************************************************************************** ****
* *
* Copyright (C) 1997-2007, International Business Machines * Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
************************************************************************** **** ************************************************************************** ****
* *
* FILE NAME : platform.h * FILE NAME : platform.h
* *
* Date Name Description * Date Name Description
* 05/13/98 nos Creation (content moved here from ptypes.h). * 05/13/98 nos Creation (content moved here from ptypes.h).
* 03/02/99 stephen Added AS400 support. * 03/02/99 stephen Added AS400 support.
* 03/30/99 stephen Added Linux support. * 03/30/99 stephen Added Linux support.
* 04/13/99 stephen Reworked for autoconf. * 04/13/99 stephen Reworked for autoconf.
************************************************************************** **** ************************************************************************** ****
*/ */
/** /**
* \file * \file
* \brief Configuration constants for the Windows platform * \brief Configuration constants for the Windows platform
*/ */
/* Define the platform we're on. */ /** Define the platform we're on. */
#ifndef U_WINDOWS #ifndef U_WINDOWS
#define U_WINDOWS #define U_WINDOWS
#endif #endif
#if defined(__BORLANDC__) #if defined(__BORLANDC__)
#define U_HAVE_PLACEMENT_NEW 0 #define U_HAVE_PLACEMENT_NEW 0
#define U_HAVE_INTTYPES_H 1 #define U_HAVE_INTTYPES_H 1
#define __STDC_CONSTANT_MACROS #define __STDC_CONSTANT_MACROS
#endif #endif
/* _MSC_VER is used to detect the Microsoft compiler. */ /** _MSC_VER is used to detect the Microsoft compiler. */
#if defined(_MSC_VER) #if defined(_MSC_VER)
#define U_INT64_IS_LONG_LONG 0 #define U_INT64_IS_LONG_LONG 0
#else #else
#define U_INT64_IS_LONG_LONG 1 #define U_INT64_IS_LONG_LONG 1
#endif #endif
/* Define whether inttypes.h is available */ /** Define whether inttypes.h is available */
#ifndef U_HAVE_INTTYPES_H #ifndef U_HAVE_INTTYPES_H
#define U_HAVE_INTTYPES_H 0 #define U_HAVE_INTTYPES_H 0
#endif #endif
/* /**
* Define what support for C++ streams is available. * Define what support for C++ streams is available.
* If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available * If U_IOSTREAM_SOURCE is set to 199711, then <iostream&gt; is avai lable
* (1997711 is the date the ISO/IEC C++ FDIS was published), and then * (1997711 is the date the ISO/IEC C++ FDIS was published), and then
* one should qualify streams using the std namespace in ICU header * one should qualify streams using the std namespace in ICU header
* files. * files.
* If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h&gt; is * If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h&gt; is
* available instead (198506 is the date when Stroustrup published * available instead (198506 is the date when Stroustrup published
* "An Extensible I/O Facility for C++" at the summer USENIX conference). * "An Extensible I/O Facility for C++" at the summer USENIX conference).
* If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and * If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and
* support for them will be silently suppressed in ICU. * support for them will be silently suppressed in ICU.
* *
*/ */
#ifndef U_IOSTREAM_SOURCE #ifndef U_IOSTREAM_SOURCE
#define U_IOSTREAM_SOURCE 199711 #define U_IOSTREAM_SOURCE 199711
#endif #endif
/* Determines whether specific types are available */ /** @{
* Determines whether specific types are available */
#ifndef U_HAVE_INT8_T #ifndef U_HAVE_INT8_T
#define U_HAVE_INT8_T U_HAVE_INTTYPES_H #define U_HAVE_INT8_T U_HAVE_INTTYPES_H
#endif #endif
#ifndef U_HAVE_UINT8_T #ifndef U_HAVE_UINT8_T
#define U_HAVE_UINT8_T U_HAVE_INTTYPES_H #define U_HAVE_UINT8_T U_HAVE_INTTYPES_H
#endif #endif
#ifndef U_HAVE_INT16_T #ifndef U_HAVE_INT16_T
#define U_HAVE_INT16_T U_HAVE_INTTYPES_H #define U_HAVE_INT16_T U_HAVE_INTTYPES_H
skipping to change at line 98 skipping to change at line 99
#endif #endif
#ifndef U_HAVE_INT64_T #ifndef U_HAVE_INT64_T
#define U_HAVE_INT64_T U_HAVE_INTTYPES_H #define U_HAVE_INT64_T U_HAVE_INTTYPES_H
#endif #endif
#ifndef U_HAVE_UINT64_T #ifndef U_HAVE_UINT64_T
#define U_HAVE_UINT64_T U_HAVE_INTTYPES_H #define U_HAVE_UINT64_T U_HAVE_INTTYPES_H
#endif #endif
/* Define 64 bit limits */ /** @} */
/** Define 64 bit limits */
#if !U_INT64_IS_LONG_LONG #if !U_INT64_IS_LONG_LONG
# ifndef INT64_C # ifndef INT64_C
# define INT64_C(x) ((int64_t)x) # define INT64_C(x) ((int64_t)x)
# endif # endif
# ifndef UINT64_C # ifndef UINT64_C
# define UINT64_C(x) ((uint64_t)x) # define UINT64_C(x) ((uint64_t)x)
# endif # endif
/* else use the umachine.h definition */ /** else use the umachine.h definition */
#endif #endif
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Generic data types /** @{
*/ * Generic data types
*/
/*========================================================================= ==*/ /*========================================================================= ==*/
/* If your platform does not have the <inttypes.h> header, you may /** If your platform does not have the <inttypes.h> header, you may
need to edit the typedefs below. */ need to edit the typedefs below. */
#if U_HAVE_INTTYPES_H #if U_HAVE_INTTYPES_H
#include <inttypes.h> #include <inttypes.h>
#else /* U_HAVE_INTTYPES_H */ #else /* U_HAVE_INTTYPES_H */
#if ! U_HAVE_INT8_T #if ! U_HAVE_INT8_T
typedef signed char int8_t; typedef signed char int8_t;
#endif #endif
#if ! U_HAVE_UINT8_T #if ! U_HAVE_UINT8_T
skipping to change at line 160 skipping to change at line 164
#if ! U_HAVE_UINT64_T #if ! U_HAVE_UINT64_T
#if U_INT64_IS_LONG_LONG #if U_INT64_IS_LONG_LONG
typedef unsigned long long uint64_t; typedef unsigned long long uint64_t;
#else #else
typedef unsigned __int64 uint64_t; typedef unsigned __int64 uint64_t;
#endif #endif
#endif #endif
#endif #endif
/**
* @}
*/
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Compiler and environment features */ /** Compiler and environment features */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Define whether namespace is supported */ /** Define whether namespace is supported */
#ifndef U_HAVE_NAMESPACE #ifndef U_HAVE_NAMESPACE
#define U_HAVE_NAMESPACE 1 #define U_HAVE_NAMESPACE 1
#endif #endif
/* Determines the endianness of the platform */ /** Determines the endianness of the platform */
#define U_IS_BIG_ENDIAN 0 #define U_IS_BIG_ENDIAN 0
/* 1 or 0 to enable or disable threads. If undefined, default is: enable t hreads. */ /** 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */
#define ICU_USE_THREADS 1 #define ICU_USE_THREADS 1
/* On strong memory model CPUs (e.g. x86 CPUs), we use a safe & quick doubl e check mutex lock. */ /* On strong memory model CPUs (e.g. x86 CPUs), we use a safe & quick doubl e check mutex lock. */
/* /**
Microsoft can define _M_IX86, _M_AMD64 (before Visual Studio 8) or _M_X64 ( starting in Visual Studio 8). Microsoft can define _M_IX86, _M_AMD64 (before Visual Studio 8) or _M_X64 ( starting in Visual Studio 8).
Intel can define _M_IX86 or _M_X64 Intel can define _M_IX86 or _M_X64
*/ */
#if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || (defined(__ GNUC__) && (defined(__i386__) || defined(__x86_64__))) #if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || (defined(__ GNUC__) && (defined(__i386__) || defined(__x86_64__)))
#define UMTX_STRONG_MEMORY_MODEL 1 #define UMTX_STRONG_MEMORY_MODEL 1
#endif #endif
/** Enable or disable debugging options **/
#ifndef U_DEBUG #ifndef U_DEBUG
#ifdef _DEBUG #ifdef _DEBUG
#define U_DEBUG 1 #define U_DEBUG 1
#else #else
#define U_DEBUG 0 #define U_DEBUG 0
#endif #endif
#endif #endif
/** Enable or disable release options **/
#ifndef U_RELEASE #ifndef U_RELEASE
#ifdef NDEBUG #ifdef NDEBUG
#define U_RELEASE 1 #define U_RELEASE 1
#else #else
#define U_RELEASE 0 #define U_RELEASE 0
#endif #endif
#endif #endif
/* Determine whether to disable renaming or not. This overrides the /** Determine whether to disable renaming or not. This overrides the
setting in umachine.h which is for all platforms. */ setting in umachine.h which is for all platforms. */
#ifndef U_DISABLE_RENAMING #ifndef U_DISABLE_RENAMING
#define U_DISABLE_RENAMING 0 #define U_DISABLE_RENAMING 0
#endif #endif
/* Determine whether to override new and delete. */ /** Determine whether to override new and delete. */
#ifndef U_OVERRIDE_CXX_ALLOCATION #ifndef U_OVERRIDE_CXX_ALLOCATION
#define U_OVERRIDE_CXX_ALLOCATION 1 #define U_OVERRIDE_CXX_ALLOCATION 1
#endif #endif
/* Determine whether to override placement new and delete for STL. */ /** Determine whether to override placement new and delete for STL. */
#ifndef U_HAVE_PLACEMENT_NEW #ifndef U_HAVE_PLACEMENT_NEW
#define U_HAVE_PLACEMENT_NEW 1 #define U_HAVE_PLACEMENT_NEW 1
#endif #endif
/* Determine whether to override new and delete for MFC. */ /** Determine whether to override new and delete for MFC. */
#if !defined(U_HAVE_DEBUG_LOCATION_NEW) && defined(_MSC_VER) #if !defined(U_HAVE_DEBUG_LOCATION_NEW) && defined(_MSC_VER)
#define U_HAVE_DEBUG_LOCATION_NEW 1 #define U_HAVE_DEBUG_LOCATION_NEW 1
#endif #endif
/* Determine whether to enable tracing. */ /** Determine whether to enable tracing. */
#ifndef U_ENABLE_TRACING #ifndef U_ENABLE_TRACING
#define U_ENABLE_TRACING 0 #define U_ENABLE_TRACING 0
#endif #endif
/* Do we allow ICU users to use the draft APIs by default? */ /** Do we allow ICU users to use the draft APIs by default? */
#ifndef U_DEFAULT_SHOW_DRAFT #ifndef U_DEFAULT_SHOW_DRAFT
#define U_DEFAULT_SHOW_DRAFT 1 #define U_DEFAULT_SHOW_DRAFT 1
#endif #endif
/* Define the library suffix in a C syntax. */ /** @{ Define the library suffix in a C syntax. */
#define U_HAVE_LIB_SUFFIX 0 #define U_HAVE_LIB_SUFFIX 0
#define U_LIB_SUFFIX_C_NAME #define U_LIB_SUFFIX_C_NAME
#define U_LIB_SUFFIX_C_NAME_STRING "" #define U_LIB_SUFFIX_C_NAME_STRING ""
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Information about wchar support */ /** @{ Information about wchar support */
/*========================================================================= ==*/ /*========================================================================= ==*/
#define U_HAVE_WCHAR_H 1 #define U_HAVE_WCHAR_H 1
#define U_SIZEOF_WCHAR_T 2 #define U_SIZEOF_WCHAR_T 2
#define U_HAVE_WCSCPY 1 #define U_HAVE_WCSCPY 1
/** @} */
/** /**
* \def U_DECLARE_UTF16 * \def U_DECLARE_UTF16
* Do not use this macro. Use the UNICODE_STRING or U_STRING_DECL macros * Do not use this macro. Use the UNICODE_STRING or U_STRING_DECL macros
* instead. * instead.
* @internal * @internal
*/ */
#if 1 #if 1
#define U_DECLARE_UTF16(string) L ## string #define U_DECLARE_UTF16(string) L ## string
#endif #endif
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Information about POSIX support */ /** @{ Information about POSIX support */
/*========================================================================= ==*/ /*========================================================================= ==*/
#if 1 #if 1
#define U_TZSET _tzset #define U_TZSET _tzset
#endif #endif
#if 1 #if 1
#define U_TIMEZONE _timezone #define U_TIMEZONE _timezone
#endif #endif
#if 1 #if 1
#define U_TZNAME _tzname #define U_TZNAME _tzname
#endif #endif
#if 1 #if 1
#define U_DAYLIGHT _daylight #define U_DAYLIGHT _daylight
#endif #endif
#define U_HAVE_MMAP 0 #define U_HAVE_MMAP 0
#define U_HAVE_POPEN 0 #define U_HAVE_POPEN 0
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Symbol import-export control */ /** @{ Symbol import-export control */
/*========================================================================= ==*/ /*========================================================================= ==*/
#ifdef U_STATIC_IMPLEMENTATION #ifdef U_STATIC_IMPLEMENTATION
#define U_EXPORT #define U_EXPORT
#else #else
#define U_EXPORT __declspec(dllexport) #define U_EXPORT __declspec(dllexport)
#endif #endif
#define U_EXPORT2 __cdecl #define U_EXPORT2 __cdecl
#define U_IMPORT __declspec(dllimport) #define U_IMPORT __declspec(dllimport)
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Code alignment and C function inlining */ /** @{ Code alignment and C function inlining */
/*========================================================================= ==*/ /*========================================================================= ==*/
#ifndef U_INLINE #ifndef U_INLINE
# ifdef __cplusplus # ifdef __cplusplus
# define U_INLINE inline # define U_INLINE inline
# else # else
# define U_INLINE __inline # define U_INLINE __inline
# endif # endif
#endif #endif
#if defined(_MSC_VER) && defined(_M_IX86) && !defined(_MANAGED) #if defined(_MSC_VER) && defined(_M_IX86) && !defined(_MANAGED)
#define U_ALIGN_CODE(val) __asm align val #define U_ALIGN_CODE(val) __asm align val
#else #else
#define U_ALIGN_CODE(val) #define U_ALIGN_CODE(val)
#endif #endif
/**
* Flag for workaround of MSVC 2003 optimization bugs
*/
#if defined(_MSC_VER) && (_MSC_VER < 1400)
#define U_HAVE_MSVC_2003_OR_EARLIER
#endif
/** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Programs used by ICU code */ /** @{ Programs used by ICU code */
/*========================================================================= ==*/ /*========================================================================= ==*/
#ifndef U_MAKE #ifndef U_MAKE
#define U_MAKE "nmake" #define U_MAKE "nmake"
#define U_MAKE_IS_NMAKE 1 #define U_MAKE_IS_NMAKE 1
#endif #endif
/** @} */
 End of changes. 38 change blocks. 
30 lines changed or deleted 55 lines changed or added


 rbbi.h   rbbi.h 
/* /*
*************************************************************************** ***************************************************************************
* Copyright (C) 1999-2007 International Business Machines Corporation * * Copyright (C) 1999-2008 International Business Machines Corporation *
* and others. All rights reserved. * * and others. All rights reserved. *
*************************************************************************** ***************************************************************************
********************************************************************** **********************************************************************
* Date Name Description * Date Name Description
* 10/22/99 alan Creation. * 10/22/99 alan Creation.
* 11/11/99 rgillam Complete port from Java. * 11/11/99 rgillam Complete port from Java.
********************************************************************** **********************************************************************
*/ */
skipping to change at line 170 skipping to change at line 170
* @internal * @internal
*/ */
int32_t fBreakType; int32_t fBreakType;
protected: protected:
//===================================================================== == //===================================================================== ==
// constructors // constructors
//===================================================================== == //===================================================================== ==
/** /**
* Constant to be used in the constructor
* RuleBasedBreakIterator(RBBIDataHeader*, EDontAdopt, UErrorCode &);
* which does not adopt the memory indicated by the RBBIDataHeader*
* parameter.
*
* @internal
*/
enum EDontAdopt {
kDontAdopt
};
/**
* Constructor from a flattened set of RBBI data in malloced memory. * Constructor from a flattened set of RBBI data in malloced memory.
* RulesBasedBreakIterators built from a custom set of rule s * RulesBasedBreakIterators built from a custom set of rule s
* are created via this constructor; the rules are compiled * are created via this constructor; the rules are compiled
* into memory, then the break iterator is constructed here . * into memory, then the break iterator is constructed here .
* *
* The break iterator adopts the memory, and will * The break iterator adopts the memory, and will
* free it when done. * free it when done.
* @internal * @internal
*/ */
RuleBasedBreakIterator(RBBIDataHeader* data, UErrorCode &status); RuleBasedBreakIterator(RBBIDataHeader* data, UErrorCode &status);
/**
* Constructor from a flattened set of RBBI data in memory which need n
ot
* be malloced (e.g. it may be a memory-mapped file, etc.).
*
* This version does not adopt the memory, and does not
* free it when done.
* @internal
*/
RuleBasedBreakIterator(const RBBIDataHeader* data, enum EDontAdopt dont
Adopt, UErrorCode &status);
friend class RBBIRuleBuilder; friend class RBBIRuleBuilder;
/** @internal */ /** @internal */
friend class BreakIterator; friend class BreakIterator;
public: public:
/** Default constructor. Creates an empty shell of an iterator, with n o /** Default constructor. Creates an empty shell of an iterator, with n o
* rules or text to iterate over. Object can subsequently be assigne d to. * rules or text to iterate over. Object can subsequently be assigne d to.
* @stable ICU 2.2 * @stable ICU 2.2
*/ */
 End of changes. 3 change blocks. 
1 lines changed or deleted 25 lines changed or added


 rbnf.h   rbnf.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 1997-2006, International Business Machines Corporation and others. * Copyright (C) 1997-2009, International Business Machines Corporation and others.
* All Rights Reserved. * All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
*/ */
#ifndef RBNF_H #ifndef RBNF_H
#define RBNF_H #define RBNF_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
/** /**
skipping to change at line 52 skipping to change at line 52
/** /**
* Tags for the predefined rulesets. * Tags for the predefined rulesets.
* *
* @stable ICU 2.2 * @stable ICU 2.2
*/ */
enum URBNFRuleSetTag { enum URBNFRuleSetTag {
URBNF_SPELLOUT, URBNF_SPELLOUT,
URBNF_ORDINAL, URBNF_ORDINAL,
URBNF_DURATION, URBNF_DURATION,
URBNF_NUMBERING_SYSTEM,
URBNF_COUNT URBNF_COUNT
}; };
#if UCONFIG_NO_COLLATION #if UCONFIG_NO_COLLATION
class Collator; class Collator;
#endif #endif
/** /**
* The RuleBasedNumberFormat class formats numbers according to a set of ru les. This number formatter is * The RuleBasedNumberFormat class formats numbers according to a set of ru les. This number formatter is
* typically used for spelling out numeric values in words (e.g., 25,3476 a s * typically used for spelling out numeric values in words (e.g., 25,3476 a s
skipping to change at line 599 skipping to change at line 600
* @stable ICU 3.2 * @stable ICU 3.2
*/ */
RuleBasedNumberFormat(const UnicodeString& rules, const UnicodeString& localizations, RuleBasedNumberFormat(const UnicodeString& rules, const UnicodeString& localizations,
const Locale& locale, UParseError& perror, UErrorCo de& status); const Locale& locale, UParseError& perror, UErrorCo de& status);
/** /**
* Creates a RuleBasedNumberFormat from a predefined ruleset. The select or * Creates a RuleBasedNumberFormat from a predefined ruleset. The select or
* code choosed among three possible predefined formats: spellout, ordina l, * code choosed among three possible predefined formats: spellout, ordina l,
* and duration. * and duration.
* @param tag A selector code specifying which kind of formatter to creat e for that * @param tag A selector code specifying which kind of formatter to creat e for that
* locale. There are three legal values: URBNF_SPELLOUT, which creates a formatter that * locale. There are four legal values: URBNF_SPELLOUT, which creates a formatter that
* spells out a value in words in the desired language, URBNF_ORDINAL, wh ich attaches * spells out a value in words in the desired language, URBNF_ORDINAL, wh ich attaches
* an ordinal suffix from the desired language to the end of a number (e. g. "123rd"), * an ordinal suffix from the desired language to the end of a number (e. g. "123rd"),
* and URBNF_DURATION, which formats a duration in seconds as hours, minu * URBNF_DURATION, which formats a duration in seconds as hours, minutes,
tes, and seconds. and seconds,
* and URBNF_NUMBERING_SYSTEM, which is used to invoke rules for alternat
e numbering
* systems such as the Hebrew numbering system, or for Roman Numerals, et
c.
* @param locale The locale for the formatter. * @param locale The locale for the formatter.
* @param status The status indicating whether the constructor succeeded. * @param status The status indicating whether the constructor succeeded.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
RuleBasedNumberFormat(URBNFRuleSetTag tag, const Locale& locale, UErrorCo de& status); RuleBasedNumberFormat(URBNFRuleSetTag tag, const Locale& locale, UErrorCo de& status);
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// boilerplate // boilerplate
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
 End of changes. 4 change blocks. 
4 lines changed or deleted 9 lines changed or added


 smpdtfmt.h   smpdtfmt.h 
/* /*
* Copyright (C) 1997-2008, International Business Machines Corporation and others. All Rights Reserved. * Copyright (C) 1997-2009, International Business Machines Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* File SMPDTFMT.H * File SMPDTFMT.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/19/97 aliu Converted from java. * 02/19/97 aliu Converted from java.
* 07/09/97 helena Make ParsePosition into a class. * 07/09/97 helena Make ParsePosition into a class.
* 07/21/98 stephen Added GMT_PLUS, GMT_MINUS * 07/21/98 stephen Added GMT_PLUS, GMT_MINUS
skipping to change at line 706 skipping to change at line 706
* Appends to toAppendTo a string representation of "value" * Appends to toAppendTo a string representation of "value"
* having a number of digits between "minDigits" and * having a number of digits between "minDigits" and
* "maxDigits". Uses the DateFormat's NumberFormat. * "maxDigits". Uses the DateFormat's NumberFormat.
* *
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Formatted number is appended to existing contents. * Formatted number is appended to existing contents.
* @param value Value to format. * @param value Value to format.
* @param minDigits Minimum number of digits the result should have * @param minDigits Minimum number of digits the result should have
* @param maxDigits Maximum number of digits the result should have * @param maxDigits Maximum number of digits the result should have
*/ */
void zeroPaddingNumber( UnicodeString &appendTo, void zeroPaddingNumber( NumberFormat *currentNumberFormat,
UnicodeString &appendTo,
int32_t value, int32_t value,
int32_t minDigits, int32_t minDigits,
int32_t maxDigits) const; int32_t maxDigits) const;
/** /**
* Return true if the given format character, occuring count * Return true if the given format character, occuring count
* times, represents a numeric field. * times, represents a numeric field.
*/ */
static UBool isNumeric(UChar formatChar, int32_t count); static UBool isNumeric(UChar formatChar, int32_t count);
skipping to change at line 798 skipping to change at line 799
* @param ch the pattern character for the date field text to be parsed . * @param ch the pattern character for the date field text to be parsed .
* @param count the count of a pattern character. * @param count the count of a pattern character.
* @param obeyCount if true then the count is strictly obeyed. * @param obeyCount if true then the count is strictly obeyed.
* @param ambiguousYear If true then the two-digit year == the default start year. * @param ambiguousYear If true then the two-digit year == the default start year.
* @param cal a Calendar set to the date and time to be formatted * @param cal a Calendar set to the date and time to be formatted
* into a date/time string. * into a date/time string.
* @return the new start position if matching succeeded; a negative num ber * @return the new start position if matching succeeded; a negative num ber
* indicating matching failure, otherwise. * indicating matching failure, otherwise.
*/ */
int32_t subParse(const UnicodeString& text, int32_t& start, UChar ch, i nt32_t count, int32_t subParse(const UnicodeString& text, int32_t& start, UChar ch, i nt32_t count,
UBool obeyCount, UBool allowNegative, UBool ambiguousY UBool obeyCount, UBool allowNegative, UBool ambiguousY
ear[], Calendar& cal) const; ear[], Calendar& cal,
int32_t patLoc) const;
void parseInt(const UnicodeString& text, void parseInt(const UnicodeString& text,
Formattable& number, Formattable& number,
ParsePosition& pos, ParsePosition& pos,
UBool allowNegative) const; UBool allowNegative,
NumberFormat *fmt) const;
void parseInt(const UnicodeString& text, void parseInt(const UnicodeString& text,
Formattable& number, Formattable& number,
int32_t maxDigits, int32_t maxDigits,
ParsePosition& pos, ParsePosition& pos,
UBool allowNegative) const; UBool allowNegative,
NumberFormat *fmt) const;
int32_t checkIntSuffix(const UnicodeString& text, int32_t start,
int32_t patLoc, UBool isNegative) const;
/** /**
* Translate a pattern, mapping each character in the from string to th e * Translate a pattern, mapping each character in the from string to th e
* corresponding character in the to string. Return an error if the ori ginal * corresponding character in the to string. Return an error if the ori ginal
* pattern contains an unmapped character, or if a quote is unmatched. * pattern contains an unmapped character, or if a quote is unmatched.
* Quoted (single quotes only) material is not translated. * Quoted (single quotes only) material is not translated.
* @param originalPattern the original pattern. * @param originalPattern the original pattern.
* @param translatedPattern Output param to receive the translited patt ern. * @param translatedPattern Output param to receive the translited patt ern.
* @param from the characters to be translited from. * @param from the characters to be translited from.
* @param to the characters to be translited to. * @param to the characters to be translited to.
skipping to change at line 839 skipping to change at line 846
/** /**
* Sets the starting date of the 100-year window that dates with 2-digi t years * Sets the starting date of the 100-year window that dates with 2-digi t years
* are considered to fall within. * are considered to fall within.
* @param startDate the start date * @param startDate the start date
* @param status Receives a status code, which will be U_ZERO_ERROR * @param status Receives a status code, which will be U_ZERO_ERROR
* if the operation succeeds. * if the operation succeeds.
*/ */
void parseAmbiguousDatesAsAfter(UDate startDate, UErrorCode& st atus); void parseAmbiguousDatesAsAfter(UDate startDate, UErrorCode& st atus);
/** /**
* Return the length matched by the given affix, or -1 if none.
* Runs of white space in the affix, match runs of white space in
* the input.
* @param affix pattern string, taken as a literal
* @param input input text
* @param pos offset into input at which to begin matching
* @return length of input that matches, or -1 if match failure
*/
int32_t compareSimpleAffix(const UnicodeString& affix,
const UnicodeString& input,
int32_t pos) const;
/**
* Skip over a run of zero or more isRuleWhiteSpace() characters at
* pos in text.
*/
int32_t skipRuleWhiteSpace(const UnicodeString& text, int32_t pos) cons
t;
/**
* Skip over a run of zero or more isUWhiteSpace() characters at pos
* in text.
*/
int32_t skipUWhiteSpace(const UnicodeString& text, int32_t pos) const;
/**
* Private methods for formatting/parsing GMT string * Private methods for formatting/parsing GMT string
*/ */
void appendGMT(UnicodeString &appendTo, Calendar& cal, UErrorCode& stat void appendGMT(NumberFormat *currentNumberFormat,UnicodeString &appendT
us) const; o, Calendar& cal, UErrorCode& status) const;
void formatGMTDefault(UnicodeString &appendTo, int32_t offset) const; void formatGMTDefault(NumberFormat *currentNumberFormat,UnicodeString &
appendTo, int32_t offset) const;
int32_t parseGMT(const UnicodeString &text, ParsePosition &pos) const; int32_t parseGMT(const UnicodeString &text, ParsePosition &pos) const;
int32_t parseGMTDefault(const UnicodeString &text, ParsePosition &pos) const; int32_t parseGMTDefault(const UnicodeString &text, ParsePosition &pos) const;
UBool isDefaultGMTFormat() const; UBool isDefaultGMTFormat() const;
void formatRFC822TZ(UnicodeString &appendTo, int32_t offset) const; void formatRFC822TZ(UnicodeString &appendTo, int32_t offset) const;
/** /**
* Initialize MessageFormat instances used for GMT formatting/parsing * Initialize MessageFormat instances used for GMT formatting/parsing
*/ */
void initGMTFormatters(UErrorCode &status); void initGMTFormatters(UErrorCode &status);
/** /**
* Initialize NumberFormat instances used for numbering system override
s.
*/
void initNumberFormatters(const Locale &locale,UErrorCode &status);
/**
* Get the numbering system to be used for a particular field.
*/
NumberFormat * getNumberFormat(UDateFormatField index) const;
/**
* Parse the given override string and set up structures for number for
mats
*/
void processOverrideString(const Locale &locale, UnicodeString &str, in
t8_t type, UErrorCode &status);
/**
* Used to map pattern characters to Calendar field identifiers. * Used to map pattern characters to Calendar field identifiers.
*/ */
static const UCalendarDateFields fgPatternIndexToCalendarField[]; static const UCalendarDateFields fgPatternIndexToCalendarField[];
/** /**
* Map index into pattern character string to DateFormat field number * Map index into pattern character string to DateFormat field number
*/ */
static const UDateFormatField fgPatternIndexToDateFormatField[]; static const UDateFormatField fgPatternIndexToDateFormatField[];
/** /**
skipping to change at line 879 skipping to change at line 926
*/ */
static const int32_t fgCalendarFieldToLevel[]; static const int32_t fgCalendarFieldToLevel[];
static const int32_t fgPatternCharToLevel[]; static const int32_t fgPatternCharToLevel[];
/** /**
* The formatting pattern for this formatter. * The formatting pattern for this formatter.
*/ */
UnicodeString fPattern; UnicodeString fPattern;
/** /**
* The numbering system override for dates.
*/
UnicodeString fDateOverride;
/**
* The numbering system override for times.
*/
UnicodeString fTimeOverride;
/**
* The original locale used (for reloading symbols) * The original locale used (for reloading symbols)
*/ */
Locale fLocale; Locale fLocale;
/** /**
* A pointer to an object containing the strings to use in formatting ( e.g., * A pointer to an object containing the strings to use in formatting ( e.g.,
* month and day names, AM and PM strings, time zone names, etc.) * month and day names, AM and PM strings, time zone names, etc.)
*/ */
DateFormatSymbols* fSymbols; // Owned DateFormatSymbols* fSymbols; // Owned
skipping to change at line 912 skipping to change at line 969
/*transient*/ int32_t fDefaultCenturyStartYear; /*transient*/ int32_t fDefaultCenturyStartYear;
enum ParsedTZType { enum ParsedTZType {
TZTYPE_UNK, TZTYPE_UNK,
TZTYPE_STD, TZTYPE_STD,
TZTYPE_DST TZTYPE_DST
}; };
ParsedTZType tztype; // here to avoid api change ParsedTZType tztype; // here to avoid api change
typedef struct NSOverride {
NumberFormat *nf;
int32_t hash;
NSOverride *next;
} NSOverride;
/* /*
* MessageFormat instances used for localized GMT format * MessageFormat instances used for localized GMT format
*/ */
MessageFormat **fGMTFormatters; MessageFormat **fGMTFormatters;
NumberFormat **fNumberFormatters;
NSOverride *fOverrideList;
UBool fHaveDefaultCentury; UBool fHaveDefaultCentury;
}; };
inline UDate inline UDate
SimpleDateFormat::get2DigitYearStart(UErrorCode& /*status*/) const SimpleDateFormat::get2DigitYearStart(UErrorCode& /*status*/) const
{ {
return fDefaultCenturyStart; return fDefaultCenturyStart;
} }
inline UnicodeString& inline UnicodeString&
 End of changes. 11 change blocks. 
9 lines changed or deleted 81 lines changed or added


 translit.h   translit.h 
skipping to change at line 475 skipping to change at line 475
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual void transliterate(Replaceable& text, UTransPosition& index, virtual void transliterate(Replaceable& text, UTransPosition& index,
const UnicodeString& insertion, const UnicodeString& insertion,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Transliterates the portion of the text buffer that can be * Transliterates the portion of the text buffer that can be
* transliterated unambiguosly after a new character has been * transliterated unambiguosly after a new character has been
* inserted, typically as a result of a keyboard event. This is a * inserted, typically as a result of a keyboard event. This is a
* convenience method; see {@link * convenience method.
* #transliterate(Replaceable&, UTransPosition&, const UnicodeString&,
UErrorCode&) const}
* for details.
* @param text the buffer holding transliterated and * @param text the buffer holding transliterated and
* untransliterated text * untransliterated text
* @param index an array of three integers. See {@link * @param index an array of three integers.
* #transliterate(Replaceable&, UTransPosition&, const UnicodeString&,
UErrorCode&) const }.
* @param insertion text to be inserted and possibly * @param insertion text to be inserted and possibly
* transliterated into the translation buffer at * transliterated into the translation buffer at
* <code>index.limit</code>. * <code>index.limit</code>.
* @param status Output param to filled in with a success or an erro r. * @param status Output param to filled in with a success or an erro r.
* @see #transliterate(Replaceable&, UTransPosition&, const UnicodeStri ng&, UErrorCode&) const * @see #transliterate(Replaceable&, UTransPosition&, const UnicodeStri ng&, UErrorCode&) const
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual void transliterate(Replaceable& text, UTransPosition& index, virtual void transliterate(Replaceable& text, UTransPosition& index,
UChar32 insertion, UChar32 insertion,
UErrorCode& status) const; UErrorCode& status) const;
 End of changes. 2 change blocks. 
7 lines changed or deleted 2 lines changed or added


 ucal.h   ucal.h 
/* /*
************************************************************************** ***** ************************************************************************** *****
* Copyright (C) 1996-2008, International Business Machines Corporation and * Copyright (C) 1996-2009, International Business Machines Corporation and
* others. All Rights Reserved. * others. All Rights Reserved.
************************************************************************** ***** ************************************************************************** *****
*/ */
#ifndef UCAL_H #ifndef UCAL_H
#define UCAL_H #define UCAL_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#include "unicode/uenum.h" #include "unicode/uenum.h"
#include "unicode/uloc.h" #include "unicode/uloc.h"
skipping to change at line 152 skipping to change at line 152
/** A calendar. /** A calendar.
* For usage in C programs. * For usage in C programs.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
typedef void* UCalendar; typedef void* UCalendar;
/** Possible types of UCalendars /** Possible types of UCalendars
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
enum UCalendarType { enum UCalendarType {
/** A traditional calendar for the locale */ /**
* Despite the name, UCAL_TRADITIONAL designates the locale's default cal
endar,
* which may be the Gregorian calendar or some other calendar.
* @stable ICU 2.0
*/
UCAL_TRADITIONAL, UCAL_TRADITIONAL,
/** The Gregorian calendar */ /**
UCAL_GREGORIAN * Unambiguously designates the Gregorian calendar for the locale.
* @stable ICU 2.0
*/
UCAL_GREGORIAN,
/**
* A better name for UCAL_TRADITIONAL.
* @draft ICU 4.2
*/
UCAL_DEFAULT = UCAL_TRADITIONAL
}; };
/** @stable ICU 2.0 */ /** @stable ICU 2.0 */
typedef enum UCalendarType UCalendarType; typedef enum UCalendarType UCalendarType;
/** Possible fields in a UCalendar /** Possible fields in a UCalendar
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
enum UCalendarDateFields { enum UCalendarDateFields {
/** /**
skipping to change at line 604 skipping to change at line 616
U_STABLE UDate U_EXPORT2 U_STABLE UDate U_EXPORT2
ucal_getNow(void); ucal_getNow(void);
/** /**
* Open a UCalendar. * Open a UCalendar.
* A UCalendar may be used to convert a millisecond value to a year, * A UCalendar may be used to convert a millisecond value to a year,
* month, and day. * month, and day.
* @param zoneID The desired TimeZone ID. If 0, use the default time zone. * @param zoneID The desired TimeZone ID. If 0, use the default time zone.
* @param len The length of zoneID, or -1 if null-terminated. * @param len The length of zoneID, or -1 if null-terminated.
* @param locale The desired locale * @param locale The desired locale
* @param type The type of UCalendar to open. * @param type The type of UCalendar to open. This can be UCAL_GREGORIAN to
open the Gregorian
* calendar for the locale, or UCAL_DEFAULT to open the default calendar fo
r the locale (the
* default calendar may also be Gregorian). To open a specific non-Gregoria
n calendar for the
* locale, use uloc_setKeywordValue to set the value of the calendar keywor
d for the locale
* and then pass the locale to ucal_open with UCAL_DEFAULT as the type.
* @param status A pointer to an UErrorCode to receive any errors * @param status A pointer to an UErrorCode to receive any errors
* @return A pointer to a UCalendar, or 0 if an error occurred. * @return A pointer to a UCalendar, or 0 if an error occurred.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
U_STABLE UCalendar* U_EXPORT2 U_STABLE UCalendar* U_EXPORT2
ucal_open(const UChar* zoneID, ucal_open(const UChar* zoneID,
int32_t len, int32_t len,
const char* locale, const char* locale,
UCalendarType type, UCalendarType type,
UErrorCode* status); UErrorCode* status);
skipping to change at line 1126 skipping to change at line 1142
* is neither a known system time zone ID nor a * is neither a known system time zone ID nor a
* valid custom timezone ID, U_ILLEGAL_ARGUMENT_ERROR * valid custom timezone ID, U_ILLEGAL_ARGUMENT_ERROR
* is set. * is set.
* @return The result string length, not including the terminating * @return The result string length, not including the terminating
* null. * null.
* @draft ICU 4.0 * @draft ICU 4.0
*/ */
U_DRAFT int32_t U_EXPORT2 U_DRAFT int32_t U_EXPORT2
ucal_getCanonicalTimeZoneID(const UChar* id, int32_t len, ucal_getCanonicalTimeZoneID(const UChar* id, int32_t len,
UChar* result, int32_t resultCapacity, UBool *i sSystemID, UErrorCode* status); UChar* result, int32_t resultCapacity, UBool *i sSystemID, UErrorCode* status);
/**
* Get the resource keyword value string designating the calendar type for
the UCalendar.
* @param cal The UCalendar to query.
* @param status The error code for the operation.
* @return The resource keyword value string.
* @draft ICU 4.2
*/
U_DRAFT const char * U_EXPORT2
ucal_getType(const UCalendar *cal, UErrorCode* status);
/**
* Given a key and a locale, returns an array of string values in a preferr
ed
* order that would make a difference. These are all and only those values
where
* the open (creation) of the service with the locale formed from the input
locale
* plus input keyword and that value has different behavior than creation w
ith the
* input locale alone.
* @param key one of the keys supported by this service. For now
, only
* "calendar" is supported.
* @param locale the locale
* @param commonlyUsed if set to true it will return only commonly used va
lues
* with the given locale in preferred order. Otherwis
e,
* it will return all the available values for the loc
ale.
* @return a string enumeration over keyword values for the given key and t
he locale.
* @draft ICU 4.2
*/
U_DRAFT UEnumeration* U_EXPORT2
ucal_getKeywordValuesForLocale(const char* key,
const char* locale,
UBool commonlyUsed,
UErrorCode* status);
#endif /* #if !UCONFIG_NO_FORMATTING */ #endif /* #if !UCONFIG_NO_FORMATTING */
#endif #endif
 End of changes. 5 change blocks. 
5 lines changed or deleted 67 lines changed or added


 ucnv.h   ucnv.h 
skipping to change at line 235 skipping to change at line 235
* For example, ucnv_open("SCSU,locale=ja", &errorCode); * For example, ucnv_open("SCSU,locale=ja", &errorCode);
* See convrtrs.txt. * See convrtrs.txt.
* *
* @see ucnv_open * @see ucnv_open
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#define UCNV_LOCALE_OPTION_STRING ",locale=" #define UCNV_LOCALE_OPTION_STRING ",locale="
/** /**
* Converter option for specifying a version selector (0..9) for some conve rters. * Converter option for specifying a version selector (0..9) for some conve rters.
* For example, ucnv_open("UTF-7,version=1", &errorCode); * For example,
* \code
* ucnv_open("UTF-7,version=1", &errorCode);
* \endcode
* See convrtrs.txt. * See convrtrs.txt.
* *
* @see ucnv_open * @see ucnv_open
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define UCNV_VERSION_OPTION_STRING ",version=" #define UCNV_VERSION_OPTION_STRING ",version="
/** /**
* Converter option for EBCDIC SBCS or mixed-SBCS/DBCS (stateful) codepages . * Converter option for EBCDIC SBCS or mixed-SBCS/DBCS (stateful) codepages .
* Swaps Unicode mappings for EBCDIC LF and NL codes, as used on * Swaps Unicode mappings for EBCDIC LF and NL codes, as used on
 End of changes. 1 change blocks. 
1 lines changed or deleted 4 lines changed or added


 ucnvsel.h   ucnvsel.h 
skipping to change at line 31 skipping to change at line 31
#include "unicode/uset.h" #include "unicode/uset.h"
#include "unicode/utypes.h" #include "unicode/utypes.h"
#include "unicode/utf16.h" #include "unicode/utf16.h"
#include "unicode/uenum.h" #include "unicode/uenum.h"
#include "unicode/ucnv.h" #include "unicode/ucnv.h"
/** /**
* \file * \file
* *
* This is the declarations for the encoding selector. * A converter selector is built with a set of encoding/charset names
* The goal is, given a unicode string, find the encodings * and given an input string returns the set of names of the
* this string can be mapped to. * corresponding converters which can convert the string.
* *
* A converter selector can be serialized into a buffer and reopened
* from the serialized form.
*/ */
/** /**
* @{
* The selector data structure * The selector data structure
*/ */
struct UConverterSelector; struct UConverterSelector;
typedef struct UConverterSelector UConverterSelector; typedef struct UConverterSelector UConverterSelector;
/** @} */
/** /**
* open a selector. If converterList is NULL, build for all converters. If * Open a selector.
excludedCodePoints * If converterListSize is 0, build for all available converters.
* is NULL, don't exclude any codepoints * If excludedCodePoints is NULL, don't exclude any code points.
*
* *
* @param converterList a pointer to encoding names needed to be involved. * @param converterList a pointer to encoding names needed to be involved.
* NULL means build a selector for all possible converters * Can be NULL if converterListSize==0.
* The list and the names will be cloned, and the call
er
* retains ownership of the original.
* @param converterListSize number of encodings in above list. * @param converterListSize number of encodings in above list.
* Setting converterListSize to 0, builds a selector for all * If 0, builds a selector for all available conve
* converters. ucnvsel_open() does not transfer ownership to this rters.
* array. Once uncvsel_open() returns, the caller is free to reuse/destroy * @param excludedCodePoints a set of code points to be excluded from consi
* the array. deration.
* @param excludedCodePoints a set of codepoints to be excluded from * That is, excluded code points in a string do n
* consideration. set to NULL to exclude nothing ot change
* @param whichset what converter set to use? use this to determine whether * the selection result. (They might be handled b
* to construct selector for fallback or for roundtrip only y a callback.)
mappings * Use NULL to exclude nothing.
* @param whichSet what converter set to use? Use this to determine whether
* to consider only roundtrip mappings or also fallbacks.
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @return a pointer to the created selector * @return the new selector
* *
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
U_CAPI UConverterSelector* ucnvsel_open(const char* const* converterList, U_CAPI UConverterSelector* U_EXPORT2
int32_t converterListSize, ucnvsel_open(const char* const* converterList, int32_t converterListSize,
const USet* excludedCodePoints, const USet* excludedCodePoints,
const UConverterUnicodeSet whichSet const UConverterUnicodeSet whichSet, UErrorCode* status);
,
UErrorCode* status);
/* close opened selector */
/** /**
* closes a selector. and releases allocated memory * Closes a selector.
* if any Enumerations were returned by ucnv_select*, they become invalid. * If any Enumerations were returned by ucnv_select*, they become invalid.
* They can be closed before or after calling ucnv_closeSelector, * They can be closed before or after calling ucnv_closeSelector,
* but should never be used after selector is closed * but should never be used after the selector is closed.
* *
* @see ucnv_selectForString * @see ucnv_selectForString
* @see ucnv_selectForUTF8 * @see ucnv_selectForUTF8
* *
* @param sel selector to close * @param sel selector to close
* *
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
U_CAPI void ucnvsel_close(UConverterSelector *sel); U_CAPI void U_EXPORT2
ucnvsel_close(UConverterSelector *sel);
/** /**
* unserialize a selector from a linear buffer. No alignment necessary. * Open a selector from its serialized form.
* the function does NOT take ownership of the given buffer. Caller is free * The buffer must remain valid and unchanged for the lifetime of the selec
* to reuse/destroy buffer immediately after calling this function tor.
* Unserializing a selector is much faster than creating it from scratch * This is much faster than creating a selector from scratch.
* and is nicer on the heap (not as many allocations and frees) * Using a serialized form from a different machine (endianness/charset) is
* ucnvsel_open() is expensive. Therefore, it is desirable to unserialize t supported.
he data structre
* rather than building it from scratch.
* *
* @param buffer pointer to a linear buffer containing serialized data * @param buffer pointer to the serialized form of a converter selector;
* must be 32-bit-aligned
* @param length the capacity of this buffer (can be equal to or larger tha n * @param length the capacity of this buffer (can be equal to or larger tha n
the actual data length) * the actual data length)
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @return a pointer to the created selector * @return the new selector
* *
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
U_CAPI UConverterSelector* ucnvsel_unserialize(const char* buffer, U_CAPI UConverterSelector* U_EXPORT2
int32_t length, ucnvsel_openFromSerialized(const void* buffer, int32_t length, UErrorCode*
UErrorCode* status); status);
/** /**
* serialize a selector into a linear buffer. No alignment necessary * Serialize a selector into a linear buffer.
* The current serialized form is portable to different Endianness, and can * The serialized form is portable to different machines.
* travel between ASCII and EBCDIC systems
* *
* @param sel selector to consider * @param sel selector to consider
* @param buffer pointer to a linear buffer to receive data * @param buffer pointer to 32-bit-aligned memory to be filled with the
* serialized form of this converter selector
* @param bufferCapacity the capacity of this buffer * @param bufferCapacity the capacity of this buffer
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @return the required buffer capacity to hold serialize data (even if the call fails * @return the required buffer capacity to hold serialize data (even if the call fails
with a U_BUFFER_OVERFLOW_ERROR, it will return the required capa city) * with a U_BUFFER_OVERFLOW_ERROR, it will return the required capa city)
* *
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
U_CAPI int32_t ucnvsel_serialize(const UConverterSelector* sel, U_CAPI int32_t U_EXPORT2
char* buffer, ucnvsel_serialize(const UConverterSelector* sel,
int32_t bufferCapacity, void* buffer, int32_t bufferCapacity, UErrorCode* status)
UErrorCode* status); ;
/** /**
* check a UTF16 string using the selector. Find out what encodings it can * Select converters that can map all characters in a UTF-16 string,
be mapped to * ignoring the excluded code points.
*
* *
* @param sel built selector * @param sel a selector
* @param s pointer to UTF16 string * @param s UTF-16 string
* @param length length of UTF16 string in UChars, or -1 if NULL terminated * @param length length of the string, or -1 if NUL-terminated
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @return an enumeration containing encoding names. Returned encoding name * @return an enumeration containing encoding names.
s * The returned encoding names and their order will be the same as
* will be the same as supplied to ucnv_openSelector, or will be the * supplied when building the selector.
* canonical names if selector was built for all encodings.
* The order of encodings will be the same as supplied by the call to
* ucnv_openSelector (if encodings were supplied)
* *
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
U_CAPI UEnumeration *ucnvsel_selectForString(const UConverterSelector*, con U_CAPI UEnumeration * U_EXPORT2
st UChar *s, ucnvsel_selectForString(const UConverterSelector* sel,
int32_t length, UErrorCode *status); const UChar *s, int32_t length, UErrorCode *status)
;
/** /**
* check a UTF8 string using the selector. Find out what encodings it can b * Select converters that can map all characters in a UTF-8 string,
e * ignoring the excluded code points.
* mapped to illegal codepoints will be ignored by this function! Only lega
l
* codepoints will be considered for conversion
* *
* @param sel built selector * @param sel a selector
* @param s pointer to UTF8 string * @param s UTF-8 string
* @param length length of UTF8 string (in chars), or -1 if NULL terminated * @param length length of the string, or -1 if NUL-terminated
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @return an enumeration containing encoding names. Returned encoding name * @return an enumeration containing encoding names.
s * The returned encoding names and their order will be the same as
* will be the same as supplied to ucnv_openSelector, or will be the canon * supplied when building the selector.
ical
* names if selector was built for all encodings.
* The order of encodings will be the same as supplied by the call to
* ucnv_openSelector (if encodings were supplied)
* *
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
U_CAPI UEnumeration *ucnvsel_selectForUTF8(const UConverterSelector*, U_CAPI UEnumeration * U_EXPORT2
const char *s, ucnvsel_selectForUTF8(const UConverterSelector* sel,
int32_t length, const char *s, int32_t length, UErrorCode *status);
UErrorCode *status);
#endif /* __ICU_UCNV_SEL_H__ */ #endif /* __ICU_UCNV_SEL_H__ */
 End of changes. 30 change blocks. 
86 lines changed or deleted 80 lines changed or added


 ucol.h   ucol.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (c) 1996-2008, International Business Machines Corporation and others. * Copyright (c) 1996-2009, International Business Machines Corporation and others.
* All Rights Reserved. * All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
*/ */
#ifndef UCOL_H #ifndef UCOL_H
#define UCOL_H #define UCOL_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#if !UCONFIG_NO_COLLATION #if !UCONFIG_NO_COLLATION
skipping to change at line 580 skipping to change at line 580
* to U_ILLEGAL_ARGUMENT_ERROR. * to U_ILLEGAL_ARGUMENT_ERROR.
* @param status input-output error code * @param status input-output error code
* @return a string enumeration over collation keyword values, or NULL * @return a string enumeration over collation keyword values, or NULL
* upon error. The caller is responsible for closing the result. * upon error. The caller is responsible for closing the result.
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE UEnumeration* U_EXPORT2 U_STABLE UEnumeration* U_EXPORT2
ucol_getKeywordValues(const char *keyword, UErrorCode *status); ucol_getKeywordValues(const char *keyword, UErrorCode *status);
/** /**
* Given a key and a locale, returns an array of string values in a preferr
ed
* order that would make a difference. These are all and only those values
where
* the open (creation) of the service with the locale formed from the input
locale
* plus input keyword and that value has different behavior than creation w
ith the
* input locale alone.
* @param key one of the keys supported by this service. For now
, only
* "collation" is supported.
* @param locale the locale
* @param commonlyUsed if set to true it will return only commonly used va
lues
* with the given locale in preferred order. Otherwis
e,
* it will return all the available values for the loc
ale.
* @return a string enumeration over keyword values for the given key and t
he locale.
* @draft ICU 4.2
*/
U_DRAFT UEnumeration* U_EXPORT2
ucol_getKeywordValuesForLocale(const char* key,
const char* locale,
UBool commonlyUsed,
UErrorCode* status);
/**
* Return the functionally equivalent locale for the given * Return the functionally equivalent locale for the given
* requested locale, with respect to given keyword, for the * requested locale, with respect to given keyword, for the
* collation service. If two locales return the same result, then * collation service. If two locales return the same result, then
* collators instantiated for these locales will behave * collators instantiated for these locales will behave
* equivalently. The converse is not always true; two collators * equivalently. The converse is not always true; two collators
* may in fact be equivalent, but return different results, due to * may in fact be equivalent, but return different results, due to
* internal details. The return result has no other meaning than * internal details. The return result has no other meaning than
* that stated above, and implies nothing as to the relationship * that stated above, and implies nothing as to the relationship
* between the two locales. This is intended for use by * between the two locales. This is intended for use by
* applications who wish to cache collators, or otherwise reuse * applications who wish to cache collators, or otherwise reuse
 End of changes. 2 change blocks. 
1 lines changed or deleted 31 lines changed or added


 ucoleitr.h   ucoleitr.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2001-2008, International Business Machines * Copyright (C) 2001-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* File ucoleitr.cpp * File ucoleitr.cpp
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/15/2001 synwee Modified all methods to process its own function * 02/15/2001 synwee Modified all methods to process its own function
* instead of calling the equivalent c++ api (coleit r.h) * instead of calling the equivalent c++ api (coleit r.h)
skipping to change at line 156 skipping to change at line 156
* Property settings for collation will be reset to the current status. * Property settings for collation will be reset to the current status.
* @param elems The UCollationElements to reset. * @param elems The UCollationElements to reset.
* @see ucol_next * @see ucol_next
* @see ucol_previous * @see ucol_previous
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
ucol_reset(UCollationElements *elems); ucol_reset(UCollationElements *elems);
/** /**
* Set the collation elements to use implicit ordering for Han
* even if they've been tailored. This will also force Hangul
* syllables to be ordered by decomposing them to their component
* Jamo.
*
* @param elems The UCollationElements containing the text.
* @param status A pointer to a UErrorCode to reveive any errors.
*
* @internal
*/
U_INTERNAL void U_EXPORT2
ucol_forceHanImplicit(UCollationElements *elems, UErrorCode *status);
/**
* Get the ordering priority of the next collation element in the text. * Get the ordering priority of the next collation element in the text.
* A single character may contain more than one collation element. * A single character may contain more than one collation element.
* @param elems The UCollationElements containing the text. * @param elems The UCollationElements containing the text.
* @param status A pointer to an UErrorCode to receive any errors. * @param status A pointer to an UErrorCode to receive any errors.
* @return The next collation elements ordering, otherwise returns NULLORDE R * @return The next collation elements ordering, otherwise returns NULLORDE R
* if an error has occured or if the end of string has been reached * if an error has occured or if the end of string has been reached
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ucol_next(UCollationElements *elems, UErrorCode *status); ucol_next(UCollationElements *elems, UErrorCode *status);
 End of changes. 2 change blocks. 
1 lines changed or deleted 15 lines changed or added


 uconfig.h   uconfig.h 
skipping to change at line 38 skipping to change at line 38
* ICU build process will completely work. It is recommended that * ICU build process will completely work. It is recommended that
* the ICU libraries and data be built using the normal build. * the ICU libraries and data be built using the normal build.
* At that time you should remove the data used by those services. * At that time you should remove the data used by those services.
* After building the ICU data library, you should rebuild the ICU * After building the ICU data library, you should rebuild the ICU
* libraries with these switches customized to your needs. * libraries with these switches customized to your needs.
* *
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
/** /**
* \def UCONFIG_USE_LOCAL
* If this switch is defined, ICU will attempt to load a header file named "uconfig_local.h" * If this switch is defined, ICU will attempt to load a header file named "uconfig_local.h"
* prior to determining default settings for uconfig variables. * prior to determining default settings for uconfig variables.
* *
* @internal ICU 4.0 * @internal ICU 4.0
* *
*/ */
#if defined(UCONFIG_USE_LOCAL) #if defined(UCONFIG_USE_LOCAL)
#include "uconfig_local.h" #include "uconfig_local.h"
#endif #endif
 End of changes. 1 change blocks. 
1 lines changed or deleted 0 lines changed or added


 ucurr.h   ucurr.h 
/* /*
********************************************************************** **********************************************************************
* Copyright (c) 2002-2008, International Business Machines * Copyright (c) 2002-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
********************************************************************** **********************************************************************
*/ */
#ifndef _UCURR_H_ #ifndef _UCURR_H_
#define _UCURR_H_ #define _UCURR_H_
#include "unicode/utypes.h" #include "unicode/utypes.h"
#include "unicode/uenum.h" #include "unicode/uenum.h"
/** /**
skipping to change at line 142 skipping to change at line 142
*/ */
U_STABLE const UChar* U_EXPORT2 U_STABLE const UChar* U_EXPORT2
ucurr_getName(const UChar* currency, ucurr_getName(const UChar* currency,
const char* locale, const char* locale,
UCurrNameStyle nameStyle, UCurrNameStyle nameStyle,
UBool* isChoiceFormat, UBool* isChoiceFormat,
int32_t* len, int32_t* len,
UErrorCode* ec); UErrorCode* ec);
/** /**
* Returns the plural name for the given currency in the
* given locale. For example, the plural name for the USD
* currency object in the en_US locale is "US dollar" or "US dollars".
* @param currency null-terminated 3-letter ISO 4217 code
* @param locale locale in which to display currency
* @param isChoiceFormat fill-in set to TRUE if the returned value
* is a ChoiceFormat pattern; otherwise it is a static string
* @param pluralCount plural count
* @param len fill-in parameter to receive length of result
* @param ec error code
* @return pointer to display string of 'len' UChars. If the resource
* data contains no entry for 'currency', then 'currency' itself is
* returned.
* @draft ICU 4.2
*/
U_STABLE const UChar* U_EXPORT2
ucurr_getPluralName(const UChar* currency,
const char* locale,
UBool* isChoiceFormat,
const char* pluralCount,
int32_t* len,
UErrorCode* ec);
/**
* Returns the number of the number of fraction digits that should * Returns the number of the number of fraction digits that should
* be displayed for the given currency. * be displayed for the given currency.
* @param currency null-terminated 3-letter ISO 4217 code * @param currency null-terminated 3-letter ISO 4217 code
* @param ec input-output error code * @param ec input-output error code
* @return a non-negative number of fraction digits to be * @return a non-negative number of fraction digits to be
* displayed, or 0 if there is an error * displayed, or 0 if there is an error
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ucurr_getDefaultFractionDigits(const UChar* currency, ucurr_getDefaultFractionDigits(const UChar* currency,
skipping to change at line 268 skipping to change at line 292
* @draft ICU 4.0 * @draft ICU 4.0
*/ */
U_DRAFT int32_t U_EXPORT2 U_DRAFT int32_t U_EXPORT2
ucurr_forLocaleAndDate(const char* locale, ucurr_forLocaleAndDate(const char* locale,
UDate date, UDate date,
int32_t index, int32_t index,
UChar* buff, UChar* buff,
int32_t buffCapacity, int32_t buffCapacity,
UErrorCode* ec); UErrorCode* ec);
/**
* Given a key and a locale, returns an array of string values in a preferr
ed
* order that would make a difference. These are all and only those values
where
* the open (creation) of the service with the locale formed from the input
locale
* plus input keyword and that value has different behavior than creation w
ith the
* input locale alone.
* @param key one of the keys supported by this service. For now
, only
* "currency" is supported.
* @param locale the locale
* @param commonlyUsed if set to true it will return only commonly used va
lues
* with the given locale in preferred order. Otherwis
e,
* it will return all the available values for the loc
ale.
* @return a string enumeration over keyword values for the given key and t
he locale.
* @draft ICU 4.2
*/
U_DRAFT UEnumeration* U_EXPORT2
ucurr_getKeywordValuesForLocale(const char* key,
const char* locale,
UBool commonlyUsed,
UErrorCode* status);
#endif /* #if !UCONFIG_NO_FORMATTING */ #endif /* #if !UCONFIG_NO_FORMATTING */
#endif #endif
 End of changes. 3 change blocks. 
1 lines changed or deleted 55 lines changed or added


 udat.h   udat.h 
/* /*
************************************************************************** ***** ************************************************************************** *****
* Copyright (C) 1996-2008, International Business Machines * Copyright (C) 1996-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
************************************************************************** ***** ************************************************************************** *****
*/ */
#ifndef UDAT_H #ifndef UDAT_H
#define UDAT_H #define UDAT_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING #if !UCONFIG_NO_FORMATTING
skipping to change at line 174 skipping to change at line 174
UDAT_SHORT_RELATIVE = UDAT_SHORT | UDAT_RELATIVE, UDAT_SHORT_RELATIVE = UDAT_SHORT | UDAT_RELATIVE,
/** No style */ /** No style */
UDAT_NONE = -1, UDAT_NONE = -1,
/** for internal API use only */ /** for internal API use only */
UDAT_IGNORE = -2 UDAT_IGNORE = -2
} UDateFormatStyle; } UDateFormatStyle;
/** /**
* @{
* Below are a set of pre-defined skeletons. * Below are a set of pre-defined skeletons.
* *
* <P> * <P>
* A skeleton * A skeleton
* <ol> * <ol>
* <li> * <li>
* only keeps the field pattern letter and ignores all other parts * only keeps the field pattern letter and ignores all other parts
* in a pattern, such as space, punctuations, and string literals. * in a pattern, such as space, punctuations, and string literals.
* </li> * </li>
* <li> * <li>
skipping to change at line 211 skipping to change at line 212
*/ */
#define UDAT_MINUTE_SECOND "ms" #define UDAT_MINUTE_SECOND "ms"
#define UDAT_HOUR24_MINUTE "Hm" #define UDAT_HOUR24_MINUTE "Hm"
#define UDAT_HOUR24_MINUTE_SECOND "Hms" #define UDAT_HOUR24_MINUTE_SECOND "Hms"
#define UDAT_HOUR_MINUTE_SECOND "hms" #define UDAT_HOUR_MINUTE_SECOND "hms"
#define UDAT_STANDALONE_MONTH "LLLL" #define UDAT_STANDALONE_MONTH "LLLL"
#define UDAT_ABBR_STANDALONE_MONTH "LLL" #define UDAT_ABBR_STANDALONE_MONTH "LLL"
#define UDAT_YEAR_QUARTER "yQQQ" #define UDAT_YEAR_QUARTER "yQQQ"
#define UDAT_YEAR_ABBR_QUARTER "yQ" #define UDAT_YEAR_ABBR_QUARTER "yQ"
/** @} */
/** /**
* @{
* Below are a set of pre-defined skeletons that * Below are a set of pre-defined skeletons that
* have pre-defined interval patterns in resource files. * have pre-defined interval patterns in resource files.
* Users are encouraged to use them in date interval format factory methods . * Users are encouraged to use them in date interval format factory methods .
* *
*/ */
#define UDAT_HOUR_MINUTE "hm" #define UDAT_HOUR_MINUTE "hm"
#define UDAT_YEAR "y" #define UDAT_YEAR "y"
#define UDAT_DAY "d" #define UDAT_DAY "d"
#define UDAT_NUM_MONTH_WEEKDAY_DAY "MEd" #define UDAT_NUM_MONTH_WEEKDAY_DAY "MEd"
#define UDAT_YEAR_NUM_MONTH "yM" #define UDAT_YEAR_NUM_MONTH "yM"
skipping to change at line 244 skipping to change at line 249
#define UDAT_YEAR_NUM_MONTH_DAY "yMd" #define UDAT_YEAR_NUM_MONTH_DAY "yMd"
#define UDAT_NUM_MONTH "M" #define UDAT_NUM_MONTH "M"
#define UDAT_ABBR_MONTH "MMM" #define UDAT_ABBR_MONTH "MMM"
#define UDAT_MONTH "MMMM" #define UDAT_MONTH "MMMM"
#define UDAT_HOUR_MINUTE_GENERIC_TZ "hmv" #define UDAT_HOUR_MINUTE_GENERIC_TZ "hmv"
#define UDAT_HOUR_MINUTE_TZ "hmz" #define UDAT_HOUR_MINUTE_TZ "hmz"
#define UDAT_HOUR "h" #define UDAT_HOUR "h"
#define UDAT_HOUR_GENERIC_TZ "hv" #define UDAT_HOUR_GENERIC_TZ "hv"
#define UDAT_HOUR_TZ "hz" #define UDAT_HOUR_TZ "hz"
/** @} */
/** /**
* FieldPosition and UFieldPosition selectors for format fields * FieldPosition and UFieldPosition selectors for format fields
* defined by DateFormat and UDateFormat. * defined by DateFormat and UDateFormat.
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
typedef enum UDateFormatField { typedef enum UDateFormatField {
/** /**
* FieldPosition and UFieldPosition selector for 'G' field alignment, * FieldPosition and UFieldPosition selector for 'G' field alignment,
* corresponding to the UCAL_ERA field. * corresponding to the UCAL_ERA field.
* @stable ICU 3.0 * @stable ICU 3.0
skipping to change at line 492 skipping to change at line 499
*/ */
UDAT_FIELD_COUNT = 30 UDAT_FIELD_COUNT = 30
} UDateFormatField; } UDateFormatField;
/** /**
* Open a new UDateFormat for formatting and parsing dates and times. * Open a new UDateFormat for formatting and parsing dates and times.
* A UDateFormat may be used to format dates in calls to {@link #udat_forma t }, * A UDateFormat may be used to format dates in calls to {@link #udat_forma t },
* and to parse dates in calls to {@link #udat_parse }. * and to parse dates in calls to {@link #udat_parse }.
* @param timeStyle The style used to format times; one of UDAT_FULL, UDAT_ LONG, * @param timeStyle The style used to format times; one of UDAT_FULL, UDAT_ LONG,
* UDAT_MEDIUM, UDAT_SHORT, or UDAT_DEFAULT * UDAT_MEDIUM, UDAT_SHORT, UDAT_DEFAULT, or UDAT_NONE (relative time style
s
* are not currently supported)
* @param dateStyle The style used to format dates; one of UDAT_FULL, UDAT_ LONG, * @param dateStyle The style used to format dates; one of UDAT_FULL, UDAT_ LONG,
* UDAT_MEDIUM, UDAT_SHORT, or UDAT_DEFAULT * UDAT_MEDIUM, UDAT_SHORT, UDAT_DEFAULT, UDAT_FULL_RELATIVE, UDAT_LONG_REL
ATIVE,
* UDAT_MEDIUM_RELATIVE, UDAT_SHORT_RELATIVE, or UDAT_NONE
* @param locale The locale specifying the formatting conventions * @param locale The locale specifying the formatting conventions
* @param tzID A timezone ID specifying the timezone to use. If 0, use * @param tzID A timezone ID specifying the timezone to use. If 0, use
* the default timezone. * the default timezone.
* @param tzIDLength The length of tzID, or -1 if null-terminated. * @param tzIDLength The length of tzID, or -1 if null-terminated.
* @param pattern A pattern specifying the format to use. * @param pattern A pattern specifying the format to use.
* @param patternLength The number of characters in the pattern, or -1 if n ull-terminated. * @param patternLength The number of characters in the pattern, or -1 if n ull-terminated.
* @param status A pointer to an UErrorCode to receive any errors * @param status A pointer to an UErrorCode to receive any errors
* @return A pointer to a UDateFormat to use for formatting dates and times , or 0 if * @return A pointer to a UDateFormat to use for formatting dates and times , or 0 if
* an error occurred. * an error occurred.
* @stable ICU 2.0 * @stable ICU 2.0
 End of changes. 7 change blocks. 
3 lines changed or deleted 14 lines changed or added


 udeprctd.h   udeprctd.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2008, International Business Machines * Copyright (C) 2004-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name:
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
skipping to change at line 37 skipping to change at line 37
# define ucol_getContractions ucol_getContractions_DEPRECATED_API_DO _NOT_USE # define ucol_getContractions ucol_getContractions_DEPRECATED_API_DO _NOT_USE
# define ucol_getLocale ucol_getLocale_DEPRECATED_API_DO_NOT_USE # define ucol_getLocale ucol_getLocale_DEPRECATED_API_DO_NOT_USE
# define ures_countArrayItems ures_countArrayItems_DEPRECATED_API_DO _NOT_USE # define ures_countArrayItems ures_countArrayItems_DEPRECATED_API_DO _NOT_USE
# define ures_getLocale ures_getLocale_DEPRECATED_API_DO_NOT_USE # define ures_getLocale ures_getLocale_DEPRECATED_API_DO_NOT_USE
# define ures_getVersionNumber ures_getVersionNumber_DEPRECATED_API_ DO_NOT_USE # define ures_getVersionNumber ures_getVersionNumber_DEPRECATED_API_ DO_NOT_USE
# define utrans_getAvailableID utrans_getAvailableID_DEPRECATED_API_ DO_NOT_USE # define utrans_getAvailableID utrans_getAvailableID_DEPRECATED_API_ DO_NOT_USE
# define utrans_getID utrans_getID_DEPRECATED_API_DO_NOT_USE # define utrans_getID utrans_getID_DEPRECATED_API_DO_NOT_USE
# define utrans_open utrans_open_DEPRECATED_API_DO_NOT_USE # define utrans_open utrans_open_DEPRECATED_API_DO_NOT_USE
# define utrans_unregister utrans_unregister_DEPRECATED_API_DO_NOT_U SE # define utrans_unregister utrans_unregister_DEPRECATED_API_DO_NOT_U SE
# else # else
# define ucol_getContractions_4_0 ucol_getContractions_DEPRECATED_AP # define ucol_getContractions_4_1.2 ucol_getContractions_DEPRECATED_
I_DO_NOT_USE API_DO_NOT_USE
# define ucol_getLocale_4_0 ucol_getLocale_DEPRECATED_API_DO_NOT_USE # define ucol_getLocale_4_1.2 ucol_getLocale_DEPRECATED_API_DO_NOT_U
# define ures_countArrayItems_4_0 ures_countArrayItems_DEPRECATED_AP SE
I_DO_NOT_USE # define ures_countArrayItems_4_1.2 ures_countArrayItems_DEPRECATED_
# define ures_getLocale_4_0 ures_getLocale_DEPRECATED_API_DO_NOT_USE API_DO_NOT_USE
# define ures_getVersionNumber_4_0 ures_getVersionNumber_DEPRECATED_ # define ures_getLocale_4_1.2 ures_getLocale_DEPRECATED_API_DO_NOT_U
API_DO_NOT_USE SE
# define utrans_getAvailableID_4_0 utrans_getAvailableID_DEPRECATED_ # define ures_getVersionNumber_4_1.2 ures_getVersionNumber_DEPRECATE
API_DO_NOT_USE D_API_DO_NOT_USE
# define utrans_getID_4_0 utrans_getID_DEPRECATED_API_DO_NOT_USE # define utrans_getAvailableID_4_1.2 utrans_getAvailableID_DEPRECATE
# define utrans_open_4_0 utrans_open_DEPRECATED_API_DO_NOT_USE D_API_DO_NOT_USE
# define utrans_unregister_4_0 utrans_unregister_DEPRECATED_API_DO_N # define utrans_getID_4_1.2 utrans_getID_DEPRECATED_API_DO_NOT_USE
OT_USE # define utrans_open_4_1.2 utrans_open_DEPRECATED_API_DO_NOT_USE
# define utrans_unregister_4_1.2 utrans_unregister_DEPRECATED_API_DO
_NOT_USE
# endif /* U_DISABLE_RENAMING */ # endif /* U_DISABLE_RENAMING */
#endif /* U_HIDE_DEPRECATED_API */ #endif /* U_HIDE_DEPRECATED_API */
#endif /* UDEPRCTD_H */ #endif /* UDEPRCTD_H */
 End of changes. 2 change blocks. 
15 lines changed or deleted 17 lines changed or added


 udraft.h   udraft.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2008, International Business Machines * Copyright (C) 2004-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name:
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
skipping to change at line 73 skipping to change at line 73
# define u_vfscanf u_vfscanf_DRAFT_API_DO_NOT_USE # define u_vfscanf u_vfscanf_DRAFT_API_DO_NOT_USE
# define u_vfscanf_u u_vfscanf_u_DRAFT_API_DO_NOT_USE # define u_vfscanf_u u_vfscanf_u_DRAFT_API_DO_NOT_USE
# define u_vsnprintf u_vsnprintf_DRAFT_API_DO_NOT_USE # define u_vsnprintf u_vsnprintf_DRAFT_API_DO_NOT_USE
# define u_vsnprintf_u u_vsnprintf_u_DRAFT_API_DO_NOT_USE # define u_vsnprintf_u u_vsnprintf_u_DRAFT_API_DO_NOT_USE
# define u_vsprintf u_vsprintf_DRAFT_API_DO_NOT_USE # define u_vsprintf u_vsprintf_DRAFT_API_DO_NOT_USE
# define u_vsprintf_u u_vsprintf_u_DRAFT_API_DO_NOT_USE # define u_vsprintf_u u_vsprintf_u_DRAFT_API_DO_NOT_USE
# define u_vsscanf u_vsscanf_DRAFT_API_DO_NOT_USE # define u_vsscanf u_vsscanf_DRAFT_API_DO_NOT_USE
# define u_vsscanf_u u_vsscanf_u_DRAFT_API_DO_NOT_USE # define u_vsscanf_u u_vsscanf_u_DRAFT_API_DO_NOT_USE
# define ucal_clone ucal_clone_DRAFT_API_DO_NOT_USE # define ucal_clone ucal_clone_DRAFT_API_DO_NOT_USE
# define ucal_getCanonicalTimeZoneID ucal_getCanonicalTimeZoneID_DRA FT_API_DO_NOT_USE # define ucal_getCanonicalTimeZoneID ucal_getCanonicalTimeZoneID_DRA FT_API_DO_NOT_USE
# define ucal_getType ucal_getType_DRAFT_API_DO_NOT_USE
# define ucnvsel_close ucnvsel_close_DRAFT_API_DO_NOT_USE
# define ucnvsel_open ucnvsel_open_DRAFT_API_DO_NOT_USE
# define ucnvsel_openFromSerialized ucnvsel_openFromSerialized_DRAFT
_API_DO_NOT_USE
# define ucnvsel_selectForString ucnvsel_selectForString_DRAFT_API_D
O_NOT_USE
# define ucnvsel_selectForUTF8 ucnvsel_selectForUTF8_DRAFT_API_DO_NO
T_USE
# define ucnvsel_serialize ucnvsel_serialize_DRAFT_API_DO_NOT_USE
# define ucurr_countCurrencies ucurr_countCurrencies_DRAFT_API_DO_NO T_USE # define ucurr_countCurrencies ucurr_countCurrencies_DRAFT_API_DO_NO T_USE
# define ucurr_forLocaleAndDate ucurr_forLocaleAndDate_DRAFT_API_DO_ NOT_USE # define ucurr_forLocaleAndDate ucurr_forLocaleAndDate_DRAFT_API_DO_ NOT_USE
# define uloc_addLikelySubtags uloc_addLikelySubtags_DRAFT_API_DO_NO T_USE # define uloc_addLikelySubtags uloc_addLikelySubtags_DRAFT_API_DO_NO T_USE
# define uloc_getCharacterOrientation uloc_getCharacterOrientation_D RAFT_API_DO_NOT_USE # define uloc_getCharacterOrientation uloc_getCharacterOrientation_D RAFT_API_DO_NOT_USE
# define uloc_getLineOrientation uloc_getLineOrientation_DRAFT_API_D O_NOT_USE # define uloc_getLineOrientation uloc_getLineOrientation_DRAFT_API_D O_NOT_USE
# define uloc_minimizeSubtags uloc_minimizeSubtags_DRAFT_API_DO_NOT_ USE # define uloc_minimizeSubtags uloc_minimizeSubtags_DRAFT_API_DO_NOT_ USE
# define uregex_getMatchCallback uregex_getMatchCallback_DRAFT_API_D O_NOT_USE # define uregex_getMatchCallback uregex_getMatchCallback_DRAFT_API_D O_NOT_USE
# define uregex_getStackLimit uregex_getStackLimit_DRAFT_API_DO_NOT_ USE # define uregex_getStackLimit uregex_getStackLimit_DRAFT_API_DO_NOT_ USE
# define uregex_getTimeLimit uregex_getTimeLimit_DRAFT_API_DO_NOT_US E # define uregex_getTimeLimit uregex_getTimeLimit_DRAFT_API_DO_NOT_US E
# define uregex_hasAnchoringBounds uregex_hasAnchoringBounds_DRAFT_A PI_DO_NOT_USE # define uregex_hasAnchoringBounds uregex_hasAnchoringBounds_DRAFT_A PI_DO_NOT_USE
skipping to change at line 95 skipping to change at line 102
# define uregex_regionEnd uregex_regionEnd_DRAFT_API_DO_NOT_USE # define uregex_regionEnd uregex_regionEnd_DRAFT_API_DO_NOT_USE
# define uregex_regionStart uregex_regionStart_DRAFT_API_DO_NOT_USE # define uregex_regionStart uregex_regionStart_DRAFT_API_DO_NOT_USE
# define uregex_requireEnd uregex_requireEnd_DRAFT_API_DO_NOT_USE # define uregex_requireEnd uregex_requireEnd_DRAFT_API_DO_NOT_USE
# define uregex_setMatchCallback uregex_setMatchCallback_DRAFT_API_D O_NOT_USE # define uregex_setMatchCallback uregex_setMatchCallback_DRAFT_API_D O_NOT_USE
# define uregex_setRegion uregex_setRegion_DRAFT_API_DO_NOT_USE # define uregex_setRegion uregex_setRegion_DRAFT_API_DO_NOT_USE
# define uregex_setStackLimit uregex_setStackLimit_DRAFT_API_DO_NOT_ USE # define uregex_setStackLimit uregex_setStackLimit_DRAFT_API_DO_NOT_ USE
# define uregex_setTimeLimit uregex_setTimeLimit_DRAFT_API_DO_NOT_US E # define uregex_setTimeLimit uregex_setTimeLimit_DRAFT_API_DO_NOT_US E
# define uregex_useAnchoringBounds uregex_useAnchoringBounds_DRAFT_A PI_DO_NOT_USE # define uregex_useAnchoringBounds uregex_useAnchoringBounds_DRAFT_A PI_DO_NOT_USE
# define uregex_useTransparentBounds uregex_useTransparentBounds_DRA FT_API_DO_NOT_USE # define uregex_useTransparentBounds uregex_useTransparentBounds_DRA FT_API_DO_NOT_USE
# else # else
# define afkLanguageCode_4_0 afkLanguageCode_DRAFT_API_DO_NOT_USE # define afkLanguageCode_4_1.2 afkLanguageCode_DRAFT_API_DO_NOT_USE
# define armiScriptCode_4_0 armiScriptCode_DRAFT_API_DO_NOT_USE # define armiScriptCode_4_1.2 armiScriptCode_DRAFT_API_DO_NOT_USE
# define u_fclose_4_0 u_fclose_DRAFT_API_DO_NOT_USE # define u_fclose_4_1.2 u_fclose_DRAFT_API_DO_NOT_USE
# define u_feof_4_0 u_feof_DRAFT_API_DO_NOT_USE # define u_feof_4_1.2 u_feof_DRAFT_API_DO_NOT_USE
# define u_fflush_4_0 u_fflush_DRAFT_API_DO_NOT_USE # define u_fflush_4_1.2 u_fflush_DRAFT_API_DO_NOT_USE
# define u_fgetConverter_4_0 u_fgetConverter_DRAFT_API_DO_NOT_USE # define u_fgetConverter_4_1.2 u_fgetConverter_DRAFT_API_DO_NOT_USE
# define u_fgetc_4_0 u_fgetc_DRAFT_API_DO_NOT_USE # define u_fgetc_4_1.2 u_fgetc_DRAFT_API_DO_NOT_USE
# define u_fgetcodepage_4_0 u_fgetcodepage_DRAFT_API_DO_NOT_USE # define u_fgetcodepage_4_1.2 u_fgetcodepage_DRAFT_API_DO_NOT_USE
# define u_fgetcx_4_0 u_fgetcx_DRAFT_API_DO_NOT_USE # define u_fgetcx_4_1.2 u_fgetcx_DRAFT_API_DO_NOT_USE
# define u_fgetfile_4_0 u_fgetfile_DRAFT_API_DO_NOT_USE # define u_fgetfile_4_1.2 u_fgetfile_DRAFT_API_DO_NOT_USE
# define u_fgetlocale_4_0 u_fgetlocale_DRAFT_API_DO_NOT_USE # define u_fgetlocale_4_1.2 u_fgetlocale_DRAFT_API_DO_NOT_USE
# define u_fgets_4_0 u_fgets_DRAFT_API_DO_NOT_USE # define u_fgets_4_1.2 u_fgets_DRAFT_API_DO_NOT_USE
# define u_file_read_4_0 u_file_read_DRAFT_API_DO_NOT_USE # define u_file_read_4_1.2 u_file_read_DRAFT_API_DO_NOT_USE
# define u_file_write_4_0 u_file_write_DRAFT_API_DO_NOT_USE # define u_file_write_4_1.2 u_file_write_DRAFT_API_DO_NOT_USE
# define u_finit_4_0 u_finit_DRAFT_API_DO_NOT_USE # define u_finit_4_1.2 u_finit_DRAFT_API_DO_NOT_USE
# define u_fopen_4_0 u_fopen_DRAFT_API_DO_NOT_USE # define u_fopen_4_1.2 u_fopen_DRAFT_API_DO_NOT_USE
# define u_fprintf_4_0 u_fprintf_DRAFT_API_DO_NOT_USE # define u_fprintf_4_1.2 u_fprintf_DRAFT_API_DO_NOT_USE
# define u_fprintf_u_4_0 u_fprintf_u_DRAFT_API_DO_NOT_USE # define u_fprintf_u_4_1.2 u_fprintf_u_DRAFT_API_DO_NOT_USE
# define u_fputc_4_0 u_fputc_DRAFT_API_DO_NOT_USE # define u_fputc_4_1.2 u_fputc_DRAFT_API_DO_NOT_USE
# define u_fputs_4_0 u_fputs_DRAFT_API_DO_NOT_USE # define u_fputs_4_1.2 u_fputs_DRAFT_API_DO_NOT_USE
# define u_frewind_4_0 u_frewind_DRAFT_API_DO_NOT_USE # define u_frewind_4_1.2 u_frewind_DRAFT_API_DO_NOT_USE
# define u_fscanf_4_0 u_fscanf_DRAFT_API_DO_NOT_USE # define u_fscanf_4_1.2 u_fscanf_DRAFT_API_DO_NOT_USE
# define u_fscanf_u_4_0 u_fscanf_u_DRAFT_API_DO_NOT_USE # define u_fscanf_u_4_1.2 u_fscanf_u_DRAFT_API_DO_NOT_USE
# define u_fsetcodepage_4_0 u_fsetcodepage_DRAFT_API_DO_NOT_USE # define u_fsetcodepage_4_1.2 u_fsetcodepage_DRAFT_API_DO_NOT_USE
# define u_fsetlocale_4_0 u_fsetlocale_DRAFT_API_DO_NOT_USE # define u_fsetlocale_4_1.2 u_fsetlocale_DRAFT_API_DO_NOT_USE
# define u_fsettransliterator_4_0 u_fsettransliterator_DRAFT_API_DO_ # define u_fsettransliterator_4_1.2 u_fsettransliterator_DRAFT_API_D
NOT_USE O_NOT_USE
# define u_fstropen_4_0 u_fstropen_DRAFT_API_DO_NOT_USE # define u_fstropen_4_1.2 u_fstropen_DRAFT_API_DO_NOT_USE
# define u_fungetc_4_0 u_fungetc_DRAFT_API_DO_NOT_USE # define u_fungetc_4_1.2 u_fungetc_DRAFT_API_DO_NOT_USE
# define u_snprintf_4_0 u_snprintf_DRAFT_API_DO_NOT_USE # define u_snprintf_4_1.2 u_snprintf_DRAFT_API_DO_NOT_USE
# define u_snprintf_u_4_0 u_snprintf_u_DRAFT_API_DO_NOT_USE # define u_snprintf_u_4_1.2 u_snprintf_u_DRAFT_API_DO_NOT_USE
# define u_sprintf_4_0 u_sprintf_DRAFT_API_DO_NOT_USE # define u_sprintf_4_1.2 u_sprintf_DRAFT_API_DO_NOT_USE
# define u_sprintf_u_4_0 u_sprintf_u_DRAFT_API_DO_NOT_USE # define u_sprintf_u_4_1.2 u_sprintf_u_DRAFT_API_DO_NOT_USE
# define u_sscanf_4_0 u_sscanf_DRAFT_API_DO_NOT_USE # define u_sscanf_4_1.2 u_sscanf_DRAFT_API_DO_NOT_USE
# define u_sscanf_u_4_0 u_sscanf_u_DRAFT_API_DO_NOT_USE # define u_sscanf_u_4_1.2 u_sscanf_u_DRAFT_API_DO_NOT_USE
# define u_vfprintf_4_0 u_vfprintf_DRAFT_API_DO_NOT_USE # define u_vfprintf_4_1.2 u_vfprintf_DRAFT_API_DO_NOT_USE
# define u_vfprintf_u_4_0 u_vfprintf_u_DRAFT_API_DO_NOT_USE # define u_vfprintf_u_4_1.2 u_vfprintf_u_DRAFT_API_DO_NOT_USE
# define u_vfscanf_4_0 u_vfscanf_DRAFT_API_DO_NOT_USE # define u_vfscanf_4_1.2 u_vfscanf_DRAFT_API_DO_NOT_USE
# define u_vfscanf_u_4_0 u_vfscanf_u_DRAFT_API_DO_NOT_USE # define u_vfscanf_u_4_1.2 u_vfscanf_u_DRAFT_API_DO_NOT_USE
# define u_vsnprintf_4_0 u_vsnprintf_DRAFT_API_DO_NOT_USE # define u_vsnprintf_4_1.2 u_vsnprintf_DRAFT_API_DO_NOT_USE
# define u_vsnprintf_u_4_0 u_vsnprintf_u_DRAFT_API_DO_NOT_USE # define u_vsnprintf_u_4_1.2 u_vsnprintf_u_DRAFT_API_DO_NOT_USE
# define u_vsprintf_4_0 u_vsprintf_DRAFT_API_DO_NOT_USE # define u_vsprintf_4_1.2 u_vsprintf_DRAFT_API_DO_NOT_USE
# define u_vsprintf_u_4_0 u_vsprintf_u_DRAFT_API_DO_NOT_USE # define u_vsprintf_u_4_1.2 u_vsprintf_u_DRAFT_API_DO_NOT_USE
# define u_vsscanf_4_0 u_vsscanf_DRAFT_API_DO_NOT_USE # define u_vsscanf_4_1.2 u_vsscanf_DRAFT_API_DO_NOT_USE
# define u_vsscanf_u_4_0 u_vsscanf_u_DRAFT_API_DO_NOT_USE # define u_vsscanf_u_4_1.2 u_vsscanf_u_DRAFT_API_DO_NOT_USE
# define ucal_clone_4_0 ucal_clone_DRAFT_API_DO_NOT_USE # define ucal_clone_4_1.2 ucal_clone_DRAFT_API_DO_NOT_USE
# define ucal_getCanonicalTimeZoneID_4_0 ucal_getCanonicalTimeZoneID # define ucal_getCanonicalTimeZoneID_4_1.2 ucal_getCanonicalTimeZone
_DRAFT_API_DO_NOT_USE ID_DRAFT_API_DO_NOT_USE
# define ucurr_countCurrencies_4_0 ucurr_countCurrencies_DRAFT_API_D # define ucal_getType_4_1.2 ucal_getType_DRAFT_API_DO_NOT_USE
O_NOT_USE # define ucnvsel_close_4_1.2 ucnvsel_close_DRAFT_API_DO_NOT_USE
# define ucurr_forLocaleAndDate_4_0 ucurr_forLocaleAndDate_DRAFT_API # define ucnvsel_openFromSerialized_4_1.2 ucnvsel_openFromSerialized
_DO_NOT_USE _DRAFT_API_DO_NOT_USE
# define uloc_addLikelySubtags_4_0 uloc_addLikelySubtags_DRAFT_API_D # define ucnvsel_open_4_1.2 ucnvsel_open_DRAFT_API_DO_NOT_USE
O_NOT_USE # define ucnvsel_selectForString_4_1.2 ucnvsel_selectForString_DRAFT
# define uloc_getCharacterOrientation_4_0 uloc_getCharacterOrientati _API_DO_NOT_USE
on_DRAFT_API_DO_NOT_USE # define ucnvsel_selectForUTF8_4_1.2 ucnvsel_selectForUTF8_DRAFT_API
# define uloc_getLineOrientation_4_0 uloc_getLineOrientation_DRAFT_A _DO_NOT_USE
PI_DO_NOT_USE # define ucnvsel_serialize_4_1.2 ucnvsel_serialize_DRAFT_API_DO_NOT_
# define uloc_minimizeSubtags_4_0 uloc_minimizeSubtags_DRAFT_API_DO_ USE
NOT_USE # define ucurr_countCurrencies_4_1.2 ucurr_countCurrencies_DRAFT_API
# define uregex_getMatchCallback_4_0 uregex_getMatchCallback_DRAFT_A _DO_NOT_USE
PI_DO_NOT_USE # define ucurr_forLocaleAndDate_4_1.2 ucurr_forLocaleAndDate_DRAFT_A
# define uregex_getStackLimit_4_0 uregex_getStackLimit_DRAFT_API_DO_ PI_DO_NOT_USE
NOT_USE # define uloc_addLikelySubtags_4_1.2 uloc_addLikelySubtags_DRAFT_API
# define uregex_getTimeLimit_4_0 uregex_getTimeLimit_DRAFT_API_DO_NO _DO_NOT_USE
T_USE # define uloc_getCharacterOrientation_4_1.2 uloc_getCharacterOrienta
# define uregex_hasAnchoringBounds_4_0 uregex_hasAnchoringBounds_DRA tion_DRAFT_API_DO_NOT_USE
FT_API_DO_NOT_USE # define uloc_getLineOrientation_4_1.2 uloc_getLineOrientation_DRAFT
# define uregex_hasTransparentBounds_4_0 uregex_hasTransparentBounds _API_DO_NOT_USE
_DRAFT_API_DO_NOT_USE # define uloc_minimizeSubtags_4_1.2 uloc_minimizeSubtags_DRAFT_API_D
# define uregex_hitEnd_4_0 uregex_hitEnd_DRAFT_API_DO_NOT_USE O_NOT_USE
# define uregex_regionEnd_4_0 uregex_regionEnd_DRAFT_API_DO_NOT_USE # define uregex_getMatchCallback_4_1.2 uregex_getMatchCallback_DRAFT
# define uregex_regionStart_4_0 uregex_regionStart_DRAFT_API_DO_NOT_ _API_DO_NOT_USE
USE # define uregex_getStackLimit_4_1.2 uregex_getStackLimit_DRAFT_API_D
# define uregex_requireEnd_4_0 uregex_requireEnd_DRAFT_API_DO_NOT_US O_NOT_USE
E # define uregex_getTimeLimit_4_1.2 uregex_getTimeLimit_DRAFT_API_DO_
# define uregex_setMatchCallback_4_0 uregex_setMatchCallback_DRAFT_A NOT_USE
PI_DO_NOT_USE # define uregex_hasAnchoringBounds_4_1.2 uregex_hasAnchoringBounds_D
# define uregex_setRegion_4_0 uregex_setRegion_DRAFT_API_DO_NOT_USE RAFT_API_DO_NOT_USE
# define uregex_setStackLimit_4_0 uregex_setStackLimit_DRAFT_API_DO_ # define uregex_hasTransparentBounds_4_1.2 uregex_hasTransparentBoun
NOT_USE ds_DRAFT_API_DO_NOT_USE
# define uregex_setTimeLimit_4_0 uregex_setTimeLimit_DRAFT_API_DO_NO # define uregex_hitEnd_4_1.2 uregex_hitEnd_DRAFT_API_DO_NOT_USE
T_USE # define uregex_regionEnd_4_1.2 uregex_regionEnd_DRAFT_API_DO_NOT_US
# define uregex_useAnchoringBounds_4_0 uregex_useAnchoringBounds_DRA E
FT_API_DO_NOT_USE # define uregex_regionStart_4_1.2 uregex_regionStart_DRAFT_API_DO_NO
# define uregex_useTransparentBounds_4_0 uregex_useTransparentBounds T_USE
_DRAFT_API_DO_NOT_USE # define uregex_requireEnd_4_1.2 uregex_requireEnd_DRAFT_API_DO_NOT_
USE
# define uregex_setMatchCallback_4_1.2 uregex_setMatchCallback_DRAFT
_API_DO_NOT_USE
# define uregex_setRegion_4_1.2 uregex_setRegion_DRAFT_API_DO_NOT_US
E
# define uregex_setStackLimit_4_1.2 uregex_setStackLimit_DRAFT_API_D
O_NOT_USE
# define uregex_setTimeLimit_4_1.2 uregex_setTimeLimit_DRAFT_API_DO_
NOT_USE
# define uregex_useAnchoringBounds_4_1.2 uregex_useAnchoringBounds_D
RAFT_API_DO_NOT_USE
# define uregex_useTransparentBounds_4_1.2 uregex_useTransparentBoun
ds_DRAFT_API_DO_NOT_USE
# endif /* U_DISABLE_RENAMING */ # endif /* U_DISABLE_RENAMING */
#endif /* U_HIDE_DRAFT_API */ #endif /* U_HIDE_DRAFT_API */
#endif /* UDRAFT_H */ #endif /* UDRAFT_H */
 End of changes. 3 change blocks. 
88 lines changed or deleted 111 lines changed or added


 uintrnal.h   uintrnal.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2008, International Business Machines * Copyright (C) 2004-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name:
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
skipping to change at line 102 skipping to change at line 102
# define uprv_getDefaultLocaleID uprv_getDefaultLocaleID_INTERNAL_AP I_DO_NOT_USE # define uprv_getDefaultLocaleID uprv_getDefaultLocaleID_INTERNAL_AP I_DO_NOT_USE
# define ures_openFillIn ures_openFillIn_INTERNAL_API_DO_NOT_USE # define ures_openFillIn ures_openFillIn_INTERNAL_API_DO_NOT_USE
# define usearch_search usearch_search_INTERNAL_API_DO_NOT_USE # define usearch_search usearch_search_INTERNAL_API_DO_NOT_USE
# define usearch_searchBackwards usearch_searchBackwards_INTERNAL_AP I_DO_NOT_USE # define usearch_searchBackwards usearch_searchBackwards_INTERNAL_AP I_DO_NOT_USE
# define utf8_appendCharSafeBody utf8_appendCharSafeBody_INTERNAL_AP I_DO_NOT_USE # define utf8_appendCharSafeBody utf8_appendCharSafeBody_INTERNAL_AP I_DO_NOT_USE
# define utf8_back1SafeBody utf8_back1SafeBody_INTERNAL_API_DO_NOT_U SE # define utf8_back1SafeBody utf8_back1SafeBody_INTERNAL_API_DO_NOT_U SE
# define utf8_countTrailBytes utf8_countTrailBytes_INTERNAL_API_DO_N OT_USE # define utf8_countTrailBytes utf8_countTrailBytes_INTERNAL_API_DO_N OT_USE
# define utf8_nextCharSafeBody utf8_nextCharSafeBody_INTERNAL_API_DO _NOT_USE # define utf8_nextCharSafeBody utf8_nextCharSafeBody_INTERNAL_API_DO _NOT_USE
# define utf8_prevCharSafeBody utf8_prevCharSafeBody_INTERNAL_API_DO _NOT_USE # define utf8_prevCharSafeBody utf8_prevCharSafeBody_INTERNAL_API_DO _NOT_USE
# else # else
# define RegexPatternDump_4_0 RegexPatternDump_INTERNAL_API_DO_NOT_U # define RegexPatternDump_4_1.2 RegexPatternDump_INTERNAL_API_DO_NOT
SE _USE
# define pl_addFontRun_4_0 pl_addFontRun_INTERNAL_API_DO_NOT_USE # define pl_addFontRun_4_1.2 pl_addFontRun_INTERNAL_API_DO_NOT_USE
# define pl_addLocaleRun_4_0 pl_addLocaleRun_INTERNAL_API_DO_NOT_USE # define pl_addLocaleRun_4_1.2 pl_addLocaleRun_INTERNAL_API_DO_NOT_U
# define pl_addValueRun_4_0 pl_addValueRun_INTERNAL_API_DO_NOT_USE SE
# define pl_closeFontRuns_4_0 pl_closeFontRuns_INTERNAL_API_DO_NOT_U # define pl_addValueRun_4_1.2 pl_addValueRun_INTERNAL_API_DO_NOT_USE
SE # define pl_closeFontRuns_4_1.2 pl_closeFontRuns_INTERNAL_API_DO_NOT
# define pl_closeLine_4_0 pl_closeLine_INTERNAL_API_DO_NOT_USE _USE
# define pl_closeLocaleRuns_4_0 pl_closeLocaleRuns_INTERNAL_API_DO_N # define pl_closeLine_4_1.2 pl_closeLine_INTERNAL_API_DO_NOT_USE
OT_USE # define pl_closeLocaleRuns_4_1.2 pl_closeLocaleRuns_INTERNAL_API_DO
# define pl_closeValueRuns_4_0 pl_closeValueRuns_INTERNAL_API_DO_NOT _NOT_USE
_USE # define pl_closeValueRuns_4_1.2 pl_closeValueRuns_INTERNAL_API_DO_N
# define pl_close_4_0 pl_close_INTERNAL_API_DO_NOT_USE OT_USE
# define pl_countLineRuns_4_0 pl_countLineRuns_INTERNAL_API_DO_NOT_U # define pl_close_4_1.2 pl_close_INTERNAL_API_DO_NOT_USE
SE # define pl_countLineRuns_4_1.2 pl_countLineRuns_INTERNAL_API_DO_NOT
# define pl_create_4_0 pl_create_INTERNAL_API_DO_NOT_USE _USE
# define pl_getAscent_4_0 pl_getAscent_INTERNAL_API_DO_NOT_USE # define pl_create_4_1.2 pl_create_INTERNAL_API_DO_NOT_USE
# define pl_getDescent_4_0 pl_getDescent_INTERNAL_API_DO_NOT_USE # define pl_getAscent_4_1.2 pl_getAscent_INTERNAL_API_DO_NOT_USE
# define pl_getFontRunCount_4_0 pl_getFontRunCount_INTERNAL_API_DO_N # define pl_getDescent_4_1.2 pl_getDescent_INTERNAL_API_DO_NOT_USE
OT_USE # define pl_getFontRunCount_4_1.2 pl_getFontRunCount_INTERNAL_API_DO
# define pl_getFontRunFont_4_0 pl_getFontRunFont_INTERNAL_API_DO_NOT _NOT_USE
_USE # define pl_getFontRunFont_4_1.2 pl_getFontRunFont_INTERNAL_API_DO_N
# define pl_getFontRunLastLimit_4_0 pl_getFontRunLastLimit_INTERNAL_ OT_USE
API_DO_NOT_USE # define pl_getFontRunLastLimit_4_1.2 pl_getFontRunLastLimit_INTERNA
# define pl_getFontRunLimit_4_0 pl_getFontRunLimit_INTERNAL_API_DO_N L_API_DO_NOT_USE
OT_USE # define pl_getFontRunLimit_4_1.2 pl_getFontRunLimit_INTERNAL_API_DO
# define pl_getLeading_4_0 pl_getLeading_INTERNAL_API_DO_NOT_USE _NOT_USE
# define pl_getLineAscent_4_0 pl_getLineAscent_INTERNAL_API_DO_NOT_U # define pl_getLeading_4_1.2 pl_getLeading_INTERNAL_API_DO_NOT_USE
SE # define pl_getLineAscent_4_1.2 pl_getLineAscent_INTERNAL_API_DO_NOT
# define pl_getLineDescent_4_0 pl_getLineDescent_INTERNAL_API_DO_NOT _USE
_USE # define pl_getLineDescent_4_1.2 pl_getLineDescent_INTERNAL_API_DO_N
# define pl_getLineLeading_4_0 pl_getLineLeading_INTERNAL_API_DO_NOT OT_USE
_USE # define pl_getLineLeading_4_1.2 pl_getLineLeading_INTERNAL_API_DO_N
# define pl_getLineVisualRun_4_0 pl_getLineVisualRun_INTERNAL_API_DO OT_USE
_NOT_USE # define pl_getLineVisualRun_4_1.2 pl_getLineVisualRun_INTERNAL_API_
# define pl_getLineWidth_4_0 pl_getLineWidth_INTERNAL_API_DO_NOT_USE DO_NOT_USE
# define pl_getLocaleRunCount_4_0 pl_getLocaleRunCount_INTERNAL_API_ # define pl_getLineWidth_4_1.2 pl_getLineWidth_INTERNAL_API_DO_NOT_U
DO_NOT_USE SE
# define pl_getLocaleRunLastLimit_4_0 pl_getLocaleRunLastLimit_INTER # define pl_getLocaleRunCount_4_1.2 pl_getLocaleRunCount_INTERNAL_AP
NAL_API_DO_NOT_USE I_DO_NOT_USE
# define pl_getLocaleRunLimit_4_0 pl_getLocaleRunLimit_INTERNAL_API_ # define pl_getLocaleRunLastLimit_4_1.2 pl_getLocaleRunLastLimit_INT
DO_NOT_USE ERNAL_API_DO_NOT_USE
# define pl_getLocaleRunLocale_4_0 pl_getLocaleRunLocale_INTERNAL_AP # define pl_getLocaleRunLimit_4_1.2 pl_getLocaleRunLimit_INTERNAL_AP
I_DO_NOT_USE I_DO_NOT_USE
# define pl_getParagraphLevel_4_0 pl_getParagraphLevel_INTERNAL_API_ # define pl_getLocaleRunLocale_4_1.2 pl_getLocaleRunLocale_INTERNAL_
DO_NOT_USE API_DO_NOT_USE
# define pl_getTextDirection_4_0 pl_getTextDirection_INTERNAL_API_DO # define pl_getParagraphLevel_4_1.2 pl_getParagraphLevel_INTERNAL_AP
_NOT_USE I_DO_NOT_USE
# define pl_getValueRunCount_4_0 pl_getValueRunCount_INTERNAL_API_DO # define pl_getTextDirection_4_1.2 pl_getTextDirection_INTERNAL_API_
_NOT_USE DO_NOT_USE
# define pl_getValueRunLastLimit_4_0 pl_getValueRunLastLimit_INTERNA # define pl_getValueRunCount_4_1.2 pl_getValueRunCount_INTERNAL_API_
L_API_DO_NOT_USE DO_NOT_USE
# define pl_getValueRunLimit_4_0 pl_getValueRunLimit_INTERNAL_API_DO # define pl_getValueRunLastLimit_4_1.2 pl_getValueRunLastLimit_INTER
_NOT_USE NAL_API_DO_NOT_USE
# define pl_getValueRunValue_4_0 pl_getValueRunValue_INTERNAL_API_DO # define pl_getValueRunLimit_4_1.2 pl_getValueRunLimit_INTERNAL_API_
_NOT_USE DO_NOT_USE
# define pl_getVisualRunAscent_4_0 pl_getVisualRunAscent_INTERNAL_AP # define pl_getValueRunValue_4_1.2 pl_getValueRunValue_INTERNAL_API_
I_DO_NOT_USE DO_NOT_USE
# define pl_getVisualRunDescent_4_0 pl_getVisualRunDescent_INTERNAL_ # define pl_getVisualRunAscent_4_1.2 pl_getVisualRunAscent_INTERNAL_
API_DO_NOT_USE API_DO_NOT_USE
# define pl_getVisualRunDirection_4_0 pl_getVisualRunDirection_INTER # define pl_getVisualRunDescent_4_1.2 pl_getVisualRunDescent_INTERNA
NAL_API_DO_NOT_USE L_API_DO_NOT_USE
# define pl_getVisualRunFont_4_0 pl_getVisualRunFont_INTERNAL_API_DO # define pl_getVisualRunDirection_4_1.2 pl_getVisualRunDirection_INT
_NOT_USE ERNAL_API_DO_NOT_USE
# define pl_getVisualRunGlyphCount_4_0 pl_getVisualRunGlyphCount_INT # define pl_getVisualRunFont_4_1.2 pl_getVisualRunFont_INTERNAL_API_
ERNAL_API_DO_NOT_USE DO_NOT_USE
# define pl_getVisualRunGlyphToCharMap_4_0 pl_getVisualRunGlyphToCha # define pl_getVisualRunGlyphCount_4_1.2 pl_getVisualRunGlyphCount_I
rMap_INTERNAL_API_DO_NOT_USE NTERNAL_API_DO_NOT_USE
# define pl_getVisualRunGlyphs_4_0 pl_getVisualRunGlyphs_INTERNAL_AP # define pl_getVisualRunGlyphToCharMap_4_1.2 pl_getVisualRunGlyphToC
I_DO_NOT_USE harMap_INTERNAL_API_DO_NOT_USE
# define pl_getVisualRunLeading_4_0 pl_getVisualRunLeading_INTERNAL_ # define pl_getVisualRunGlyphs_4_1.2 pl_getVisualRunGlyphs_INTERNAL_
API_DO_NOT_USE API_DO_NOT_USE
# define pl_getVisualRunPositions_4_0 pl_getVisualRunPositions_INTER # define pl_getVisualRunLeading_4_1.2 pl_getVisualRunLeading_INTERNA
NAL_API_DO_NOT_USE L_API_DO_NOT_USE
# define pl_isComplex_4_0 pl_isComplex_INTERNAL_API_DO_NOT_USE # define pl_getVisualRunPositions_4_1.2 pl_getVisualRunPositions_INT
# define pl_line_4_0 pl_line_INTERNAL_API_DO_NOT_USE ERNAL_API_DO_NOT_USE
# define pl_nextLine_4_0 pl_nextLine_INTERNAL_API_DO_NOT_USE # define pl_isComplex_4_1.2 pl_isComplex_INTERNAL_API_DO_NOT_USE
# define pl_openEmptyFontRuns_4_0 pl_openEmptyFontRuns_INTERNAL_API_ # define pl_line_4_1.2 pl_line_INTERNAL_API_DO_NOT_USE
DO_NOT_USE # define pl_nextLine_4_1.2 pl_nextLine_INTERNAL_API_DO_NOT_USE
# define pl_openEmptyLocaleRuns_4_0 pl_openEmptyLocaleRuns_INTERNAL_ # define pl_openEmptyFontRuns_4_1.2 pl_openEmptyFontRuns_INTERNAL_AP
API_DO_NOT_USE I_DO_NOT_USE
# define pl_openEmptyValueRuns_4_0 pl_openEmptyValueRuns_INTERNAL_AP # define pl_openEmptyLocaleRuns_4_1.2 pl_openEmptyLocaleRuns_INTERNA
I_DO_NOT_USE L_API_DO_NOT_USE
# define pl_openFontRuns_4_0 pl_openFontRuns_INTERNAL_API_DO_NOT_USE # define pl_openEmptyValueRuns_4_1.2 pl_openEmptyValueRuns_INTERNAL_
# define pl_openLocaleRuns_4_0 pl_openLocaleRuns_INTERNAL_API_DO_NOT API_DO_NOT_USE
_USE # define pl_openFontRuns_4_1.2 pl_openFontRuns_INTERNAL_API_DO_NOT_U
# define pl_openValueRuns_4_0 pl_openValueRuns_INTERNAL_API_DO_NOT_U SE
SE # define pl_openLocaleRuns_4_1.2 pl_openLocaleRuns_INTERNAL_API_DO_N
# define pl_paragraph_4_0 pl_paragraph_INTERNAL_API_DO_NOT_USE OT_USE
# define pl_reflow_4_0 pl_reflow_INTERNAL_API_DO_NOT_USE # define pl_openValueRuns_4_1.2 pl_openValueRuns_INTERNAL_API_DO_NOT
# define pl_resetFontRuns_4_0 pl_resetFontRuns_INTERNAL_API_DO_NOT_U _USE
SE # define pl_paragraph_4_1.2 pl_paragraph_INTERNAL_API_DO_NOT_USE
# define pl_resetLocaleRuns_4_0 pl_resetLocaleRuns_INTERNAL_API_DO_N # define pl_reflow_4_1.2 pl_reflow_INTERNAL_API_DO_NOT_USE
OT_USE # define pl_resetFontRuns_4_1.2 pl_resetFontRuns_INTERNAL_API_DO_NOT
# define pl_resetValueRuns_4_0 pl_resetValueRuns_INTERNAL_API_DO_NOT _USE
_USE # define pl_resetLocaleRuns_4_1.2 pl_resetLocaleRuns_INTERNAL_API_DO
# define pl_visualRun_4_0 pl_visualRun_INTERNAL_API_DO_NOT_USE _NOT_USE
# define ucol_equals_4_0 ucol_equals_INTERNAL_API_DO_NOT_USE # define pl_resetValueRuns_4_1.2 pl_resetValueRuns_INTERNAL_API_DO_N
# define ucol_forgetUCA_4_0 ucol_forgetUCA_INTERNAL_API_DO_NOT_USE OT_USE
# define ucol_getAttributeOrDefault_4_0 ucol_getAttributeOrDefault_I # define pl_visualRun_4_1.2 pl_visualRun_INTERNAL_API_DO_NOT_USE
NTERNAL_API_DO_NOT_USE # define ucol_equals_4_1.2 ucol_equals_INTERNAL_API_DO_NOT_USE
# define ucol_getUnsafeSet_4_0 ucol_getUnsafeSet_INTERNAL_API_DO_NOT # define ucol_forgetUCA_4_1.2 ucol_forgetUCA_INTERNAL_API_DO_NOT_USE
_USE # define ucol_getAttributeOrDefault_4_1.2 ucol_getAttributeOrDefault
# define ucol_nextProcessed_4_0 ucol_nextProcessed_INTERNAL_API_DO_N _INTERNAL_API_DO_NOT_USE
OT_USE # define ucol_getUnsafeSet_4_1.2 ucol_getUnsafeSet_INTERNAL_API_DO_N
# define ucol_prepareShortStringOpen_4_0 ucol_prepareShortStringOpen OT_USE
_INTERNAL_API_DO_NOT_USE # define ucol_nextProcessed_4_1.2 ucol_nextProcessed_INTERNAL_API_DO
# define ucol_previousProcessed_4_0 ucol_previousProcessed_INTERNAL_ _NOT_USE
API_DO_NOT_USE # define ucol_prepareShortStringOpen_4_1.2 ucol_prepareShortStringOp
# define uprv_getDefaultCodepage_4_0 uprv_getDefaultCodepage_INTERNA en_INTERNAL_API_DO_NOT_USE
L_API_DO_NOT_USE # define ucol_previousProcessed_4_1.2 ucol_previousProcessed_INTERNA
# define uprv_getDefaultLocaleID_4_0 uprv_getDefaultLocaleID_INTERNA L_API_DO_NOT_USE
L_API_DO_NOT_USE # define uprv_getDefaultCodepage_4_1.2 uprv_getDefaultCodepage_INTER
# define ures_openFillIn_4_0 ures_openFillIn_INTERNAL_API_DO_NOT_USE NAL_API_DO_NOT_USE
# define usearch_searchBackwards_4_0 usearch_searchBackwards_INTERNA # define uprv_getDefaultLocaleID_4_1.2 uprv_getDefaultLocaleID_INTER
L_API_DO_NOT_USE NAL_API_DO_NOT_USE
# define usearch_search_4_0 usearch_search_INTERNAL_API_DO_NOT_USE # define ures_openFillIn_4_1.2 ures_openFillIn_INTERNAL_API_DO_NOT_U
# define utf8_appendCharSafeBody_4_0 utf8_appendCharSafeBody_INTERNA SE
L_API_DO_NOT_USE # define usearch_searchBackwards_4_1.2 usearch_searchBackwards_INTER
# define utf8_back1SafeBody_4_0 utf8_back1SafeBody_INTERNAL_API_DO_N NAL_API_DO_NOT_USE
OT_USE # define usearch_search_4_1.2 usearch_search_INTERNAL_API_DO_NOT_USE
# define utf8_countTrailBytes_4_0 utf8_countTrailBytes_INTERNAL_API_ # define utf8_appendCharSafeBody_4_1.2 utf8_appendCharSafeBody_INTER
DO_NOT_USE NAL_API_DO_NOT_USE
# define utf8_nextCharSafeBody_4_0 utf8_nextCharSafeBody_INTERNAL_AP # define utf8_back1SafeBody_4_1.2 utf8_back1SafeBody_INTERNAL_API_DO
I_DO_NOT_USE _NOT_USE
# define utf8_prevCharSafeBody_4_0 utf8_prevCharSafeBody_INTERNAL_AP # define utf8_countTrailBytes_4_1.2 utf8_countTrailBytes_INTERNAL_AP
I_DO_NOT_USE I_DO_NOT_USE
# define utf8_nextCharSafeBody_4_1.2 utf8_nextCharSafeBody_INTERNAL_
API_DO_NOT_USE
# define utf8_prevCharSafeBody_4_1.2 utf8_prevCharSafeBody_INTERNAL_
API_DO_NOT_USE
# endif /* U_DISABLE_RENAMING */ # endif /* U_DISABLE_RENAMING */
#endif /* U_HIDE_INTERNAL_API */ #endif /* U_HIDE_INTERNAL_API */
#endif /* UINTRNAL_H */ #endif /* UINTRNAL_H */
 End of changes. 2 change blocks. 
128 lines changed or deleted 132 lines changed or added


 uloc.h   uloc.h 
/* /*
********************************************************************** **********************************************************************
* Copyright (C) 1997-2008, International Business Machines * Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
********************************************************************** **********************************************************************
* *
* File ULOC.H * File ULOC.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 04/01/97 aliu Creation. * 04/01/97 aliu Creation.
* 08/22/98 stephen JDK 1.2 sync. * 08/22/98 stephen JDK 1.2 sync.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 ulocdata.h   ulocdata.h 
/* /*
*************************************************************************** *** *************************************************************************** ***
* * * *
* Copyright (C) 2003-2007, International Business Machines * * Copyright (C) 2003-2009, International Business Machines *
* Corporation and others. All Rights Reserved. * * Corporation and others. All Rights Reserved. *
* * * *
*************************************************************************** *** *************************************************************************** ***
* file name: ulocdata.h * file name: ulocdata.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2003Oct21 * created on: 2003Oct21
* created by: Ram Viswanadha * created by: Ram Viswanadha
skipping to change at line 192 skipping to change at line 192
* @param localeID The id of the locale for which the paper size infor mation to be retrieved. * @param localeID The id of the locale for which the paper size infor mation to be retrieved.
* @param height A pointer to int to recieve the height information. * @param height A pointer to int to recieve the height information.
* @param width A pointer to int to recieve the width information. * @param width A pointer to int to recieve the width information.
* @param status Must be a valid pointer to an error code value, * @param status Must be a valid pointer to an error code value,
* which must not indicate a failure before the functi on call. * which must not indicate a failure before the functi on call.
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width , UErrorCode *status); ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width , UErrorCode *status);
/**
* Return the current CLDR version used by the library.
* @param versionArray fillin that will recieve the version number
* @param status error code - could be U_MISSING_RESOURCE_ERROR if the vers
ion was not found.
* @draft ICU 4.2
*/
U_DRAFT void U_EXPORT2
ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status);
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 11 lines changed or added


 umachine.h   umachine.h 
skipping to change at line 115 skipping to change at line 115
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) #if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
# define U_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated)) # define U_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated))
/** This is used for Visual C++ specific attributes */ /** This is used for Visual C++ specific attributes */
#elif defined(U_WINDOWS) && defined(_MSC_VER) && (_MSC_VER >= 1400) #elif defined(U_WINDOWS) && defined(_MSC_VER) && (_MSC_VER >= 1400)
# define U_ATTRIBUTE_DEPRECATED __declspec(deprecated) # define U_ATTRIBUTE_DEPRECATED __declspec(deprecated)
#else #else
# define U_ATTRIBUTE_DEPRECATED # define U_ATTRIBUTE_DEPRECATED
#endif #endif
/** This is used to declare a function as a public ICU C API @stable ICU 2. 0*/ /** This is used to declare a function as a public ICU C API @stable ICU 2. 0*/
#define U_CAPI U_CFUNC U_EXPORT #define U_CAPI U_CFUNC U_EXPORT
/** This is used to declare a function as a stable public ICU C API*/
#define U_STABLE U_CAPI #define U_STABLE U_CAPI
/** This is used to declare a function as a draft public ICU C API */
#define U_DRAFT U_CAPI #define U_DRAFT U_CAPI
/** This is used to declare a function as a deprecated public ICU C API */
#define U_DEPRECATED U_CAPI U_ATTRIBUTE_DEPRECATED #define U_DEPRECATED U_CAPI U_ATTRIBUTE_DEPRECATED
/** This is used to declare a function as an obsolete public ICU C API */
#define U_OBSOLETE U_CAPI #define U_OBSOLETE U_CAPI
/** This is used to declare a function as an internal ICU C API */
#define U_INTERNAL U_CAPI #define U_INTERNAL U_CAPI
/*========================================================================= =*/ /*========================================================================= =*/
/* limits for int32_t etc., like in POSIX inttypes.h */ /* limits for int32_t etc., like in POSIX inttypes.h */
/*========================================================================= =*/ /*========================================================================= =*/
#ifndef INT8_MIN #ifndef INT8_MIN
/** The smallest value an 8 bit signed integer can hold @stable ICU 2.0 */ /** The smallest value an 8 bit signed integer can hold @stable ICU 2.0 */
# define INT8_MIN ((int8_t)(-128)) # define INT8_MIN ((int8_t)(-128))
#endif #endif
skipping to change at line 335 skipping to change at line 340
* This is used to align code fragments to a specific byte boundary. * This is used to align code fragments to a specific byte boundary.
* This is useful for getting consistent performance test results. * This is useful for getting consistent performance test results.
* @internal * @internal
*/ */
#ifndef U_ALIGN_CODE #ifndef U_ALIGN_CODE
# define U_ALIGN_CODE(n) # define U_ALIGN_CODE(n)
#endif #endif
#endif /* U_HIDE_INTERNAL_API */ #endif /* U_HIDE_INTERNAL_API */
/**
* \def U_INLINE
* This is used to request inlining of a function, on platforms and languag
es which support it.
*/
#ifndef U_INLINE #ifndef U_INLINE
# ifdef XP_CPLUSPLUS # ifdef XP_CPLUSPLUS
# define U_INLINE inline # define U_INLINE inline
# else # else
# define U_INLINE # define U_INLINE
# endif # endif
#endif #endif
#include "unicode/urename.h" #include "unicode/urename.h"
 End of changes. 6 change blocks. 
0 lines changed or deleted 11 lines changed or added


 unum.h   unum.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 1997-2008, International Business Machines Corporation and others. * Copyright (C) 1997-2009, International Business Machines Corporation and others.
* All Rights Reserved. * All Rights Reserved.
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 06/24/99 helena Integrated Alan's NF enhancements and Java2 bug fixes * 06/24/99 helena Integrated Alan's NF enhancements and Java2 bug fixes
*************************************************************************** **** *************************************************************************** ****
*/ */
#ifndef _UNUM #ifndef _UNUM
#define _UNUM #define _UNUM
skipping to change at line 161 skipping to change at line 161
* Ordinal rule-based format * Ordinal rule-based format
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
UNUM_ORDINAL, UNUM_ORDINAL,
/** /**
* Duration rule-based format * Duration rule-based format
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
UNUM_DURATION, UNUM_DURATION,
/** /**
* Numbering system rule-based format
* @draft ICU 4.2
*/
UNUM_NUMBERING_SYSTEM,
/**
* Rule-based format defined by pattern * Rule-based format defined by pattern
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
UNUM_PATTERN_RULEBASED, UNUM_PATTERN_RULEBASED,
/** Default format */ /** Default format */
UNUM_DEFAULT = UNUM_DECIMAL, UNUM_DEFAULT = UNUM_DECIMAL,
/** (Alias for UNUM_PATTERN_DECIMAL) */ /** (Alias for UNUM_PATTERN_DECIMAL) */
UNUM_IGNORE = UNUM_PATTERN_DECIMAL UNUM_IGNORE = UNUM_PATTERN_DECIMAL
} UNumberFormatStyle; } UNumberFormatStyle;
 End of changes. 2 change blocks. 
1 lines changed or deleted 6 lines changed or added


 uobject.h   uobject.h 
/* /*
*************************************************************************** *** *************************************************************************** ***
* *
* Copyright (C) 2002-2007, International Business Machines * Copyright (C) 2002-2008, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** *** *************************************************************************** ***
* file name: uobject.h * file name: uobject.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2002jun26 * created on: 2002jun26
* created by: Markus W. Scherer * created by: Markus W. Scherer
skipping to change at line 61 skipping to change at line 61
/** U_HAVE_DEBUG_LOCATION_NEW - Define this to define the MFC debug /** U_HAVE_DEBUG_LOCATION_NEW - Define this to define the MFC debug
* version of the operator new. * version of the operator new.
* *
* @stable ICU 3.4 * @stable ICU 3.4
*/ */
#ifndef U_HAVE_DEBUG_LOCATION_NEW #ifndef U_HAVE_DEBUG_LOCATION_NEW
#define U_HAVE_DEBUG_LOCATION_NEW 0 #define U_HAVE_DEBUG_LOCATION_NEW 0
#endif #endif
/** U_NO_THROW - Define this to define the throw() specification so
certain functions do not throw any exceptions
*
* UMemory operator new methods should have the throw() specificati
on
* appended to them, so that the compiler adds the additional NULL
check
* before calling constructors. Without, if operator new returns NU
LL the
* constructor is still called, and if the constructor references m
ember
* data, (which it typically does), the result is a segmentation vi
olation.
*
* @new ICU 4.2
*/
#ifndef U_NO_THROW
#define U_NO_THROW throw()
#endif
/** /**
* UMemory is the common ICU base class. * UMemory is the common ICU base class.
* All other ICU C++ classes are derived from UMemory (starting with ICU 2. 4). * All other ICU C++ classes are derived from UMemory (starting with ICU 2. 4).
* *
* This is primarily to make it possible and simple to override the * This is primarily to make it possible and simple to override the
* C++ memory management by adding new/delete operators to this base class. * C++ memory management by adding new/delete operators to this base class.
* *
* To override ALL ICU memory management, including that from plain C code, * To override ALL ICU memory management, including that from plain C code,
* replace the allocation functions declared in cmemory.h * replace the allocation functions declared in cmemory.h
* *
* UMemory does not contain any virtual functions. * UMemory does not contain any virtual functions.
* Common "boilerplate" functions are defined in UObject. * Common "boilerplate" functions are defined in UObject.
* *
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
class U_COMMON_API UMemory { class U_COMMON_API UMemory {
public: public:
/* test versions for debugging shaper heap memory problems */
#ifdef SHAPER_MEMORY_DEBUG
static void * NewArray(int size, int count);
static void * GrowArray(void * array, int newSize );
static void FreeArray(void * array );
#endif
#if U_OVERRIDE_CXX_ALLOCATION #if U_OVERRIDE_CXX_ALLOCATION
/** /**
* Override for ICU4C C++ memory management. * Override for ICU4C C++ memory management.
* simple, non-class types are allocated using the macros in common/cme mory.h * simple, non-class types are allocated using the macros in common/cme mory.h
* (uprv_malloc(), uprv_free(), uprv_realloc()); * (uprv_malloc(), uprv_free(), uprv_realloc());
* they or something else could be used here to implement C++ new/delet e * they or something else could be used here to implement C++ new/delet e
* for ICU4C C++ classes * for ICU4C C++ classes
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static void * U_EXPORT2 operator new(size_t size); static void * U_EXPORT2 operator new(size_t size) U_NO_THROW;
/** /**
* Override for ICU4C C++ memory management. * Override for ICU4C C++ memory management.
* See new(). * See new().
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static void * U_EXPORT2 operator new[](size_t size); static void * U_EXPORT2 operator new[](size_t size) U_NO_THROW;
/** /**
* Override for ICU4C C++ memory management. * Override for ICU4C C++ memory management.
* simple, non-class types are allocated using the macros in common/cme mory.h * simple, non-class types are allocated using the macros in common/cme mory.h
* (uprv_malloc(), uprv_free(), uprv_realloc()); * (uprv_malloc(), uprv_free(), uprv_realloc());
* they or something else could be used here to implement C++ new/delet e * they or something else could be used here to implement C++ new/delet e
* for ICU4C C++ classes * for ICU4C C++ classes
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static void U_EXPORT2 operator delete(void *p); static void U_EXPORT2 operator delete(void *p) U_NO_THROW;
/** /**
* Override for ICU4C C++ memory management. * Override for ICU4C C++ memory management.
* See delete(). * See delete().
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static void U_EXPORT2 operator delete[](void *p); static void U_EXPORT2 operator delete[](void *p) U_NO_THROW;
#if U_HAVE_PLACEMENT_NEW #if U_HAVE_PLACEMENT_NEW
/** /**
* Override for ICU4C C++ memory management for STL. * Override for ICU4C C++ memory management for STL.
* See new(). * See new().
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
static inline void * U_EXPORT2 operator new(size_t, void *ptr) { return ptr; } static inline void * U_EXPORT2 operator new(size_t, void *ptr) U_NO_THR OW { return ptr; }
/** /**
* Override for ICU4C C++ memory management for STL. * Override for ICU4C C++ memory management for STL.
* See delete(). * See delete().
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
static inline void U_EXPORT2 operator delete(void *, void *) {} static inline void U_EXPORT2 operator delete(void *, void *) U_NO_THROW {}
#endif /* U_HAVE_PLACEMENT_NEW */ #endif /* U_HAVE_PLACEMENT_NEW */
#if U_HAVE_DEBUG_LOCATION_NEW #if U_HAVE_DEBUG_LOCATION_NEW
/** /**
* This method overrides the MFC debug version of the operator new * This method overrides the MFC debug version of the operator new
* *
* @param size The requested memory size * @param size The requested memory size
* @param file The file where the allocation was requested * @param file The file where the allocation was requested
* @param line The line where the allocation was requested * @param line The line where the allocation was requested
*/ */
static void * U_EXPORT2 operator new(size_t size, const char* file, int line); static void * U_EXPORT2 operator new(size_t size, const char* file, int line) U_NO_THROW;
/** /**
* This method provides a matching delete for the MFC debug new * This method provides a matching delete for the MFC debug new
* *
* @param p The pointer to the allocated memory * @param p The pointer to the allocated memory
* @param file The file where the allocation was requested * @param file The file where the allocation was requested
* @param line The line where the allocation was requested * @param line The line where the allocation was requested
*/ */
static void U_EXPORT2 operator delete(void* p, const char* file, int li ne); static void U_EXPORT2 operator delete(void* p, const char* file, int li ne) U_NO_THROW;
#endif /* U_HAVE_DEBUG_LOCATION_NEW */ #endif /* U_HAVE_DEBUG_LOCATION_NEW */
#endif /* U_OVERRIDE_CXX_ALLOCATION */ #endif /* U_OVERRIDE_CXX_ALLOCATION */
/* /*
* Assignment operator not declared. The compiler will provide one * Assignment operator not declared. The compiler will provide one
* which does nothing since this class does not contain any data member s. * which does nothing since this class does not contain any data member s.
* API/code coverage may show the assignment operator as present and * API/code coverage may show the assignment operator as present and
* untested - ignore. * untested - ignore.
* Subclasses need this assignment operator if they use compiler-provid ed * Subclasses need this assignment operator if they use compiler-provid ed
* assignment operators of their own. An alternative to not declaring o ne * assignment operators of their own. An alternative to not declaring o ne
 End of changes. 11 change blocks. 
9 lines changed or deleted 36 lines changed or added


 uobslete.h   uobslete.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2008, International Business Machines * Copyright (C) 2004-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name:
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 uregex.h   uregex.h 
skipping to change at line 70 skipping to change at line 70
UREGEX_DOTALL = 32, UREGEX_DOTALL = 32,
/** If set, treat the entire pattern as a literal string. /** If set, treat the entire pattern as a literal string.
* Metacharacters or escape sequences in the input sequence will be g iven * Metacharacters or escape sequences in the input sequence will be g iven
* no special meaning. * no special meaning.
* *
* The flags CASE_INSENSITIVE and UNICODE_CASE retain their impact * The flags CASE_INSENSITIVE and UNICODE_CASE retain their impact
* on matching when used in conjunction with this flag. * on matching when used in conjunction with this flag.
* The other flags become superfluous. * The other flags become superfluous.
* TODO: say which escapes are still handled; anything Java does * TODO: say which escapes are still handled; anything Java does
* early (\u) we should still do. * early (\\u) we should still do.
* @draft ICU 4.0 * @draft ICU 4.0
*/ */
UREGEX_LITERAL = 16, UREGEX_LITERAL = 16,
/** Control behavior of "$" and "^" /** Control behavior of "$" and "^"
* If set, recognize line terminators within string, * If set, recognize line terminators within string,
* otherwise, match only at start and end of input string. * otherwise, match only at start and end of input string.
* @stable ICU 2.4 */ * @stable ICU 2.4 */
UREGEX_MULTILINE = 8, UREGEX_MULTILINE = 8,
/** Unix-only line endings. /** Unix-only line endings.
* When this mode is enabled, only \u000a is recognized as a line en ding * When this mode is enabled, only \\u000a is recognized as a line e nding
* in the behavior of ., ^, and $. * in the behavior of ., ^, and $.
* @draft ICU 4.0 * @draft ICU 4.0
*/ */
UREGEX_UNIX_LINES = 1, UREGEX_UNIX_LINES = 1,
/** Unicode word boundaries. /** Unicode word boundaries.
* If set, \b uses the Unicode TR 29 definition of word boundaries . * If set, \b uses the Unicode TR 29 definition of word boundaries .
* Warning: Unicode word boundaries are quite different from * Warning: Unicode word boundaries are quite different from
* traditional regular expression word boundaries. See * traditional regular expression word boundaries. See
* http://unicode.org/reports/tr29/#Word_Boundaries * http://unicode.org/reports/tr29/#Word_Boundaries
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 urename.h   urename.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2002-2008, International Business Machines * Copyright (C) 2002-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: urename.h * file name: urename.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: Perl script written by Vladimir Weinstein * Created by: Perl script written by Vladimir Weinstein
* *
skipping to change at line 83 skipping to change at line 83
#define _MBCSData _MBCSData_4_1 #define _MBCSData _MBCSData_4_1
#define _SCSUData _SCSUData_4_1 #define _SCSUData _SCSUData_4_1
#define _UTF16BEData _UTF16BEData_4_1 #define _UTF16BEData _UTF16BEData_4_1
#define _UTF16Data _UTF16Data_4_1 #define _UTF16Data _UTF16Data_4_1
#define _UTF16LEData _UTF16LEData_4_1 #define _UTF16LEData _UTF16LEData_4_1
#define _UTF32BEData _UTF32BEData_4_1 #define _UTF32BEData _UTF32BEData_4_1
#define _UTF32Data _UTF32Data_4_1 #define _UTF32Data _UTF32Data_4_1
#define _UTF32LEData _UTF32LEData_4_1 #define _UTF32LEData _UTF32LEData_4_1
#define _UTF7Data _UTF7Data_4_1 #define _UTF7Data _UTF7Data_4_1
#define _UTF8Data _UTF8Data_4_1 #define _UTF8Data _UTF8Data_4_1
#define bms_close bms_close_4_1
#define bms_empty bms_empty_4_1
#define bms_getData bms_getData_4_1
#define bms_open bms_open_4_1
#define bms_search bms_search_4_1
#define bms_setTargetString bms_setTargetString_4_1
#define cmemory_cleanup cmemory_cleanup_4_1 #define cmemory_cleanup cmemory_cleanup_4_1
#define cmemory_inUse cmemory_inUse_4_1 #define cmemory_inUse cmemory_inUse_4_1
#define compareBinaryFiles compareBinaryFiles_4_1 #define deleteCEList deleteCEList_4_1
#define deleteChars deleteChars_4_1
#define deleteCollDataCacheEntry deleteCollDataCacheEntry_4_1
#define deleteStringList deleteStringList_4_1
#define deleteUnicodeStringKey deleteUnicodeStringKey_4_1
#define le_close le_close_4_1 #define le_close le_close_4_1
#define le_create le_create_4_1 #define le_create le_create_4_1
#define le_getCharIndices le_getCharIndices_4_1 #define le_getCharIndices le_getCharIndices_4_1
#define le_getCharIndicesWithBase le_getCharIndicesWithBase_4_1 #define le_getCharIndicesWithBase le_getCharIndicesWithBase_4_1
#define le_getGlyphCount le_getGlyphCount_4_1 #define le_getGlyphCount le_getGlyphCount_4_1
#define le_getGlyphPosition le_getGlyphPosition_4_1 #define le_getGlyphPosition le_getGlyphPosition_4_1
#define le_getGlyphPositions le_getGlyphPositions_4_1 #define le_getGlyphPositions le_getGlyphPositions_4_1
#define le_getGlyphs le_getGlyphs_4_1 #define le_getGlyphs le_getGlyphs_4_1
#define le_layoutChars le_layoutChars_4_1 #define le_layoutChars le_layoutChars_4_1
#define le_reset le_reset_4_1 #define le_reset le_reset_4_1
skipping to change at line 164 skipping to change at line 174
#define res_getAlias res_getAlias_4_1 #define res_getAlias res_getAlias_4_1
#define res_getArrayItem res_getArrayItem_4_1 #define res_getArrayItem res_getArrayItem_4_1
#define res_getBinary res_getBinary_4_1 #define res_getBinary res_getBinary_4_1
#define res_getIntVector res_getIntVector_4_1 #define res_getIntVector res_getIntVector_4_1
#define res_getResource res_getResource_4_1 #define res_getResource res_getResource_4_1
#define res_getString res_getString_4_1 #define res_getString res_getString_4_1
#define res_getTableItemByIndex res_getTableItemByIndex_4_1 #define res_getTableItemByIndex res_getTableItemByIndex_4_1
#define res_getTableItemByKey res_getTableItemByKey_4_1 #define res_getTableItemByKey res_getTableItemByKey_4_1
#define res_load res_load_4_1 #define res_load res_load_4_1
#define res_unload res_unload_4_1 #define res_unload res_unload_4_1
#define searchForTZFile searchForTZFile_4_1
#define transliterator_cleanup transliterator_cleanup_4_1
#define triedict_swap triedict_swap_4_1 #define triedict_swap triedict_swap_4_1
#define u_UCharsToChars u_UCharsToChars_4_1 #define u_UCharsToChars u_UCharsToChars_4_1
#define u_austrcpy u_austrcpy_4_1 #define u_austrcpy u_austrcpy_4_1
#define u_austrncpy u_austrncpy_4_1 #define u_austrncpy u_austrncpy_4_1
#define u_catclose u_catclose_4_1 #define u_catclose u_catclose_4_1
#define u_catgets u_catgets_4_1 #define u_catgets u_catgets_4_1
#define u_catopen u_catopen_4_1 #define u_catopen u_catopen_4_1
#define u_charAge u_charAge_4_1 #define u_charAge u_charAge_4_1
#define u_charDigitValue u_charDigitValue_4_1 #define u_charDigitValue u_charDigitValue_4_1
#define u_charDirection u_charDirection_4_1 #define u_charDirection u_charDirection_4_1
#define u_charFromName u_charFromName_4_1 #define u_charFromName u_charFromName_4_1
#define u_charMirror u_charMirror_4_1 #define u_charMirror u_charMirror_4_1
#define u_charName u_charName_4_1 #define u_charName u_charName_4_1
#define u_charType u_charType_4_1 #define u_charType u_charType_4_1
#define u_charsToUChars u_charsToUChars_4_1 #define u_charsToUChars u_charsToUChars_4_1
#define u_cleanup u_cleanup_4_1 #define u_cleanup u_cleanup_4_1
#define u_compareVersions u_compareVersions_4_1
#define u_countChar32 u_countChar32_4_1 #define u_countChar32 u_countChar32_4_1
#define u_digit u_digit_4_1 #define u_digit u_digit_4_1
#define u_enumCharNames u_enumCharNames_4_1 #define u_enumCharNames u_enumCharNames_4_1
#define u_enumCharTypes u_enumCharTypes_4_1 #define u_enumCharTypes u_enumCharTypes_4_1
#define u_errorName u_errorName_4_1 #define u_errorName u_errorName_4_1
#define u_fclose u_fclose_4_1 #define u_fclose u_fclose_4_1
#define u_feof u_feof_4_1 #define u_feof u_feof_4_1
#define u_fflush u_fflush_4_1 #define u_fflush u_fflush_4_1
#define u_fgetConverter u_fgetConverter_4_1 #define u_fgetConverter u_fgetConverter_4_1
#define u_fgetc u_fgetc_4_1 #define u_fgetc u_fgetc_4_1
skipping to change at line 353 skipping to change at line 362
#define u_terminateUChars u_terminateUChars_4_1 #define u_terminateUChars u_terminateUChars_4_1
#define u_terminateWChars u_terminateWChars_4_1 #define u_terminateWChars u_terminateWChars_4_1
#define u_tolower u_tolower_4_1 #define u_tolower u_tolower_4_1
#define u_totitle u_totitle_4_1 #define u_totitle u_totitle_4_1
#define u_toupper u_toupper_4_1 #define u_toupper u_toupper_4_1
#define u_uastrcpy u_uastrcpy_4_1 #define u_uastrcpy u_uastrcpy_4_1
#define u_uastrncpy u_uastrncpy_4_1 #define u_uastrncpy u_uastrncpy_4_1
#define u_unescape u_unescape_4_1 #define u_unescape u_unescape_4_1
#define u_unescapeAt u_unescapeAt_4_1 #define u_unescapeAt u_unescapeAt_4_1
#define u_versionFromString u_versionFromString_4_1 #define u_versionFromString u_versionFromString_4_1
#define u_versionFromUString u_versionFromUString_4_1
#define u_versionToString u_versionToString_4_1 #define u_versionToString u_versionToString_4_1
#define u_vformatMessage u_vformatMessage_4_1 #define u_vformatMessage u_vformatMessage_4_1
#define u_vformatMessageWithError u_vformatMessageWithError_4_1 #define u_vformatMessageWithError u_vformatMessageWithError_4_1
#define u_vfprintf u_vfprintf_4_1 #define u_vfprintf u_vfprintf_4_1
#define u_vfprintf_u u_vfprintf_u_4_1 #define u_vfprintf_u u_vfprintf_u_4_1
#define u_vfscanf u_vfscanf_4_1 #define u_vfscanf u_vfscanf_4_1
#define u_vfscanf_u u_vfscanf_u_4_1 #define u_vfscanf_u u_vfscanf_u_4_1
#define u_vparseMessage u_vparseMessage_4_1 #define u_vparseMessage u_vparseMessage_4_1
#define u_vparseMessageWithError u_vparseMessageWithError_4_1 #define u_vparseMessageWithError u_vparseMessageWithError_4_1
#define u_vsnprintf u_vsnprintf_4_1 #define u_vsnprintf u_vsnprintf_4_1
skipping to change at line 464 skipping to change at line 474
#define ucal_getCanonicalTimeZoneID ucal_getCanonicalTimeZoneID_4_1 #define ucal_getCanonicalTimeZoneID ucal_getCanonicalTimeZoneID_4_1
#define ucal_getDSTSavings ucal_getDSTSavings_4_1 #define ucal_getDSTSavings ucal_getDSTSavings_4_1
#define ucal_getDefaultTimeZone ucal_getDefaultTimeZone_4_1 #define ucal_getDefaultTimeZone ucal_getDefaultTimeZone_4_1
#define ucal_getGregorianChange ucal_getGregorianChange_4_1 #define ucal_getGregorianChange ucal_getGregorianChange_4_1
#define ucal_getLimit ucal_getLimit_4_1 #define ucal_getLimit ucal_getLimit_4_1
#define ucal_getLocaleByType ucal_getLocaleByType_4_1 #define ucal_getLocaleByType ucal_getLocaleByType_4_1
#define ucal_getMillis ucal_getMillis_4_1 #define ucal_getMillis ucal_getMillis_4_1
#define ucal_getNow ucal_getNow_4_1 #define ucal_getNow ucal_getNow_4_1
#define ucal_getTZDataVersion ucal_getTZDataVersion_4_1 #define ucal_getTZDataVersion ucal_getTZDataVersion_4_1
#define ucal_getTimeZoneDisplayName ucal_getTimeZoneDisplayName_4_1 #define ucal_getTimeZoneDisplayName ucal_getTimeZoneDisplayName_4_1
#define ucal_getType ucal_getType_4_1
#define ucal_inDaylightTime ucal_inDaylightTime_4_1 #define ucal_inDaylightTime ucal_inDaylightTime_4_1
#define ucal_isSet ucal_isSet_4_1 #define ucal_isSet ucal_isSet_4_1
#define ucal_open ucal_open_4_1 #define ucal_open ucal_open_4_1
#define ucal_openCountryTimeZones ucal_openCountryTimeZones_4_1 #define ucal_openCountryTimeZones ucal_openCountryTimeZones_4_1
#define ucal_openTimeZones ucal_openTimeZones_4_1 #define ucal_openTimeZones ucal_openTimeZones_4_1
#define ucal_roll ucal_roll_4_1 #define ucal_roll ucal_roll_4_1
#define ucal_set ucal_set_4_1 #define ucal_set ucal_set_4_1
#define ucal_setAttribute ucal_setAttribute_4_1 #define ucal_setAttribute ucal_setAttribute_4_1
#define ucal_setDate ucal_setDate_4_1 #define ucal_setDate ucal_setDate_4_1
#define ucal_setDateTime ucal_setDateTime_4_1 #define ucal_setDateTime ucal_setDateTime_4_1
skipping to change at line 510 skipping to change at line 521
#define ucasemap_getOptions ucasemap_getOptions_4_1 #define ucasemap_getOptions ucasemap_getOptions_4_1
#define ucasemap_open ucasemap_open_4_1 #define ucasemap_open ucasemap_open_4_1
#define ucasemap_setBreakIterator ucasemap_setBreakIterator_4_1 #define ucasemap_setBreakIterator ucasemap_setBreakIterator_4_1
#define ucasemap_setLocale ucasemap_setLocale_4_1 #define ucasemap_setLocale ucasemap_setLocale_4_1
#define ucasemap_setOptions ucasemap_setOptions_4_1 #define ucasemap_setOptions ucasemap_setOptions_4_1
#define ucasemap_toTitle ucasemap_toTitle_4_1 #define ucasemap_toTitle ucasemap_toTitle_4_1
#define ucasemap_utf8FoldCase ucasemap_utf8FoldCase_4_1 #define ucasemap_utf8FoldCase ucasemap_utf8FoldCase_4_1
#define ucasemap_utf8ToLower ucasemap_utf8ToLower_4_1 #define ucasemap_utf8ToLower ucasemap_utf8ToLower_4_1
#define ucasemap_utf8ToTitle ucasemap_utf8ToTitle_4_1 #define ucasemap_utf8ToTitle ucasemap_utf8ToTitle_4_1
#define ucasemap_utf8ToUpper ucasemap_utf8ToUpper_4_1 #define ucasemap_utf8ToUpper ucasemap_utf8ToUpper_4_1
#define ucd_close ucd_close_4_1
#define ucd_flushCache ucd_flushCache_4_1
#define ucd_freeCache ucd_freeCache_4_1
#define ucd_getCollator ucd_getCollator_4_1
#define ucd_open ucd_open_4_1
#define uchar_addPropertyStarts uchar_addPropertyStarts_4_1 #define uchar_addPropertyStarts uchar_addPropertyStarts_4_1
#define uchar_getHST uchar_getHST_4_1 #define uchar_getHST uchar_getHST_4_1
#define uchar_swapNames uchar_swapNames_4_1 #define uchar_swapNames uchar_swapNames_4_1
#define ucln_common_registerCleanup ucln_common_registerCleanup_4_1 #define ucln_common_registerCleanup ucln_common_registerCleanup_4_1
#define ucln_i18n_registerCleanup ucln_i18n_registerCleanup_4_1 #define ucln_i18n_registerCleanup ucln_i18n_registerCleanup_4_1
#define ucln_io_registerCleanup ucln_io_registerCleanup_4_1 #define ucln_io_registerCleanup ucln_io_registerCleanup_4_1
#define ucln_lib_cleanup ucln_lib_cleanup_4_1 #define ucln_lib_cleanup ucln_lib_cleanup_4_1
#define ucln_registerCleanup ucln_registerCleanup_4_1 #define ucln_registerCleanup ucln_registerCleanup_4_1
#define ucnv_MBCSFromUChar32 ucnv_MBCSFromUChar32_4_1 #define ucnv_MBCSFromUChar32 ucnv_MBCSFromUChar32_4_1
#define ucnv_MBCSFromUnicodeWithOffsets ucnv_MBCSFromUnicodeWithOffsets_4_1 #define ucnv_MBCSFromUnicodeWithOffsets ucnv_MBCSFromUnicodeWithOffsets_4_1
skipping to change at line 622 skipping to change at line 638
#define ucnv_toUChars ucnv_toUChars_4_1 #define ucnv_toUChars ucnv_toUChars_4_1
#define ucnv_toUCountPending ucnv_toUCountPending_4_1 #define ucnv_toUCountPending ucnv_toUCountPending_4_1
#define ucnv_toUWriteCodePoint ucnv_toUWriteCodePoint_4_1 #define ucnv_toUWriteCodePoint ucnv_toUWriteCodePoint_4_1
#define ucnv_toUWriteUChars ucnv_toUWriteUChars_4_1 #define ucnv_toUWriteUChars ucnv_toUWriteUChars_4_1
#define ucnv_toUnicode ucnv_toUnicode_4_1 #define ucnv_toUnicode ucnv_toUnicode_4_1
#define ucnv_unload ucnv_unload_4_1 #define ucnv_unload ucnv_unload_4_1
#define ucnv_unloadSharedDataIfReady ucnv_unloadSharedDataIfReady_4_1 #define ucnv_unloadSharedDataIfReady ucnv_unloadSharedDataIfReady_4_1
#define ucnv_usesFallback ucnv_usesFallback_4_1 #define ucnv_usesFallback ucnv_usesFallback_4_1
#define ucnvsel_close ucnvsel_close_4_1 #define ucnvsel_close ucnvsel_close_4_1
#define ucnvsel_open ucnvsel_open_4_1 #define ucnvsel_open ucnvsel_open_4_1
#define ucnvsel_openFromSerialized ucnvsel_openFromSerialized_4_1
#define ucnvsel_selectForString ucnvsel_selectForString_4_1 #define ucnvsel_selectForString ucnvsel_selectForString_4_1
#define ucnvsel_selectForUTF8 ucnvsel_selectForUTF8_4_1 #define ucnvsel_selectForUTF8 ucnvsel_selectForUTF8_4_1
#define ucnvsel_serialize ucnvsel_serialize_4_1 #define ucnvsel_serialize ucnvsel_serialize_4_1
#define ucnvsel_swap ucnvsel_swap_4_1
#define ucnvsel_unserialize ucnvsel_unserialize_4_1
#define ucol_allocWeights ucol_allocWeights_4_1 #define ucol_allocWeights ucol_allocWeights_4_1
#define ucol_assembleTailoringTable ucol_assembleTailoringTable_4_1 #define ucol_assembleTailoringTable ucol_assembleTailoringTable_4_1
#define ucol_calcSortKey ucol_calcSortKey_4_1 #define ucol_calcSortKey ucol_calcSortKey_4_1
#define ucol_calcSortKeySimpleTertiary ucol_calcSortKeySimpleTertiary_4_1 #define ucol_calcSortKeySimpleTertiary ucol_calcSortKeySimpleTertiary_4_1
#define ucol_cloneBinary ucol_cloneBinary_4_1 #define ucol_cloneBinary ucol_cloneBinary_4_1
#define ucol_cloneRuleData ucol_cloneRuleData_4_1 #define ucol_cloneRuleData ucol_cloneRuleData_4_1
#define ucol_close ucol_close_4_1 #define ucol_close ucol_close_4_1
#define ucol_closeElements ucol_closeElements_4_1 #define ucol_closeElements ucol_closeElements_4_1
#define ucol_countAvailable ucol_countAvailable_4_1 #define ucol_countAvailable ucol_countAvailable_4_1
#define ucol_createElements ucol_createElements_4_1 #define ucol_createElements ucol_createElements_4_1
#define ucol_doCE ucol_doCE_4_1 #define ucol_doCE ucol_doCE_4_1
#define ucol_equal ucol_equal_4_1 #define ucol_equal ucol_equal_4_1
#define ucol_equals ucol_equals_4_1 #define ucol_equals ucol_equals_4_1
#define ucol_forceHanImplicit ucol_forceHanImplicit_4_1
#define ucol_forgetUCA ucol_forgetUCA_4_1 #define ucol_forgetUCA ucol_forgetUCA_4_1
#define ucol_getAttribute ucol_getAttribute_4_1 #define ucol_getAttribute ucol_getAttribute_4_1
#define ucol_getAttributeOrDefault ucol_getAttributeOrDefault_4_1 #define ucol_getAttributeOrDefault ucol_getAttributeOrDefault_4_1
#define ucol_getAvailable ucol_getAvailable_4_1 #define ucol_getAvailable ucol_getAvailable_4_1
#define ucol_getBound ucol_getBound_4_1 #define ucol_getBound ucol_getBound_4_1
#define ucol_getCEStrengthDifference ucol_getCEStrengthDifference_4_1 #define ucol_getCEStrengthDifference ucol_getCEStrengthDifference_4_1
#define ucol_getContractions ucol_getContractions_4_1 #define ucol_getContractions ucol_getContractions_4_1
#define ucol_getContractionsAndExpansions ucol_getContractionsAndExpansions _4_1 #define ucol_getContractionsAndExpansions ucol_getContractionsAndExpansions _4_1
#define ucol_getDisplayName ucol_getDisplayName_4_1 #define ucol_getDisplayName ucol_getDisplayName_4_1
#define ucol_getFirstCE ucol_getFirstCE_4_1 #define ucol_getFirstCE ucol_getFirstCE_4_1
skipping to change at line 897 skipping to change at line 913
#define uiter_setString uiter_setString_4_1 #define uiter_setString uiter_setString_4_1
#define uiter_setUTF16BE uiter_setUTF16BE_4_1 #define uiter_setUTF16BE uiter_setUTF16BE_4_1
#define uiter_setUTF8 uiter_setUTF8_4_1 #define uiter_setUTF8 uiter_setUTF8_4_1
#define uloc_acceptLanguage uloc_acceptLanguage_4_1 #define uloc_acceptLanguage uloc_acceptLanguage_4_1
#define uloc_acceptLanguageFromHTTP uloc_acceptLanguageFromHTTP_4_1 #define uloc_acceptLanguageFromHTTP uloc_acceptLanguageFromHTTP_4_1
#define uloc_addLikelySubtags uloc_addLikelySubtags_4_1 #define uloc_addLikelySubtags uloc_addLikelySubtags_4_1
#define uloc_canonicalize uloc_canonicalize_4_1 #define uloc_canonicalize uloc_canonicalize_4_1
#define uloc_countAvailable uloc_countAvailable_4_1 #define uloc_countAvailable uloc_countAvailable_4_1
#define uloc_getAvailable uloc_getAvailable_4_1 #define uloc_getAvailable uloc_getAvailable_4_1
#define uloc_getBaseName uloc_getBaseName_4_1 #define uloc_getBaseName uloc_getBaseName_4_1
#define uloc_getCLDRVersion uloc_getCLDRVersion_4_1
#define uloc_getCharacterOrientation uloc_getCharacterOrientation_4_1 #define uloc_getCharacterOrientation uloc_getCharacterOrientation_4_1
#define uloc_getCountry uloc_getCountry_4_1 #define uloc_getCountry uloc_getCountry_4_1
#define uloc_getDefault uloc_getDefault_4_1 #define uloc_getDefault uloc_getDefault_4_1
#define uloc_getDisplayCountry uloc_getDisplayCountry_4_1 #define uloc_getDisplayCountry uloc_getDisplayCountry_4_1
#define uloc_getDisplayKeyword uloc_getDisplayKeyword_4_1 #define uloc_getDisplayKeyword uloc_getDisplayKeyword_4_1
#define uloc_getDisplayKeywordValue uloc_getDisplayKeywordValue_4_1 #define uloc_getDisplayKeywordValue uloc_getDisplayKeywordValue_4_1
#define uloc_getDisplayLanguage uloc_getDisplayLanguage_4_1 #define uloc_getDisplayLanguage uloc_getDisplayLanguage_4_1
#define uloc_getDisplayName uloc_getDisplayName_4_1 #define uloc_getDisplayName uloc_getDisplayName_4_1
#define uloc_getDisplayScript uloc_getDisplayScript_4_1 #define uloc_getDisplayScript uloc_getDisplayScript_4_1
#define uloc_getDisplayVariant uloc_getDisplayVariant_4_1 #define uloc_getDisplayVariant uloc_getDisplayVariant_4_1
skipping to change at line 962 skipping to change at line 979
#define unorm_addPropertyStarts unorm_addPropertyStarts_4_1 #define unorm_addPropertyStarts unorm_addPropertyStarts_4_1
#define unorm_closeIter unorm_closeIter_4_1 #define unorm_closeIter unorm_closeIter_4_1
#define unorm_compare unorm_compare_4_1 #define unorm_compare unorm_compare_4_1
#define unorm_compose unorm_compose_4_1 #define unorm_compose unorm_compose_4_1
#define unorm_concatenate unorm_concatenate_4_1 #define unorm_concatenate unorm_concatenate_4_1
#define unorm_decompose unorm_decompose_4_1 #define unorm_decompose unorm_decompose_4_1
#define unorm_getCanonStartSet unorm_getCanonStartSet_4_1 #define unorm_getCanonStartSet unorm_getCanonStartSet_4_1
#define unorm_getCanonicalDecomposition unorm_getCanonicalDecomposition_4_1 #define unorm_getCanonicalDecomposition unorm_getCanonicalDecomposition_4_1
#define unorm_getDecomposition unorm_getDecomposition_4_1 #define unorm_getDecomposition unorm_getDecomposition_4_1
#define unorm_getFCD16FromCodePoint unorm_getFCD16FromCodePoint_4_1 #define unorm_getFCD16FromCodePoint unorm_getFCD16FromCodePoint_4_1
#define unorm_getFCDTrie unorm_getFCDTrie_4_1 #define unorm_getFCDTrieIndex unorm_getFCDTrieIndex_4_1
#define unorm_getNX unorm_getNX_4_1 #define unorm_getNX unorm_getNX_4_1
#define unorm_getQuickCheck unorm_getQuickCheck_4_1 #define unorm_getQuickCheck unorm_getQuickCheck_4_1
#define unorm_getUnicodeVersion unorm_getUnicodeVersion_4_1 #define unorm_getUnicodeVersion unorm_getUnicodeVersion_4_1
#define unorm_haveData unorm_haveData_4_1 #define unorm_haveData unorm_haveData_4_1
#define unorm_internalIsFullCompositionExclusion unorm_internalIsFullCompos itionExclusion_4_1 #define unorm_internalIsFullCompositionExclusion unorm_internalIsFullCompos itionExclusion_4_1
#define unorm_internalNormalize unorm_internalNormalize_4_1 #define unorm_internalNormalize unorm_internalNormalize_4_1
#define unorm_internalNormalizeWithNX unorm_internalNormalizeWithNX_4_1 #define unorm_internalNormalizeWithNX unorm_internalNormalizeWithNX_4_1
#define unorm_internalQuickCheck unorm_internalQuickCheck_4_1 #define unorm_internalQuickCheck unorm_internalQuickCheck_4_1
#define unorm_isCanonSafeStart unorm_isCanonSafeStart_4_1 #define unorm_isCanonSafeStart unorm_isCanonSafeStart_4_1
#define unorm_isNFSkippable unorm_isNFSkippable_4_1 #define unorm_isNFSkippable unorm_isNFSkippable_4_1
skipping to change at line 1100 skipping to change at line 1117
#define uprv_uca_closeTempTable uprv_uca_closeTempTable_4_1 #define uprv_uca_closeTempTable uprv_uca_closeTempTable_4_1
#define uprv_uca_getCodePointFromRaw uprv_uca_getCodePointFromRaw_4_1 #define uprv_uca_getCodePointFromRaw uprv_uca_getCodePointFromRaw_4_1
#define uprv_uca_getImplicitFromRaw uprv_uca_getImplicitFromRaw_4_1 #define uprv_uca_getImplicitFromRaw uprv_uca_getImplicitFromRaw_4_1
#define uprv_uca_getRawFromCodePoint uprv_uca_getRawFromCodePoint_4_1 #define uprv_uca_getRawFromCodePoint uprv_uca_getRawFromCodePoint_4_1
#define uprv_uca_getRawFromImplicit uprv_uca_getRawFromImplicit_4_1 #define uprv_uca_getRawFromImplicit uprv_uca_getRawFromImplicit_4_1
#define uprv_uca_initImplicitConstants uprv_uca_initImplicitConstants_4_1 #define uprv_uca_initImplicitConstants uprv_uca_initImplicitConstants_4_1
#define uprv_uca_initTempTable uprv_uca_initTempTable_4_1 #define uprv_uca_initTempTable uprv_uca_initTempTable_4_1
#define uprv_uint16Comparator uprv_uint16Comparator_4_1 #define uprv_uint16Comparator uprv_uint16Comparator_4_1
#define uprv_uint32Comparator uprv_uint32Comparator_4_1 #define uprv_uint32Comparator uprv_uint32Comparator_4_1
#define uprv_unmapFile uprv_unmapFile_4_1 #define uprv_unmapFile uprv_unmapFile_4_1
#define upvec_cloneArray upvec_cloneArray_4_1
#define upvec_close upvec_close_4_1 #define upvec_close upvec_close_4_1
#define upvec_compact upvec_compact_4_1 #define upvec_compact upvec_compact_4_1
#define upvec_compactToTrieHandler upvec_compactToTrieHandler_4_1 #define upvec_compactToUTrie2Handler upvec_compactToUTrie2Handler_4_1
#define upvec_compactToUTrie2WithRowIndexes upvec_compactToUTrie2WithRowInd
exes_4_1
#define upvec_compactToUTrieHandler upvec_compactToUTrieHandler_4_1
#define upvec_getArray upvec_getArray_4_1
#define upvec_getRow upvec_getRow_4_1 #define upvec_getRow upvec_getRow_4_1
#define upvec_getValue upvec_getValue_4_1 #define upvec_getValue upvec_getValue_4_1
#define upvec_open upvec_open_4_1 #define upvec_open upvec_open_4_1
#define upvec_setValue upvec_setValue_4_1 #define upvec_setValue upvec_setValue_4_1
#define uregex_appendReplacement uregex_appendReplacement_4_1 #define uregex_appendReplacement uregex_appendReplacement_4_1
#define uregex_appendTail uregex_appendTail_4_1 #define uregex_appendTail uregex_appendTail_4_1
#define uregex_clone uregex_clone_4_1 #define uregex_clone uregex_clone_4_1
#define uregex_close uregex_close_4_1 #define uregex_close uregex_close_4_1
#define uregex_end uregex_end_4_1 #define uregex_end uregex_end_4_1
#define uregex_find uregex_find_4_1 #define uregex_find uregex_find_4_1
skipping to change at line 1174 skipping to change at line 1195
#define ures_getString ures_getString_4_1 #define ures_getString ures_getString_4_1
#define ures_getStringByIndex ures_getStringByIndex_4_1 #define ures_getStringByIndex ures_getStringByIndex_4_1
#define ures_getStringByKey ures_getStringByKey_4_1 #define ures_getStringByKey ures_getStringByKey_4_1
#define ures_getStringByKeyWithFallback ures_getStringByKeyWithFallback_4_1 #define ures_getStringByKeyWithFallback ures_getStringByKeyWithFallback_4_1
#define ures_getType ures_getType_4_1 #define ures_getType ures_getType_4_1
#define ures_getUInt ures_getUInt_4_1 #define ures_getUInt ures_getUInt_4_1
#define ures_getUTF8String ures_getUTF8String_4_1 #define ures_getUTF8String ures_getUTF8String_4_1
#define ures_getUTF8StringByIndex ures_getUTF8StringByIndex_4_1 #define ures_getUTF8StringByIndex ures_getUTF8StringByIndex_4_1
#define ures_getUTF8StringByKey ures_getUTF8StringByKey_4_1 #define ures_getUTF8StringByKey ures_getUTF8StringByKey_4_1
#define ures_getVersion ures_getVersion_4_1 #define ures_getVersion ures_getVersion_4_1
#define ures_getVersionByKey ures_getVersionByKey_4_1
#define ures_getVersionNumber ures_getVersionNumber_4_1 #define ures_getVersionNumber ures_getVersionNumber_4_1
#define ures_hasNext ures_hasNext_4_1 #define ures_hasNext ures_hasNext_4_1
#define ures_initStackObject ures_initStackObject_4_1 #define ures_initStackObject ures_initStackObject_4_1
#define ures_open ures_open_4_1 #define ures_open ures_open_4_1
#define ures_openAvailableLocales ures_openAvailableLocales_4_1 #define ures_openAvailableLocales ures_openAvailableLocales_4_1
#define ures_openDirect ures_openDirect_4_1 #define ures_openDirect ures_openDirect_4_1
#define ures_openFillIn ures_openFillIn_4_1 #define ures_openFillIn ures_openFillIn_4_1
#define ures_openU ures_openU_4_1 #define ures_openU ures_openU_4_1
#define ures_resetIterator ures_resetIterator_4_1 #define ures_resetIterator ures_resetIterator_4_1
#define ures_swap ures_swap_4_1 #define ures_swap ures_swap_4_1
skipping to change at line 1351 skipping to change at line 1373
#define utrans_openInverse utrans_openInverse_4_1 #define utrans_openInverse utrans_openInverse_4_1
#define utrans_openU utrans_openU_4_1 #define utrans_openU utrans_openU_4_1
#define utrans_register utrans_register_4_1 #define utrans_register utrans_register_4_1
#define utrans_rep_caseContextIterator utrans_rep_caseContextIterator_4_1 #define utrans_rep_caseContextIterator utrans_rep_caseContextIterator_4_1
#define utrans_setFilter utrans_setFilter_4_1 #define utrans_setFilter utrans_setFilter_4_1
#define utrans_stripRules utrans_stripRules_4_1 #define utrans_stripRules utrans_stripRules_4_1
#define utrans_trans utrans_trans_4_1 #define utrans_trans utrans_trans_4_1
#define utrans_transIncremental utrans_transIncremental_4_1 #define utrans_transIncremental utrans_transIncremental_4_1
#define utrans_transIncrementalUChars utrans_transIncrementalUChars_4_1 #define utrans_transIncrementalUChars utrans_transIncrementalUChars_4_1
#define utrans_transUChars utrans_transUChars_4_1 #define utrans_transUChars utrans_transUChars_4_1
#define utrans_transliterator_cleanup utrans_transliterator_cleanup_4_1
#define utrans_unregister utrans_unregister_4_1 #define utrans_unregister utrans_unregister_4_1
#define utrans_unregisterID utrans_unregisterID_4_1 #define utrans_unregisterID utrans_unregisterID_4_1
#define utrie2_clone utrie2_clone_4_1
#define utrie2_cloneAsThawed utrie2_cloneAsThawed_4_1
#define utrie2_close utrie2_close_4_1
#define utrie2_enum utrie2_enum_4_1
#define utrie2_enumForLeadSurrogate utrie2_enumForLeadSurrogate_4_1
#define utrie2_freeze utrie2_freeze_4_1
#define utrie2_fromUTrie utrie2_fromUTrie_4_1
#define utrie2_get32 utrie2_get32_4_1
#define utrie2_get32FromLeadSurrogateCodeUnit utrie2_get32FromLeadSurrogate
CodeUnit_4_1
#define utrie2_getVersion utrie2_getVersion_4_1
#define utrie2_internalU8NextIndex utrie2_internalU8NextIndex_4_1
#define utrie2_internalU8PrevIndex utrie2_internalU8PrevIndex_4_1
#define utrie2_isFrozen utrie2_isFrozen_4_1
#define utrie2_open utrie2_open_4_1
#define utrie2_openDummy utrie2_openDummy_4_1
#define utrie2_openFromSerialized utrie2_openFromSerialized_4_1
#define utrie2_serialize utrie2_serialize_4_1
#define utrie2_set32 utrie2_set32_4_1
#define utrie2_set32ForLeadSurrogateCodeUnit utrie2_set32ForLeadSurrogateCo
deUnit_4_1
#define utrie2_setRange32 utrie2_setRange32_4_1
#define utrie2_swap utrie2_swap_4_1
#define utrie_clone utrie_clone_4_1 #define utrie_clone utrie_clone_4_1
#define utrie_close utrie_close_4_1 #define utrie_close utrie_close_4_1
#define utrie_defaultGetFoldingOffset utrie_defaultGetFoldingOffset_4_1 #define utrie_defaultGetFoldingOffset utrie_defaultGetFoldingOffset_4_1
#define utrie_enum utrie_enum_4_1 #define utrie_enum utrie_enum_4_1
#define utrie_get32 utrie_get32_4_1 #define utrie_get32 utrie_get32_4_1
#define utrie_getData utrie_getData_4_1 #define utrie_getData utrie_getData_4_1
#define utrie_open utrie_open_4_1 #define utrie_open utrie_open_4_1
#define utrie_serialize utrie_serialize_4_1 #define utrie_serialize utrie_serialize_4_1
#define utrie_set32 utrie_set32_4_1 #define utrie_set32 utrie_set32_4_1
#define utrie_setRange32 utrie_setRange32_4_1 #define utrie_setRange32 utrie_setRange32_4_1
skipping to change at line 1380 skipping to change at line 1424
#define AbsoluteValueSubstitution AbsoluteValueSubstitution_4_1 #define AbsoluteValueSubstitution AbsoluteValueSubstitution_4_1
#define AlternateSubstitutionSubtable AlternateSubstitutionSubtable_4_1 #define AlternateSubstitutionSubtable AlternateSubstitutionSubtable_4_1
#define AnchorTable AnchorTable_4_1 #define AnchorTable AnchorTable_4_1
#define AndConstraint AndConstraint_4_1 #define AndConstraint AndConstraint_4_1
#define AnnualTimeZoneRule AnnualTimeZoneRule_4_1 #define AnnualTimeZoneRule AnnualTimeZoneRule_4_1
#define AnyTransliterator AnyTransliterator_4_1 #define AnyTransliterator AnyTransliterator_4_1
#define ArabicOpenTypeLayoutEngine ArabicOpenTypeLayoutEngine_4_1 #define ArabicOpenTypeLayoutEngine ArabicOpenTypeLayoutEngine_4_1
#define ArabicShaping ArabicShaping_4_1 #define ArabicShaping ArabicShaping_4_1
#define BMPSet BMPSet_4_1 #define BMPSet BMPSet_4_1
#define BadCharacterTable BadCharacterTable_4_1
#define BasicCalendarFactory BasicCalendarFactory_4_1 #define BasicCalendarFactory BasicCalendarFactory_4_1
#define BasicTimeZone BasicTimeZone_4_1 #define BasicTimeZone BasicTimeZone_4_1
#define BinarySearchLookupTable BinarySearchLookupTable_4_1 #define BinarySearchLookupTable BinarySearchLookupTable_4_1
#define BoyerMooreSearch BoyerMooreSearch_4_1
#define BreakIterator BreakIterator_4_1 #define BreakIterator BreakIterator_4_1
#define BreakTransliterator BreakTransliterator_4_1 #define BreakTransliterator BreakTransliterator_4_1
#define BuddhistCalendar BuddhistCalendar_4_1 #define BuddhistCalendar BuddhistCalendar_4_1
#define BuildCompactTrieHorizontalNode BuildCompactTrieHorizontalNode_4_1 #define BuildCompactTrieHorizontalNode BuildCompactTrieHorizontalNode_4_1
#define BuildCompactTrieNode BuildCompactTrieNode_4_1 #define BuildCompactTrieNode BuildCompactTrieNode_4_1
#define BuildCompactTrieVerticalNode BuildCompactTrieVerticalNode_4_1 #define BuildCompactTrieVerticalNode BuildCompactTrieVerticalNode_4_1
#define CEBuffer CEBuffer_4_1 #define CEBuffer CEBuffer_4_1
#define CECalendar CECalendar_4_1 #define CECalendar CECalendar_4_1
#define CEList CEList_4_1
#define CEToStringsMap CEToStringsMap_4_1
#define CFactory CFactory_4_1 #define CFactory CFactory_4_1
#define Calendar Calendar_4_1 #define Calendar Calendar_4_1
#define CalendarAstronomer CalendarAstronomer_4_1 #define CalendarAstronomer CalendarAstronomer_4_1
#define CalendarCache CalendarCache_4_1 #define CalendarCache CalendarCache_4_1
#define CalendarData CalendarData_4_1 #define CalendarData CalendarData_4_1
#define CalendarService CalendarService_4_1 #define CalendarService CalendarService_4_1
#define CanonMarkFilter CanonMarkFilter_4_1 #define CanonMarkFilter CanonMarkFilter_4_1
#define CanonShaping CanonShaping_4_1 #define CanonShaping CanonShaping_4_1
#define CanonicalIterator CanonicalIterator_4_1 #define CanonicalIterator CanonicalIterator_4_1
#define CaseMapTransliterator CaseMapTransliterator_4_1 #define CaseMapTransliterator CaseMapTransliterator_4_1
skipping to change at line 1465 skipping to change at line 1513
#define CharsetRecog_sbcs CharsetRecog_sbcs_4_1 #define CharsetRecog_sbcs CharsetRecog_sbcs_4_1
#define CharsetRecog_sjis CharsetRecog_sjis_4_1 #define CharsetRecog_sjis CharsetRecog_sjis_4_1
#define CharsetRecog_windows_1251 CharsetRecog_windows_1251_4_1 #define CharsetRecog_windows_1251 CharsetRecog_windows_1251_4_1
#define CharsetRecog_windows_1256 CharsetRecog_windows_1256_4_1 #define CharsetRecog_windows_1256 CharsetRecog_windows_1256_4_1
#define CharsetRecognizer CharsetRecognizer_4_1 #define CharsetRecognizer CharsetRecognizer_4_1
#define ChineseCalendar ChineseCalendar_4_1 #define ChineseCalendar ChineseCalendar_4_1
#define ChoiceFormat ChoiceFormat_4_1 #define ChoiceFormat ChoiceFormat_4_1
#define ClassDefFormat1Table ClassDefFormat1Table_4_1 #define ClassDefFormat1Table ClassDefFormat1Table_4_1
#define ClassDefFormat2Table ClassDefFormat2Table_4_1 #define ClassDefFormat2Table ClassDefFormat2Table_4_1
#define ClassDefinitionTable ClassDefinitionTable_4_1 #define ClassDefinitionTable ClassDefinitionTable_4_1
#define ClockMath ClockMath_4_1
#define CollData CollData_4_1
#define CollDataCache CollDataCache_4_1
#define CollDataCacheEntry CollDataCacheEntry_4_1
#define CollationElementIterator CollationElementIterator_4_1 #define CollationElementIterator CollationElementIterator_4_1
#define CollationKey CollationKey_4_1 #define CollationKey CollationKey_4_1
#define CollationLocaleListEnumeration CollationLocaleListEnumeration_4_1 #define CollationLocaleListEnumeration CollationLocaleListEnumeration_4_1
#define Collator Collator_4_1 #define Collator Collator_4_1
#define CollatorFactory CollatorFactory_4_1 #define CollatorFactory CollatorFactory_4_1
#define CompactTrieDictionary CompactTrieDictionary_4_1 #define CompactTrieDictionary CompactTrieDictionary_4_1
#define CompactTrieEnumeration CompactTrieEnumeration_4_1 #define CompactTrieEnumeration CompactTrieEnumeration_4_1
#define CompoundTransliterator CompoundTransliterator_4_1 #define CompoundTransliterator CompoundTransliterator_4_1
#define ContextualGlyphSubstitutionProcessor ContextualGlyphSubstitutionPro cessor_4_1 #define ContextualGlyphSubstitutionProcessor ContextualGlyphSubstitutionPro cessor_4_1
#define ContextualSubstitutionBase ContextualSubstitutionBase_4_1 #define ContextualSubstitutionBase ContextualSubstitutionBase_4_1
skipping to change at line 1505 skipping to change at line 1557
#define DateTimePatternGenerator DateTimePatternGenerator_4_1 #define DateTimePatternGenerator DateTimePatternGenerator_4_1
#define DateTimeRule DateTimeRule_4_1 #define DateTimeRule DateTimeRule_4_1
#define DecimalFormat DecimalFormat_4_1 #define DecimalFormat DecimalFormat_4_1
#define DecimalFormatSymbols DecimalFormatSymbols_4_1 #define DecimalFormatSymbols DecimalFormatSymbols_4_1
#define DefaultCalendarFactory DefaultCalendarFactory_4_1 #define DefaultCalendarFactory DefaultCalendarFactory_4_1
#define DefaultCharMapper DefaultCharMapper_4_1 #define DefaultCharMapper DefaultCharMapper_4_1
#define DeviceTable DeviceTable_4_1 #define DeviceTable DeviceTable_4_1
#define DictionaryBreakEngine DictionaryBreakEngine_4_1 #define DictionaryBreakEngine DictionaryBreakEngine_4_1
#define DigitList DigitList_4_1 #define DigitList DigitList_4_1
#define DistanceInfo DistanceInfo_4_1 #define DistanceInfo DistanceInfo_4_1
#define Entry Entry_4_1
#define EnumToOffset EnumToOffset_4_1 #define EnumToOffset EnumToOffset_4_1
#define EscapeTransliterator EscapeTransliterator_4_1 #define EscapeTransliterator EscapeTransliterator_4_1
#define EthiopicCalendar EthiopicCalendar_4_1 #define EthiopicCalendar EthiopicCalendar_4_1
#define EventListener EventListener_4_1 #define EventListener EventListener_4_1
#define ExtensionSubtable ExtensionSubtable_4_1 #define ExtensionSubtable ExtensionSubtable_4_1
#define FeatureListTable FeatureListTable_4_1 #define FeatureListTable FeatureListTable_4_1
#define FieldPosition FieldPosition_4_1 #define FieldPosition FieldPosition_4_1
#define FontRuns FontRuns_4_1 #define FontRuns FontRuns_4_1
#define Format Format_4_1 #define Format Format_4_1
#define Format1AnchorTable Format1AnchorTable_4_1 #define Format1AnchorTable Format1AnchorTable_4_1
skipping to change at line 1534 skipping to change at line 1585
#define GDEFMarkFilter GDEFMarkFilter_4_1 #define GDEFMarkFilter GDEFMarkFilter_4_1
#define GXLayoutEngine GXLayoutEngine_4_1 #define GXLayoutEngine GXLayoutEngine_4_1
#define GlyphDefinitionTableHeader GlyphDefinitionTableHeader_4_1 #define GlyphDefinitionTableHeader GlyphDefinitionTableHeader_4_1
#define GlyphIterator GlyphIterator_4_1 #define GlyphIterator GlyphIterator_4_1
#define GlyphLookupTableHeader GlyphLookupTableHeader_4_1 #define GlyphLookupTableHeader GlyphLookupTableHeader_4_1
#define GlyphPositionAdjustments GlyphPositionAdjustments_4_1 #define GlyphPositionAdjustments GlyphPositionAdjustments_4_1
#define GlyphPositioningLookupProcessor GlyphPositioningLookupProcessor_4_1 #define GlyphPositioningLookupProcessor GlyphPositioningLookupProcessor_4_1
#define GlyphPositioningTableHeader GlyphPositioningTableHeader_4_1 #define GlyphPositioningTableHeader GlyphPositioningTableHeader_4_1
#define GlyphSubstitutionLookupProcessor GlyphSubstitutionLookupProcessor_4 _1 #define GlyphSubstitutionLookupProcessor GlyphSubstitutionLookupProcessor_4 _1
#define GlyphSubstitutionTableHeader GlyphSubstitutionTableHeader_4_1 #define GlyphSubstitutionTableHeader GlyphSubstitutionTableHeader_4_1
#define GoodSuffixTable GoodSuffixTable_4_1
#define Grego Grego_4_1 #define Grego Grego_4_1
#define GregorianCalendar GregorianCalendar_4_1 #define GregorianCalendar GregorianCalendar_4_1
#define HanOpenTypeLayoutEngine HanOpenTypeLayoutEngine_4_1 #define HanOpenTypeLayoutEngine HanOpenTypeLayoutEngine_4_1
#define HangulOpenTypeLayoutEngine HangulOpenTypeLayoutEngine_4_1 #define HangulOpenTypeLayoutEngine HangulOpenTypeLayoutEngine_4_1
#define HebrewCalendar HebrewCalendar_4_1 #define HebrewCalendar HebrewCalendar_4_1
#define ICUBreakIteratorFactory ICUBreakIteratorFactory_4_1 #define ICUBreakIteratorFactory ICUBreakIteratorFactory_4_1
#define ICUBreakIteratorService ICUBreakIteratorService_4_1 #define ICUBreakIteratorService ICUBreakIteratorService_4_1
#define ICUCollatorFactory ICUCollatorFactory_4_1 #define ICUCollatorFactory ICUCollatorFactory_4_1
#define ICUCollatorService ICUCollatorService_4_1 #define ICUCollatorService ICUCollatorService_4_1
#define ICULanguageBreakFactory ICULanguageBreakFactory_4_1 #define ICULanguageBreakFactory ICULanguageBreakFactory_4_1
skipping to change at line 1599 skipping to change at line 1651
#define LookupListTable LookupListTable_4_1 #define LookupListTable LookupListTable_4_1
#define LookupProcessor LookupProcessor_4_1 #define LookupProcessor LookupProcessor_4_1
#define LookupSubtable LookupSubtable_4_1 #define LookupSubtable LookupSubtable_4_1
#define LookupTable LookupTable_4_1 #define LookupTable LookupTable_4_1
#define LowercaseTransliterator LowercaseTransliterator_4_1 #define LowercaseTransliterator LowercaseTransliterator_4_1
#define MPreFixups MPreFixups_4_1 #define MPreFixups MPreFixups_4_1
#define MarkArray MarkArray_4_1 #define MarkArray MarkArray_4_1
#define MarkToBasePositioningSubtable MarkToBasePositioningSubtable_4_1 #define MarkToBasePositioningSubtable MarkToBasePositioningSubtable_4_1
#define MarkToLigaturePositioningSubtable MarkToLigaturePositioningSubtable _4_1 #define MarkToLigaturePositioningSubtable MarkToLigaturePositioningSubtable _4_1
#define MarkToMarkPositioningSubtable MarkToMarkPositioningSubtable_4_1 #define MarkToMarkPositioningSubtable MarkToMarkPositioningSubtable_4_1
#define Math Math_4_1
#define Measure Measure_4_1 #define Measure Measure_4_1
#define MeasureFormat MeasureFormat_4_1 #define MeasureFormat MeasureFormat_4_1
#define MeasureUnit MeasureUnit_4_1 #define MeasureUnit MeasureUnit_4_1
#define MessageFormat MessageFormat_4_1 #define MessageFormat MessageFormat_4_1
#define MessageFormatAdapter MessageFormatAdapter_4_1 #define MessageFormatAdapter MessageFormatAdapter_4_1
#define ModulusSubstitution ModulusSubstitution_4_1 #define ModulusSubstitution ModulusSubstitution_4_1
#define MoonRiseSetCoordFunc MoonRiseSetCoordFunc_4_1 #define MoonRiseSetCoordFunc MoonRiseSetCoordFunc_4_1
#define MoonTimeAngleFunc MoonTimeAngleFunc_4_1 #define MoonTimeAngleFunc MoonTimeAngleFunc_4_1
#define MorphSubtableHeader MorphSubtableHeader_4_1 #define MorphSubtableHeader MorphSubtableHeader_4_1
#define MorphTableHeader MorphTableHeader_4_1 #define MorphTableHeader MorphTableHeader_4_1
skipping to change at line 1629 skipping to change at line 1680
#define NameToEnum NameToEnum_4_1 #define NameToEnum NameToEnum_4_1
#define NameUnicodeTransliterator NameUnicodeTransliterator_4_1 #define NameUnicodeTransliterator NameUnicodeTransliterator_4_1
#define NonContextualGlyphSubstitutionProcessor NonContextualGlyphSubstitut ionProcessor_4_1 #define NonContextualGlyphSubstitutionProcessor NonContextualGlyphSubstitut ionProcessor_4_1
#define NonContiguousEnumToOffset NonContiguousEnumToOffset_4_1 #define NonContiguousEnumToOffset NonContiguousEnumToOffset_4_1
#define NormalizationTransliterator NormalizationTransliterator_4_1 #define NormalizationTransliterator NormalizationTransliterator_4_1
#define Normalizer Normalizer_4_1 #define Normalizer Normalizer_4_1
#define NullSubstitution NullSubstitution_4_1 #define NullSubstitution NullSubstitution_4_1
#define NullTransliterator NullTransliterator_4_1 #define NullTransliterator NullTransliterator_4_1
#define NumberFormat NumberFormat_4_1 #define NumberFormat NumberFormat_4_1
#define NumberFormatFactory NumberFormatFactory_4_1 #define NumberFormatFactory NumberFormatFactory_4_1
#define NumberingSystem NumberingSystem_4_1
#define NumeratorSubstitution NumeratorSubstitution_4_1 #define NumeratorSubstitution NumeratorSubstitution_4_1
#define OlsonTimeZone OlsonTimeZone_4_1 #define OlsonTimeZone OlsonTimeZone_4_1
#define OpenTypeLayoutEngine OpenTypeLayoutEngine_4_1 #define OpenTypeLayoutEngine OpenTypeLayoutEngine_4_1
#define OpenTypeUtilities OpenTypeUtilities_4_1 #define OpenTypeUtilities OpenTypeUtilities_4_1
#define OrConstraint OrConstraint_4_1 #define OrConstraint OrConstraint_4_1
#define PCEBuffer PCEBuffer_4_1 #define PCEBuffer PCEBuffer_4_1
#define PairPositioningFormat1Subtable PairPositioningFormat1Subtable_4_1 #define PairPositioningFormat1Subtable PairPositioningFormat1Subtable_4_1
#define PairPositioningFormat2Subtable PairPositioningFormat2Subtable_4_1 #define PairPositioningFormat2Subtable PairPositioningFormat2Subtable_4_1
#define PairPositioningSubtable PairPositioningSubtable_4_1 #define PairPositioningSubtable PairPositioningSubtable_4_1
#define ParagraphLayout ParagraphLayout_4_1 #define ParagraphLayout ParagraphLayout_4_1
skipping to change at line 1706 skipping to change at line 1758
#define SimpleLocaleKeyFactory SimpleLocaleKeyFactory_4_1 #define SimpleLocaleKeyFactory SimpleLocaleKeyFactory_4_1
#define SimpleNumberFormatFactory SimpleNumberFormatFactory_4_1 #define SimpleNumberFormatFactory SimpleNumberFormatFactory_4_1
#define SimpleTimeZone SimpleTimeZone_4_1 #define SimpleTimeZone SimpleTimeZone_4_1
#define SinglePositioningFormat1Subtable SinglePositioningFormat1Subtable_4 _1 #define SinglePositioningFormat1Subtable SinglePositioningFormat1Subtable_4 _1
#define SinglePositioningFormat2Subtable SinglePositioningFormat2Subtable_4 _1 #define SinglePositioningFormat2Subtable SinglePositioningFormat2Subtable_4 _1
#define SinglePositioningSubtable SinglePositioningSubtable_4_1 #define SinglePositioningSubtable SinglePositioningSubtable_4_1
#define SingleSubstitutionFormat1Subtable SingleSubstitutionFormat1Subtable _4_1 #define SingleSubstitutionFormat1Subtable SingleSubstitutionFormat1Subtable _4_1
#define SingleSubstitutionFormat2Subtable SingleSubstitutionFormat2Subtable _4_1 #define SingleSubstitutionFormat2Subtable SingleSubstitutionFormat2Subtable _4_1
#define SingleSubstitutionSubtable SingleSubstitutionSubtable_4_1 #define SingleSubstitutionSubtable SingleSubstitutionSubtable_4_1
#define SingleTableProcessor SingleTableProcessor_4_1 #define SingleTableProcessor SingleTableProcessor_4_1
#define Spec Spec_4_1
#define StateTableProcessor StateTableProcessor_4_1 #define StateTableProcessor StateTableProcessor_4_1
#define StringCharacterIterator StringCharacterIterator_4_1 #define StringCharacterIterator StringCharacterIterator_4_1
#define StringEnumeration StringEnumeration_4_1 #define StringEnumeration StringEnumeration_4_1
#define StringList StringList_4_1
#define StringLocalizationInfo StringLocalizationInfo_4_1 #define StringLocalizationInfo StringLocalizationInfo_4_1
#define StringMatcher StringMatcher_4_1 #define StringMatcher StringMatcher_4_1
#define StringPair StringPair_4_1 #define StringPair StringPair_4_1
#define StringReplacer StringReplacer_4_1 #define StringReplacer StringReplacer_4_1
#define StringSearch StringSearch_4_1 #define StringSearch StringSearch_4_1
#define StringToCEsMap StringToCEsMap_4_1
#define StyleRuns StyleRuns_4_1 #define StyleRuns StyleRuns_4_1
#define SubstitutionLookup SubstitutionLookup_4_1 #define SubstitutionLookup SubstitutionLookup_4_1
#define SubtableProcessor SubtableProcessor_4_1 #define SubtableProcessor SubtableProcessor_4_1
#define SunTimeAngleFunc SunTimeAngleFunc_4_1 #define SunTimeAngleFunc SunTimeAngleFunc_4_1
#define SymbolTable SymbolTable_4_1 #define SymbolTable SymbolTable_4_1
#define TZEnumeration TZEnumeration_4_1 #define TZEnumeration TZEnumeration_4_1
#define TaiwanCalendar TaiwanCalendar_4_1 #define TaiwanCalendar TaiwanCalendar_4_1
#define Target Target_4_1
#define TernaryNode TernaryNode_4_1 #define TernaryNode TernaryNode_4_1
#define TextTrieMap TextTrieMap_4_1 #define TextTrieMap TextTrieMap_4_1
#define TextTrieMapSearchResultHandler TextTrieMapSearchResultHandler_4_1 #define TextTrieMapSearchResultHandler TextTrieMapSearchResultHandler_4_1
#define ThaiBreakEngine ThaiBreakEngine_4_1 #define ThaiBreakEngine ThaiBreakEngine_4_1
#define ThaiLayoutEngine ThaiLayoutEngine_4_1 #define ThaiLayoutEngine ThaiLayoutEngine_4_1
#define ThaiShaping ThaiShaping_4_1 #define ThaiShaping ThaiShaping_4_1
#define TibetanClassTable TibetanClassTable_4_1 #define TibetanClassTable TibetanClassTable_4_1
#define TibetanOpenTypeLayoutEngine TibetanOpenTypeLayoutEngine_4_1 #define TibetanOpenTypeLayoutEngine TibetanOpenTypeLayoutEngine_4_1
#define TibetanReordering TibetanReordering_4_1 #define TibetanReordering TibetanReordering_4_1
#define TimeArrayTimeZoneRule TimeArrayTimeZoneRule_4_1 #define TimeArrayTimeZoneRule TimeArrayTimeZoneRule_4_1
skipping to change at line 1744 skipping to change at line 1798
#define TimeUnitFormat TimeUnitFormat_4_1 #define TimeUnitFormat TimeUnitFormat_4_1
#define TimeZone TimeZone_4_1 #define TimeZone TimeZone_4_1
#define TimeZoneRule TimeZoneRule_4_1 #define TimeZoneRule TimeZoneRule_4_1
#define TimeZoneTransition TimeZoneTransition_4_1 #define TimeZoneTransition TimeZoneTransition_4_1
#define TitlecaseTransliterator TitlecaseTransliterator_4_1 #define TitlecaseTransliterator TitlecaseTransliterator_4_1
#define TransliterationRule TransliterationRule_4_1 #define TransliterationRule TransliterationRule_4_1
#define TransliterationRuleData TransliterationRuleData_4_1 #define TransliterationRuleData TransliterationRuleData_4_1
#define TransliterationRuleSet TransliterationRuleSet_4_1 #define TransliterationRuleSet TransliterationRuleSet_4_1
#define Transliterator Transliterator_4_1 #define Transliterator Transliterator_4_1
#define TransliteratorAlias TransliteratorAlias_4_1 #define TransliteratorAlias TransliteratorAlias_4_1
#define TransliteratorEntry TransliteratorEntry_4_1
#define TransliteratorIDParser TransliteratorIDParser_4_1 #define TransliteratorIDParser TransliteratorIDParser_4_1
#define TransliteratorParser TransliteratorParser_4_1 #define TransliteratorParser TransliteratorParser_4_1
#define TransliteratorRegistry TransliteratorRegistry_4_1 #define TransliteratorRegistry TransliteratorRegistry_4_1
#define TransliteratorSpec TransliteratorSpec_4_1
#define TrieWordDictionary TrieWordDictionary_4_1 #define TrieWordDictionary TrieWordDictionary_4_1
#define TrimmedArrayProcessor TrimmedArrayProcessor_4_1 #define TrimmedArrayProcessor TrimmedArrayProcessor_4_1
#define UCharCharacterIterator UCharCharacterIterator_4_1 #define UCharCharacterIterator UCharCharacterIterator_4_1
#define UCollationPCE UCollationPCE_4_1 #define UCollationPCE UCollationPCE_4_1
#define ULocRuns ULocRuns_4_1 #define ULocRuns ULocRuns_4_1
#define UMemory UMemory_4_1 #define UMemory UMemory_4_1
#define UObject UObject_4_1 #define UObject UObject_4_1
#define URegularExpression URegularExpression_4_1 #define URegularExpression URegularExpression_4_1
#define UStack UStack_4_1 #define UStack UStack_4_1
#define UStringEnumeration UStringEnumeration_4_1 #define UStringEnumeration UStringEnumeration_4_1
 End of changes. 32 change blocks. 
11 lines changed or deleted 70 lines changed or added


 usetiter.h   usetiter.h 
/* /*
********************************************************************** **********************************************************************
* Copyright (c) 2002-2006, International Business Machines * Copyright (c) 2002-2008, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
********************************************************************** **********************************************************************
*/ */
#ifndef USETITER_H #ifndef USETITER_H
#define USETITER_H #define USETITER_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#include "unicode/uobject.h" #include "unicode/uobject.h"
#include "unicode/unistr.h" #include "unicode/unistr.h"
skipping to change at line 29 skipping to change at line 29
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
class UnicodeSet; class UnicodeSet;
class UnicodeString; class UnicodeString;
/** /**
* *
* UnicodeSetIterator iterates over the contents of a UnicodeSet. It * UnicodeSetIterator iterates over the contents of a UnicodeSet. It
* iterates over either code points or code point ranges. After all * iterates over either code points or code point ranges. After all
* code points or ranges have been returned, it returns the * code points or ranges have been returned, it returns the
* multicharacter strings of the UnicodSet, if any. * multicharacter strings of the UnicodeSet, if any.
* *
* This class is not intended to be subclassed. Consider any fields * This class is not intended to be subclassed. Consider any fields
* or methods declared as "protected" to be private. The use of * or methods declared as "protected" to be private. The use of
* protected in this class is an artifact of history. * protected in this class is an artifact of history.
* *
* <p>To iterate over code points and strings, use a loop like this: * <p>To iterate over code points and strings, use a loop like this:
* <pre> * <pre>
* UnicodeSetIterator it(set); * UnicodeSetIterator it(set);
* while (set.next()) { * while (it.next()) {
* processItem(set.getString()); * processItem(it.getString());
* } * }
* </pre> * </pre>
* <p>Each item in the set is accessed as a string. Set elements * <p>Each item in the set is accessed as a string. Set elements
* consisting of single code points are returned as strings containing * consisting of single code points are returned as strings containing
* just the one code point. * just the one code point.
* *
* <p>To iterate over code point ranges, instead of individual code points, * <p>To iterate over code point ranges, instead of individual code points,
* use a loop like this: * use a loop like this:
* <pre> * <pre>
* UnicodeSetIterator it(set); * UnicodeSetIterator it(set);
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 lines changed or added


 usprep.h   usprep.h 
/* /*
************************************************************************** ***** ************************************************************************** *****
* *
* Copyright (C) 2003-2006, International Business Machines * Copyright (C) 2003-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
************************************************************************** ***** ************************************************************************** *****
* file name: usprep.h * file name: usprep.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2003jul2 * created on: 2003jul2
* created by: Ram Viswanadha * created by: Ram Viswanadha
skipping to change at line 85 skipping to change at line 85
/** /**
* Option to allow processing of unassigned code points in the input * Option to allow processing of unassigned code points in the input
* *
* @see usprep_prepare * @see usprep_prepare
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
#define USPREP_ALLOW_UNASSIGNED 0x0001 #define USPREP_ALLOW_UNASSIGNED 0x0001
/** /**
* enums for the standard stringprep profile types
* supported by usprep_openByType.
* @see usprep_openByType
* @draft ICU 4.2
*/
typedef enum UStringPrepProfileType {
/**
* RFC3491 Nameprep
* @draft ICU 4.2
*/
USPREP_RFC3491_NAMEPREP,
/**
* RFC3530 nfs4_cs_prep
* @draft ICU 4.2
*/
USPREP_RFC3530_NFS4_CS_PREP,
/**
* RFC3530 nfs4_cs_prep with case insensitive option
* @draft ICU 4.2
*/
USPREP_RFC3530_NFS4_CS_PREP_CI,
/**
* RFC3530 nfs4_cis_prep
* @draft ICU 4.2
*/
USPREP_RFC3530_NSF4_CIS_PREP,
/**
* RFC3530 nfs4_mixed_prep for prefix
* @draft ICU 4.2
*/
USPREP_RFC3530_NSF4_MIXED_PREP_PREFIX,
/**
* RFC3530 nfs4_mixed_prep for suffix
* @draft ICU 4.2
*/
USPREP_RFC3530_NSF4_MIXED_PREP_SUFFIX,
/**
* RFC3722 iSCSI
* @draft ICU 4.2
*/
USPREP_RFC3722_ISCSI,
/**
* RFC3920 XMPP Nodeprep
* @draft ICU 4.2
*/
USPREP_RFC3920_NODEPREP,
/**
* RFC3920 XMPP Resourceprep
* @draft ICU 4.2
*/
USPREP_RFC3920_RESOURCEPREP,
/**
* RFC4011 Policy MIB Stringprep
* @draft ICU 4.2
*/
USPREP_RFC4011_MIB,
/**
* RFC4013 SASLprep
* @draft ICU 4.2
*/
USPREP_RFC4013_SASLPREP,
/**
* RFC4505 trace
* @draft ICU 4.2
*/
USPREP_RFC4505_TRACE,
/**
* RFC4518 LDAP
* @draft ICU 4.2
*/
USPREP_RFC4518_LDAP,
/**
* RFC4518 LDAP for case ignore, numeric and stored prefix
* matching rules
* @draft ICU 4.2
*/
USPREP_RFC4518_LDAP_CI
} UStringPrepProfileType;
/**
* Creates a StringPrep profile from the data file. * Creates a StringPrep profile from the data file.
* *
* @param path string containing the full path pointing to the directo ry * @param path string containing the full path pointing to the directo ry
* where the profile reside followed by the package name * where the profile reside followed by the package name
* e.g. "/usr/resource/my_app/profiles/mydata" on a Unix s ystem. * e.g. "/usr/resource/my_app/profiles/mydata" on a Unix s ystem.
* if NULL, ICU default data files will be used. * if NULL, ICU default data files will be used.
* @param fileName name of the profile file to be opened * @param fileName name of the profile file to be opened
* @param status ICU error code in/out parameter. Must not be NULL. * @param status ICU error code in/out parameter. Must not be NULL.
* Must fulfill U_SUCCESS before the function call. * Must fulfill U_SUCCESS before the function call.
* @return Pointer to UStringPrepProfile that is opened. Should be closed b y * @return Pointer to UStringPrepProfile that is opened. Should be closed b y
* calling usprep_close() * calling usprep_close()
* @see usprep_close() * @see usprep_close()
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
U_STABLE UStringPrepProfile* U_EXPORT2 U_STABLE UStringPrepProfile* U_EXPORT2
usprep_open(const char* path, usprep_open(const char* path,
const char* fileName, const char* fileName,
UErrorCode* status); UErrorCode* status);
/** /**
* Creates a StringPrep profile for the specified profile type.
*
* @param type The profile type
* @param status ICU error code in/out parameter. Must not be NULL.
* Must fulfill U_SUCCESS before the function call.
* @return Pointer to UStringPrepProfile that is opened. Should be
closed by
* calling usprep_close()
* @see usprep_close()
* @draft ICU 4.2
*/
U_DRAFT UStringPrepProfile* U_EXPORT2
usprep_openByType(UStringPrepProfileType type,
UErrorCode* status);
/**
* Closes the profile * Closes the profile
* @param profile The profile to close * @param profile The profile to close
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
usprep_close(UStringPrepProfile* profile); usprep_close(UStringPrepProfile* profile);
/** /**
* Prepare the input buffer for use in applications with the given profile. This operation maps, normalizes(NFKC), * Prepare the input buffer for use in applications with the given profile. This operation maps, normalizes(NFKC),
* checks for prohited and BiDi characters in the order defined by RFC 3454 * checks for prohited and BiDi characters in the order defined by RFC 3454
 End of changes. 3 change blocks. 
1 lines changed or deleted 97 lines changed or added


 ustring.h   ustring.h 
skipping to change at line 920 skipping to change at line 920
* *
* int32_t function() { * int32_t function() {
* if(!didInit) { * if(!didInit) {
* U_STRING_INIT(ustringVar1, "Quick-Fox 2", 11); * U_STRING_INIT(ustringVar1, "Quick-Fox 2", 11);
* U_STRING_INIT(ustringVar2, "jumps 5%", 8); * U_STRING_INIT(ustringVar2, "jumps 5%", 8);
* didInit=TRUE; * didInit=TRUE;
* } * }
* return u_strcmp(ustringVar1, ustringVar2); * return u_strcmp(ustringVar1, ustringVar2);
* } * }
* </pre> * </pre>
*
* Note that the macros will NOT consistently work if their argument is ano
ther
* #define. The following will not work on all platforms, don't use it.
*
* <pre>
* #define GLUCK "Mr. Gluck"
* U_STRING_DECL(var, GLUCK, 9)
* U_STRING_INIT(var, GLUCK, 9)
* </pre>
*
* Instead, use the string literal "Mr. Gluck" as the argument to both mac
ro
* calls.
*
*
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#if defined(U_DECLARE_UTF16) #if defined(U_DECLARE_UTF16)
# define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1 ]=U_DECLARE_UTF16(cs) # define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1 ]=U_DECLARE_UTF16(cs)
/**@stable ICU 2.0 */ /**@stable ICU 2.0 */
# define U_STRING_INIT(var, cs, length) # define U_STRING_INIT(var, cs, length)
#elif U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR && (U_CHARSET_FAMILY==U_ASCII_FAMILY || (U_SIZEOF_UCHAR == 2 && defined(U_WCHAR_IS_UTF16))) #elif U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR && (U_CHARSET_FAMILY==U_ASCII_FAMILY || (U_SIZEOF_UCHAR == 2 && defined(U_WCHAR_IS_UTF16)))
# define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1 ]=L ## cs # define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1 ]=L ## cs
/**@stable ICU 2.0 */ /**@stable ICU 2.0 */
# define U_STRING_INIT(var, cs, length) # define U_STRING_INIT(var, cs, length)
 End of changes. 1 change blocks. 
0 lines changed or deleted 16 lines changed or added


 usystem.h   usystem.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2008, International Business Machines * Copyright (C) 2004-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name:
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
skipping to change at line 35 skipping to change at line 35
# if U_DISABLE_RENAMING # if U_DISABLE_RENAMING
# define u_cleanup u_cleanup_SYSTEM_API_DO_NOT_USE # define u_cleanup u_cleanup_SYSTEM_API_DO_NOT_USE
# define u_setAtomicIncDecFunctions u_setAtomicIncDecFunctions_SYSTE M_API_DO_NOT_USE # define u_setAtomicIncDecFunctions u_setAtomicIncDecFunctions_SYSTE M_API_DO_NOT_USE
# define u_setMemoryFunctions u_setMemoryFunctions_SYSTEM_API_DO_NOT _USE # define u_setMemoryFunctions u_setMemoryFunctions_SYSTEM_API_DO_NOT _USE
# define u_setMutexFunctions u_setMutexFunctions_SYSTEM_API_DO_NOT_U SE # define u_setMutexFunctions u_setMutexFunctions_SYSTEM_API_DO_NOT_U SE
# define ucnv_setDefaultName ucnv_setDefaultName_SYSTEM_API_DO_NOT_U SE # define ucnv_setDefaultName ucnv_setDefaultName_SYSTEM_API_DO_NOT_U SE
# define uloc_getDefault uloc_getDefault_SYSTEM_API_DO_NOT_USE # define uloc_getDefault uloc_getDefault_SYSTEM_API_DO_NOT_USE
# define uloc_setDefault uloc_setDefault_SYSTEM_API_DO_NOT_USE # define uloc_setDefault uloc_setDefault_SYSTEM_API_DO_NOT_USE
# else # else
# define u_cleanup_4_0 u_cleanup_SYSTEM_API_DO_NOT_USE # define u_cleanup_4_1.2 u_cleanup_SYSTEM_API_DO_NOT_USE
# define u_setAtomicIncDecFunctions_4_0 u_setAtomicIncDecFunctions_S # define u_setAtomicIncDecFunctions_4_1.2 u_setAtomicIncDecFunctions
YSTEM_API_DO_NOT_USE _SYSTEM_API_DO_NOT_USE
# define u_setMemoryFunctions_4_0 u_setMemoryFunctions_SYSTEM_API_DO # define u_setMemoryFunctions_4_1.2 u_setMemoryFunctions_SYSTEM_API_
_NOT_USE DO_NOT_USE
# define u_setMutexFunctions_4_0 u_setMutexFunctions_SYSTEM_API_DO_N # define u_setMutexFunctions_4_1.2 u_setMutexFunctions_SYSTEM_API_DO
OT_USE _NOT_USE
# define ucnv_setDefaultName_4_0 ucnv_setDefaultName_SYSTEM_API_DO_N # define ucnv_setDefaultName_4_1.2 ucnv_setDefaultName_SYSTEM_API_DO
OT_USE _NOT_USE
# define uloc_getDefault_4_0 uloc_getDefault_SYSTEM_API_DO_NOT_USE # define uloc_getDefault_4_1.2 uloc_getDefault_SYSTEM_API_DO_NOT_USE
# define uloc_setDefault_4_0 uloc_setDefault_SYSTEM_API_DO_NOT_USE # define uloc_setDefault_4_1.2 uloc_setDefault_SYSTEM_API_DO_NOT_USE
# endif /* U_DISABLE_RENAMING */ # endif /* U_DISABLE_RENAMING */
#endif /* U_HIDE_SYSTEM_API */ #endif /* U_HIDE_SYSTEM_API */
#endif /* USYSTEM_H */ #endif /* USYSTEM_H */
 End of changes. 2 change blocks. 
12 lines changed or deleted 12 lines changed or added


 utf.h   utf.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* *
* Copyright (C) 1999-2007, International Business Machines * Copyright (C) 1999-2008, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** **** *************************************************************************** ****
* file name: utf.h * file name: utf.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 1999sep09 * created on: 1999sep09
* created by: Markus W. Scherer * created by: Markus W. Scherer
skipping to change at line 219 skipping to change at line 219
/** /**
* Assuming c is a surrogate code point (U_IS_SURROGATE(c)), * Assuming c is a surrogate code point (U_IS_SURROGATE(c)),
* is it a lead surrogate? * is it a lead surrogate?
* @param c 32-bit code point * @param c 32-bit code point
* @return TRUE or FALSE * @return TRUE or FALSE
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_IS_SURROGATE_LEAD(c) (((c)&0x400)==0) #define U_IS_SURROGATE_LEAD(c) (((c)&0x400)==0)
/**
* Assuming c is a surrogate code point (U_IS_SURROGATE(c)),
* is it a trail surrogate?
* @param c 32-bit code point
* @return TRUE or FALSE
* @draft ICU 4.2
*/
#define U_IS_SURROGATE_TRAIL(c) (((c)&0x400)!=0)
/* include the utfXX.h ---------------------------------------------------- -- */ /* include the utfXX.h ---------------------------------------------------- -- */
#include "unicode/utf8.h" #include "unicode/utf8.h"
#include "unicode/utf16.h" #include "unicode/utf16.h"
/* utf_old.h contains deprecated, pre-ICU 2.4 definitions */ /* utf_old.h contains deprecated, pre-ICU 2.4 definitions */
#include "unicode/utf_old.h" #include "unicode/utf_old.h"
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 10 lines changed or added


 utf16.h   utf16.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* *
* Copyright (C) 1999-2007, International Business Machines * Copyright (C) 1999-2008, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** **** *************************************************************************** ****
* file name: utf16.h * file name: utf16.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 1999sep09 * created on: 1999sep09
* created by: Markus W. Scherer * created by: Markus W. Scherer
skipping to change at line 86 skipping to change at line 86
/** /**
* Assuming c is a surrogate code point (U16_IS_SURROGATE(c)), * Assuming c is a surrogate code point (U16_IS_SURROGATE(c)),
* is it a lead surrogate? * is it a lead surrogate?
* @param c 16-bit code unit * @param c 16-bit code unit
* @return TRUE or FALSE * @return TRUE or FALSE
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U16_IS_SURROGATE_LEAD(c) (((c)&0x400)==0) #define U16_IS_SURROGATE_LEAD(c) (((c)&0x400)==0)
/** /**
* Assuming c is a surrogate code point (U16_IS_SURROGATE(c)),
* is it a trail surrogate?
* @param c 16-bit code unit
* @return TRUE or FALSE
* @draft ICU 4.2
*/
#define U16_IS_SURROGATE_TRAIL(c) (((c)&0x400)!=0)
/**
* Helper constant for U16_GET_SUPPLEMENTARY. * Helper constant for U16_GET_SUPPLEMENTARY.
* @internal * @internal
*/ */
#define U16_SURROGATE_OFFSET ((0xd800<<10UL)+0xdc00-0x10000) #define U16_SURROGATE_OFFSET ((0xd800<<10UL)+0xdc00-0x10000)
/** /**
* Get a supplementary code point value (U+10000..U+10ffff) * Get a supplementary code point value (U+10000..U+10ffff)
* from its lead and trail surrogates. * from its lead and trail surrogates.
* The result is undefined if the input values are not * The result is undefined if the input values are not
* lead and trail surrogates. * lead and trail surrogates.
 End of changes. 2 change blocks. 
1 lines changed or deleted 10 lines changed or added


 utf_old.h   utf_old.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* *
* Copyright (C) 2002-2005, International Business Machines * Copyright (C) 2002-2008, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** **** *************************************************************************** ****
* file name: utf.h * file name: utf.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2002sep21 * created on: 2002sep21
* created by: Markus W. Scherer * created by: Markus W. Scherer
skipping to change at line 185 skipping to change at line 185
* *
* @deprecated ICU 2.4. Obsolete, see utf_old.h. * @deprecated ICU 2.4. Obsolete, see utf_old.h.
*/ */
#define UTF_SAFE #define UTF_SAFE
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
#undef UTF_UNSAFE #undef UTF_UNSAFE
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
#undef UTF_STRICT #undef UTF_STRICT
/** /**
* <p>UTF8_ERROR_VALUE_1 and UTF8_ERROR_VALUE_2 are special error values fo * UTF8_ERROR_VALUE_1 and UTF8_ERROR_VALUE_2 are special error values for U
r UTF-8, TF-8,
* which need 1 or 2 bytes in UTF-8:<br> * which need 1 or 2 bytes in UTF-8:
* U+0015 = NAK = Negative Acknowledge, C0 control character<br> * \code
* U+009f = highest C1 control character</p> * U+0015 = NAK = Negative Acknowledge, C0 control character
* U+009f = highest C1 control character
* \endcode
* *
* <p>These are used by UTF8_..._SAFE macros so that they can return an err or value * These are used by UTF8_..._SAFE macros so that they can return an error value
* that needs the same number of code units (bytes) as were seen by * that needs the same number of code units (bytes) as were seen by
* a macro. They should be tested with UTF_IS_ERROR() or UTF_IS_VALID().</p > * a macro. They should be tested with UTF_IS_ERROR() or UTF_IS_VALID().
* *
* @deprecated ICU 2.4. Obsolete, see utf_old.h. * @deprecated ICU 2.4. Obsolete, see utf_old.h.
*/ */
#define UTF8_ERROR_VALUE_1 0x15 #define UTF8_ERROR_VALUE_1 0x15
/** /**
* See documentation on UTF8_ERROR_VALUE_1 for details. * See documentation on UTF8_ERROR_VALUE_1 for details.
* *
* @deprecated ICU 2.4. Obsolete, see utf_old.h. * @deprecated ICU 2.4. Obsolete, see utf_old.h.
*/ */
 End of changes. 4 change blocks. 
8 lines changed or deleted 10 lines changed or added


 utypes.h   utypes.h 
skipping to change at line 40 skipping to change at line 40
*/ */
#ifndef UTYPES_H #ifndef UTYPES_H
#define UTYPES_H #define UTYPES_H
#include "unicode/umachine.h" #include "unicode/umachine.h"
#include "unicode/utf.h" #include "unicode/utf.h"
#include "unicode/uversion.h" #include "unicode/uversion.h"
#include "unicode/uconfig.h" #include "unicode/uconfig.h"
/**
* \def U_HIDE_DRAFT_API
* Define this to 1 to request that draft API be "hidden"
*/
#if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API) #if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
#define U_HIDE_DRAFT_API 1 #define U_HIDE_DRAFT_API 1
#endif #endif
#ifdef U_HIDE_DRAFT_API #ifdef U_HIDE_DRAFT_API
#include "unicode/udraft.h" #include "unicode/udraft.h"
#endif #endif
#ifdef U_HIDE_DEPRECATED_API #ifdef U_HIDE_DEPRECATED_API
#include "unicode/udeprctd.h" #include "unicode/udeprctd.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 4 lines changed or added


 uversion.h   uversion.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2000-2008, International Business Machines * Copyright (C) 2000-2009, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: uversion.h * file name: uversion.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: Vladimir Weinstein * Created by: Vladimir Weinstein
* *
skipping to change at line 54 skipping to change at line 54
* in that folder * in that folder
*/ */
#include "unicode/umachine.h" #include "unicode/umachine.h"
/** The standard copyright notice that gets compiled into each library. /** The standard copyright notice that gets compiled into each library.
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_COPYRIGHT_STRING \ #define U_COPYRIGHT_STRING \
" Copyright (C) 2008, International Business Machines Corporation and oth ers. All Rights Reserved. " " Copyright (C) 2009, International Business Machines Corporation and oth ers. All Rights Reserved. "
/** Maximum length of the copyright string. /** Maximum length of the copyright string.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_COPYRIGHT_STRING_LENGTH 128 #define U_COPYRIGHT_STRING_LENGTH 128
/** The current ICU major version as an integer. /** The current ICU major version as an integer.
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
skipping to change at line 77 skipping to change at line 77
/** The current ICU minor version as an integer. /** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
#define U_ICU_VERSION_MINOR_NUM 1 #define U_ICU_VERSION_MINOR_NUM 1
/** The current ICU patchlevel version as an integer. /** The current ICU patchlevel version as an integer.
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_ICU_VERSION_PATCHLEVEL_NUM 1 #define U_ICU_VERSION_PATCHLEVEL_NUM 3
/** The current ICU build level version as an integer. /** The current ICU build level version as an integer.
* This value is for use by ICU clients. It defaults to 0. * This value is for use by ICU clients. It defaults to 0.
* @draft ICU 4.0 * @draft ICU 4.0
*/ */
#ifndef U_ICU_VERSION_BUILDLEVEL_NUM #ifndef U_ICU_VERSION_BUILDLEVEL_NUM
#define U_ICU_VERSION_BUILDLEVEL_NUM 0 #define U_ICU_VERSION_BUILDLEVEL_NUM 0
#endif #endif
/** Glued version suffix for renamers /** Glued version suffix for renamers
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
#define U_ICU_VERSION_SUFFIX _4_1 #define U_ICU_VERSION_SUFFIX _4_1
/** The current ICU library version as a dotted-decimal string. The patchle vel /** The current ICU library version as a dotted-decimal string. The patchle vel
* only appears in this string if it non-zero. * only appears in this string if it non-zero.
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_ICU_VERSION "4.1.1" #define U_ICU_VERSION "4.1.3"
/** The current ICU library major/minor version as a string without dots, f or library name suffixes. /** The current ICU library major/minor version as a string without dots, f or library name suffixes.
* This value will change in the subsequent releases of ICU * This value will change in the subsequent releases of ICU
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
#define U_ICU_VERSION_SHORT "41" #define U_ICU_VERSION_SHORT "41"
/** An ICU version consists of up to 4 numbers from 0..255. /** An ICU version consists of up to 4 numbers from 0..255.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
skipping to change at line 208 skipping to change at line 208
* @param versionArray The destination structure for the version informatio n. * @param versionArray The destination structure for the version informatio n.
* @param versionString A string with dotted-decimal version information, * @param versionString A string with dotted-decimal version information,
* with up to four non-negative number fields with * with up to four non-negative number fields with
* values of up to 255 each. * values of up to 255 each.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
u_versionFromString(UVersionInfo versionArray, const char *versionString); u_versionFromString(UVersionInfo versionArray, const char *versionString);
/** /**
* Parse a Unicode string with dotted-decimal version information and
* fill in a UVersionInfo structure with the result.
* Definition of this function lives in putil.c
*
* @param versionArray The destination structure for the version informatio
n.
* @param versionString A Unicode string with dotted-decimal version
* information, with up to four non-negative number
* fields with values of up to 255 each.
* @draft ICU 4.2
*/
U_STABLE void U_EXPORT2
u_versionFromUString(UVersionInfo versionArray, const UChar *versionString)
;
/**
* Write a string with dotted-decimal version information according * Write a string with dotted-decimal version information according
* to the input UVersionInfo. * to the input UVersionInfo.
* Definition of this function lives in putil.c * Definition of this function lives in putil.c
* *
* @param versionArray The version information to be written as a string. * @param versionArray The version information to be written as a string.
* @param versionString A string buffer that will be filled in with * @param versionString A string buffer that will be filled in with
* a string corresponding to the numeric version * a string corresponding to the numeric version
* information in versionArray. * information in versionArray.
* The buffer size must be at least U_MAX_VERSION_STRI NG_LENGTH. * The buffer size must be at least U_MAX_VERSION_STRI NG_LENGTH.
* @stable ICU 2.4 * @stable ICU 2.4
skipping to change at line 233 skipping to change at line 247
* Gets the ICU release version. The version array stores the version info rmation * Gets the ICU release version. The version array stores the version info rmation
* for ICU. For example, release "1.3.31.2" is then represented as 0x01031 F02. * for ICU. For example, release "1.3.31.2" is then represented as 0x01031 F02.
* Definition of this function lives in putil.c * Definition of this function lives in putil.c
* *
* @param versionArray the version # information, the result will be filled in * @param versionArray the version # information, the result will be filled in
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
u_getVersion(UVersionInfo versionArray); u_getVersion(UVersionInfo versionArray);
/**
* Compare two version numbers, v1 and v2, numerically.
* Returns 0 if v1 == v2
* Returns -1 if v1 < v2 (v1 is older, v2 is newer)
* Returns +1 if v1 > v2 (v1 is newer, v2 is older)
* @param v1 version to compare
* @param v2 version to compare
* @return comparison result
* @draft ICU 4.2
*/
U_STABLE int32_t U_EXPORT2
u_compareVersions(UVersionInfo v1, UVersionInfo v2);
/*========================================================================= == /*========================================================================= ==
* ICU collation framework version information * ICU collation framework version information
* Version info that can be obtained from a collator is affected by these * Version info that can be obtained from a collator is affected by these
* numbers in a secret and magic way. Please use collator version as whole * numbers in a secret and magic way. Please use collator version as whole
*========================================================================= == *========================================================================= ==
*/ */
/** Collation runtime version (sort key generator, strcoll). /** Collation runtime version (sort key generator, strcoll).
* If the version is different, sortkeys for the same string could be diffe rent * If the version is different, sortkeys for the same string could be diffe rent
* version 2 was in ICU 1.8.1. changed is: compression intervals, French se condary * version 2 was in ICU 1.8.1. changed is: compression intervals, French se condary
 End of changes. 6 change blocks. 
4 lines changed or deleted 33 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/