LETypes.h | LETypes.h | |||
---|---|---|---|---|
skipping to change at line 267 | skipping to change at line 267 | |||
#ifndef __cplusplus | #ifndef __cplusplus | |||
/** | /** | |||
* Used to hold a pair of (x, y) values which represent a point. | * Used to hold a pair of (x, y) values which represent a point. | |||
* | * | |||
* @stable ICU 2.4 | * @stable ICU 2.4 | |||
*/ | */ | |||
typedef struct LEPoint LEPoint; | typedef struct LEPoint LEPoint; | |||
#endif | #endif | |||
#ifndef U_HIDE_INTERNAL_API | #ifndef U_HIDE_INTERNAL_API | |||
#ifndef LE_ASSERT_BAD_FONT | ||||
#define LE_ASSERT_BAD_FONT 0 | ||||
#endif | ||||
#if LE_ASSERT_BAD_FONT | ||||
#include <stdio.h> | ||||
#define LE_DEBUG_BAD_FONT(x) fprintf(stderr,"%s:%d: BAD FONT: %s\n", __FILE | ||||
__, __LINE__, (x)); | ||||
#else | ||||
#define LE_DEBUG_BAD_FONT(x) | ||||
#endif | ||||
/** | ||||
* Max value representable by a uintptr | ||||
*/ | ||||
#ifndef UINT32_MAX | ||||
#define LE_UINT32_MAX 0xFFFFFFFFU | ||||
#else | ||||
#define LE_UINT32_MAX UINT32_MAX | ||||
#endif | ||||
#ifndef UINTPTR_MAX | ||||
#define LE_UINTPTR_MAX LE_UINT32_MAX | ||||
#else | ||||
#define LE_UINTPTR_MAX UINTPTR_MAX | ||||
#endif | ||||
/** | ||||
* Range check for overflow | ||||
*/ | ||||
#define LE_RANGE_CHECK(type, count, ptrfn) (( (LE_UINTPTR_MAX / sizeof(type | ||||
)) < count ) ? NULL : (ptrfn)) | ||||
/** | /** | |||
* A convenience macro to get the length of an array. | * A convenience macro to get the length of an array. | |||
* | * | |||
* @internal | * @internal | |||
*/ | */ | |||
#define LE_ARRAY_SIZE(array) (sizeof array / sizeof array[0]) | #define LE_ARRAY_SIZE(array) (sizeof array / sizeof array[0]) | |||
#ifdef LE_USE_CMEMORY | #ifdef LE_USE_CMEMORY | |||
/** | /** | |||
* A convenience macro for copying an array. | * A convenience macro for copying an array. | |||
skipping to change at line 288 | skipping to change at line 320 | |||
* @internal | * @internal | |||
*/ | */ | |||
#define LE_ARRAY_COPY(dst, src, count) uprv_memcpy((void *) (dst), (void *) (src), (count) * sizeof (src)[0]) | #define LE_ARRAY_COPY(dst, src, count) uprv_memcpy((void *) (dst), (void *) (src), (count) * sizeof (src)[0]) | |||
/** | /** | |||
* Allocate an array of basic types. This is used to isolate the rest of | * Allocate an array of basic types. This is used to isolate the rest of | |||
* the LayoutEngine code from cmemory.h. | * the LayoutEngine code from cmemory.h. | |||
* | * | |||
* @internal | * @internal | |||
*/ | */ | |||
#define LE_NEW_ARRAY(type, count) (type *) uprv_malloc((count) * sizeof(typ e)) | #define LE_NEW_ARRAY(type, count) (type *) LE_RANGE_CHECK(type,count,uprv_ malloc((count) * sizeof(type))) | |||
/** | /** | |||
* Re-allocate an array of basic types. This is used to isolate the rest of | * Re-allocate an array of basic types. This is used to isolate the rest of | |||
* the LayoutEngine code from cmemory.h. | * the LayoutEngine code from cmemory.h. | |||
* | * | |||
* @internal | * @internal | |||
*/ | */ | |||
#define LE_GROW_ARRAY(array, newSize) uprv_realloc((void *) (array), (newSi ze) * sizeof (array)[0]) | #define LE_GROW_ARRAY(array, newSize) uprv_realloc((void *) (array), (newSi ze) * sizeof (array)[0]) | |||
/** | /** | |||
skipping to change at line 332 | skipping to change at line 364 | |||
* @internal | * @internal | |||
*/ | */ | |||
#define LE_ARRAY_COPY(dst, src, count) memcpy((void *) (dst), (void *) (src ), (count) * sizeof (src)[0]) | #define LE_ARRAY_COPY(dst, src, count) memcpy((void *) (dst), (void *) (src ), (count) * sizeof (src)[0]) | |||
/** | /** | |||
* Allocate an array of basic types. This is used to isolate the rest of | * Allocate an array of basic types. This is used to isolate the rest of | |||
* the LayoutEngine code from cmemory.h. | * the LayoutEngine code from cmemory.h. | |||
* | * | |||
* @internal | * @internal | |||
*/ | */ | |||
#define LE_NEW_ARRAY(type, count) (type *) malloc((count) * sizeof(type)) | #define LE_NEW_ARRAY(type, count) LE_RANGE_CHECK(type,count,(type *) malloc ((count) * sizeof(type))) | |||
/** | /** | |||
* Re-allocate an array of basic types. This is used to isolate the rest of | * Re-allocate an array of basic types. This is used to isolate the rest of | |||
* the LayoutEngine code from cmemory.h. | * the LayoutEngine code from cmemory.h. | |||
* | * | |||
* @internal | * @internal | |||
*/ | */ | |||
#define LE_GROW_ARRAY(array, newSize) realloc((void *) (array), (newSize) * sizeof (array)[0]) | #define LE_GROW_ARRAY(array, newSize) realloc((void *) (array), (newSize) * sizeof (array)[0]) | |||
/** | /** | |||
skipping to change at line 631 | skipping to change at line 663 | |||
#define LE_SS04_FEATURE_FLAG (1 << LE_SS04_FEATURE_ENUM) | #define LE_SS04_FEATURE_FLAG (1 << LE_SS04_FEATURE_ENUM) | |||
#define LE_SS05_FEATURE_FLAG (1 << LE_SS05_FEATURE_ENUM) | #define LE_SS05_FEATURE_FLAG (1 << LE_SS05_FEATURE_ENUM) | |||
#define LE_SS06_FEATURE_FLAG (1 << LE_SS06_FEATURE_ENUM) | #define LE_SS06_FEATURE_FLAG (1 << LE_SS06_FEATURE_ENUM) | |||
#define LE_SS07_FEATURE_FLAG (1 << LE_SS07_FEATURE_ENUM) | #define LE_SS07_FEATURE_FLAG (1 << LE_SS07_FEATURE_ENUM) | |||
#define LE_CHAR_FILTER_FEATURE_FLAG (1 << LE_CHAR_FILTER_FEATURE_ENUM) | #define LE_CHAR_FILTER_FEATURE_FLAG (1 << LE_CHAR_FILTER_FEATURE_ENUM) | |||
/** | /** | |||
* @} | * @} | |||
*/ | */ | |||
#define LE_DEFAULT_FEATURE_FLAG (LE_Kerning_FEATURE_FLAG | LE_Ligatures_FEA | ||||
TURE_FLAG) /**< default features */ | ||||
/** | /** | |||
* Error codes returned by the LayoutEngine. | * Error codes returned by the LayoutEngine. | |||
* | * | |||
* @stable ICU 2.4 | * @stable ICU 2.4 | |||
*/ | */ | |||
enum LEErrorCode { | enum LEErrorCode { | |||
/* informational */ | /* informational */ | |||
LE_NO_SUBFONT_WARNING = U_USING_DEFAULT_WARNING, /**< The font does not contain subfonts. */ | LE_NO_SUBFONT_WARNING = U_USING_DEFAULT_WARNING, /**< The font does not contain subfonts. */ | |||
/* success */ | /* success */ | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 39 lines changed or added | |||
LayoutEngine.h | LayoutEngine.h | |||
---|---|---|---|---|
skipping to change at line 255 | skipping to change at line 255 | |||
*/ | */ | |||
virtual void adjustGlyphPositions(const LEUnicode chars[], le_int32 off set, le_int32 count, le_bool reverse, LEGlyphStorage &glyphStorage, LEError Code &success); | virtual void adjustGlyphPositions(const LEUnicode chars[], le_int32 off set, le_int32 count, le_bool reverse, LEGlyphStorage &glyphStorage, LEError Code &success); | |||
/** | /** | |||
* This method gets a table from the font associated with | * This method gets a table from the font associated with | |||
* the text. The default implementation gets the table from | * the text. The default implementation gets the table from | |||
* the font instance. Subclasses which need to get the tables | * the font instance. Subclasses which need to get the tables | |||
* some other way must override this method. | * some other way must override this method. | |||
* | * | |||
* @param tableTag - the four byte table tag. | * @param tableTag - the four byte table tag. | |||
* @param length - length to use | ||||
* | * | |||
* @return the address of the table. | * @return the address of the table. | |||
* | * | |||
* @internal | * @internal | |||
*/ | */ | |||
virtual const void *getFontTable(LETag tableTag) const; | virtual const void *getFontTable(LETag tableTag, size_t &length) const; | |||
/** | ||||
* @deprecated | ||||
*/ | ||||
virtual const void *getFontTable(LETag tableTag) const { size_t ignored | ||||
; return getFontTable(tableTag, ignored); } | ||||
/** | /** | |||
* This method does character to glyph mapping. The default implementat ion | * This method does character to glyph mapping. The default implementat ion | |||
* uses the font instance to do the mapping. It will allocate the glyph and | * uses the font instance to do the mapping. It will allocate the glyph and | |||
* character index arrays if they're not already allocated. If it alloc ates the | * character index arrays if they're not already allocated. If it alloc ates the | |||
* character index array, it will fill it it. | * character index array, it will fill it it. | |||
* | * | |||
* This method supports right to left | * This method supports right to left | |||
* text with the ability to store the glyphs in reverse order, and by s upporting | * text with the ability to store the glyphs in reverse order, and by s upporting | |||
* character mirroring, which will replace a character which has a left and right | * character mirroring, which will replace a character which has a left and right | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 8 lines changed or added | |||
uvernum.h | uvernum.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
/** 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 | |||
*/ | */ | |||
#define U_ICU_VERSION_MAJOR_NUM 51 | #define U_ICU_VERSION_MAJOR_NUM 51 | |||
/** 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 2 | |||
/** 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 0 | #define U_ICU_VERSION_PATCHLEVEL_NUM 0 | |||
/** 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. | |||
* @stable ICU 4.0 | * @stable ICU 4.0 | |||
skipping to change at line 121 | skipping to change at line 121 | |||
#define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y ) | #define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y ) | |||
#define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_IC U_VERSION_SUFFIX) | #define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_IC U_VERSION_SUFFIX) | |||
#endif | #endif | |||
#endif | #endif | |||
/** 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 "51.1" | #define U_ICU_VERSION "51.2" | |||
/** 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 "51" | #define U_ICU_VERSION_SHORT "51" | |||
#ifndef U_HIDE_INTERNAL_API | #ifndef U_HIDE_INTERNAL_API | |||
/** Data version in ICU4C. | /** Data version in ICU4C. | |||
* @internal ICU 4.4 Internal Use Only | * @internal ICU 4.4 Internal Use Only | |||
**/ | **/ | |||
#define U_ICU_DATA_VERSION "51.1" | #define U_ICU_DATA_VERSION "51.2" | |||
#endif /* U_HIDE_INTERNAL_API */ | #endif /* U_HIDE_INTERNAL_API */ | |||
/*========================================================================= == | /*========================================================================= == | |||
* 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 | |||
*========================================================================= == | *========================================================================= == | |||
*/ | */ | |||
/** | /** | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||