]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/layout/LigatureSubstSubtables.cpp
ICU-57132.0.1.tar.gz
[apple/icu.git] / icuSources / layout / LigatureSubstSubtables.cpp
index 6e278e390c4e249fd21ae9715ba35da6af00d570..16d61ed174cf3a40dfd6c8b1b0adb3c0cfb70f45 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1998-2015 - All Rights Reserved
  *
  */
 
  *
  */
 
@@ -27,6 +27,9 @@ le_uint32 LigatureSubstitutionSubtable::process(const LETableReference &base, Gl
             Offset ligTableOffset = SWAPW(ligSetTable->ligatureTableOffsetArray[lig]);
             const LigatureTable *ligTable = (const LigatureTable *) ((char *)ligSetTable + ligTableOffset);
             le_uint16 compCount = SWAPW(ligTable->compCount) - 1;
             Offset ligTableOffset = SWAPW(ligSetTable->ligatureTableOffsetArray[lig]);
             const LigatureTable *ligTable = (const LigatureTable *) ((char *)ligSetTable + ligTableOffset);
             le_uint16 compCount = SWAPW(ligTable->compCount) - 1;
+            LEReferenceToArrayOf<TTGlyphID>
+                componentArrayRef(base, success, ligTable->componentArray, compCount);
+            if (LE_FAILURE(success)) { return 0; }
             le_int32 startPosition = glyphIterator->getCurrStreamPosition();
             TTGlyphID ligGlyph = SWAPW(ligTable->ligGlyph);
             le_uint16 comp;
             le_int32 startPosition = glyphIterator->getCurrStreamPosition();
             TTGlyphID ligGlyph = SWAPW(ligTable->ligGlyph);
             le_uint16 comp;