diff options
author | asaha <none@none> | 2014-06-03 08:32:34 -0700 |
---|---|---|
committer | asaha <none@none> | 2014-06-03 08:32:34 -0700 |
commit | 0a5a6e7371a08cfe5a3e43931502418502db07ad (patch) | |
tree | 32d58c710386f626f52f4c674d2c180596e055aa /src/share/native/sun | |
parent | 7e658e15c1e27a99668f5c5233ee09e81cfd9f11 (diff) | |
parent | 57ac5a110f8b4dfeb6d3305b2d35887066b9be04 (diff) |
Merge
Diffstat (limited to 'src/share/native/sun')
4 files changed, 7 insertions, 9 deletions
diff --git a/src/share/native/sun/font/layout/IndicLayoutEngine.cpp b/src/share/native/sun/font/layout/IndicLayoutEngine.cpp index d45ebb659..c50fbae61 100644 --- a/src/share/native/sun/font/layout/IndicLayoutEngine.cpp +++ b/src/share/native/sun/font/layout/IndicLayoutEngine.cpp @@ -151,7 +151,7 @@ le_int32 IndicOpenTypeLayoutEngine::characterProcessing(const LEUnicode chars[], le_int32 outCharCount; if (fVersion2) { _LETRACE("v2process"); - outCharCount = IndicReordering::v2process(&chars[offset], count, fScriptCode, outChars, glyphStorage); + outCharCount = IndicReordering::v2process(&chars[offset], count, fScriptCode, outChars, glyphStorage, success); } else { _LETRACE("reorder"); outCharCount = IndicReordering::reorder(&chars[offset], count, fScriptCode, outChars, glyphStorage, &fMPreFixups, success); diff --git a/src/share/native/sun/font/layout/IndicReordering.cpp b/src/share/native/sun/font/layout/IndicReordering.cpp index 7753e2465..22bbb7cf8 100644 --- a/src/share/native/sun/font/layout/IndicReordering.cpp +++ b/src/share/native/sun/font/layout/IndicReordering.cpp @@ -1096,9 +1096,13 @@ void IndicReordering::finalReordering(LEGlyphStorage &glyphStorage, le_int32 cou le_int32 IndicReordering::v2process(const LEUnicode *chars, le_int32 charCount, le_int32 scriptCode, - LEUnicode *outChars, LEGlyphStorage &glyphStorage) + LEUnicode *outChars, LEGlyphStorage &glyphStorage, LEErrorCode& success) { const IndicClassTable *classTable = IndicClassTable::getScriptClassTable(scriptCode); + if (classTable == NULL) { + success = LE_MEMORY_ALLOCATION_ERROR; + return 0; + } DynamicProperties dynProps[INDIC_BLOCK_SIZE]; IndicReordering::getDynamicProperties(dynProps,classTable); diff --git a/src/share/native/sun/font/layout/IndicReordering.h b/src/share/native/sun/font/layout/IndicReordering.h index f90bf1ba2..ca77fe0c6 100644 --- a/src/share/native/sun/font/layout/IndicReordering.h +++ b/src/share/native/sun/font/layout/IndicReordering.h @@ -181,7 +181,7 @@ public: static void adjustMPres(MPreFixups *mpreFixups, LEGlyphStorage &glyphStorage, LEErrorCode& success); static le_int32 v2process(const LEUnicode *theChars, le_int32 charCount, le_int32 scriptCode, - LEUnicode *outChars, LEGlyphStorage &glyphStorage); + LEUnicode *outChars, LEGlyphStorage &glyphStorage, LEErrorCode& success); static const FeatureMap *getFeatureMap(le_int32 &count); diff --git a/src/share/native/sun/font/layout/LEScripts.h b/src/share/native/sun/font/layout/LEScripts.h index 5524ef31a..bb1b07e03 100644 --- a/src/share/native/sun/font/layout/LEScripts.h +++ b/src/share/native/sun/font/layout/LEScripts.h @@ -263,12 +263,6 @@ enum ScriptCodes { tirhScriptCode = 158, /** - * @stable ICU 52 - */ - aghbScriptCode = 159, - mahjScriptCode = 160, - -/** * @stable ICU 2.2 */ scriptCodeCount |