X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/08b89b0a244153b9f5bbb2f49c55ab0f7298122e..b331163bffd790ced0e88b73f44f86d49ccc48a5:/icuSources/layout/LayoutEngine.cpp diff --git a/icuSources/layout/LayoutEngine.cpp b/icuSources/layout/LayoutEngine.cpp index 34125ab7..3e4d3456 100644 --- a/icuSources/layout/LayoutEngine.cpp +++ b/icuSources/layout/LayoutEngine.cpp @@ -1,5 +1,5 @@ /* - * (C) Copyright IBM Corp. and others 1998-2014 - All Rights Reserved + * (C) Copyright IBM Corp. and others 1998-2015 - All Rights Reserved */ #include "LETypes.h" @@ -606,9 +606,9 @@ LayoutEngine *LayoutEngine::layoutEngineFactory(const LEFontInstance *fontInstan break; } } else { - MorphTableHeader2 *morxTable = (MorphTableHeader2 *)fontInstance->getFontTable(morxTableTag); - if (morxTable != NULL && SWAPL(morxTable->version)==0x00020000) { - result = new GXLayoutEngine2(fontInstance, scriptCode, languageCode, morxTable, typoFlags, success); + LEReferenceTo<MorphTableHeader2> morxTable(fontInstance, morxTableTag, success); + if (LE_SUCCESS(success) && morxTable.isValid() && SWAPL(morxTable->version)==0x00020000) { + result = new GXLayoutEngine2(fontInstance, scriptCode, languageCode, morxTable, typoFlags, success); } else { LEReferenceTo<MorphTableHeader> mortTable(fontInstance, mortTableTag, success); if (LE_SUCCESS(success) && mortTable.isValid() && SWAPL(mortTable->version)==0x00010000) { // mort