]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/layout/TrimmedArrayProcessor.cpp
ICU-6.2.4.tar.gz
[apple/icu.git] / icuSources / layout / TrimmedArrayProcessor.cpp
index 90e7850a972733bc401bfbd1d9ff72d10f5e3b38..a68c056267fb293d658afeb5767043ff368c31e0 100644 (file)
@@ -1,7 +1,6 @@
 /*
- * @(#)TrimmedArrayProcessor.cpp       1.6 00/03/15
  *
- * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
  *
  */
 
 #include "NonContextualGlyphSubst.h"
 #include "NonContextualGlyphSubstProc.h"
 #include "TrimmedArrayProcessor.h"
+#include "LEGlyphStorage.h"
 #include "LESwaps.h"
 
 U_NAMESPACE_BEGIN
 
-const char TrimmedArrayProcessor::fgClassID=0;
+UOBJECT_DEFINE_RTTI_IMPLEMENTATION(TrimmedArrayProcessor)
 
 TrimmedArrayProcessor::TrimmedArrayProcessor()
 {
@@ -35,17 +35,19 @@ TrimmedArrayProcessor::~TrimmedArrayProcessor()
 {
 }
 
-void TrimmedArrayProcessor::process(LEGlyphID *glyphs, le_int32 * /*charIndices*/, le_int32 glyphCount)
+void TrimmedArrayProcessor::process(LEGlyphStorage &glyphStorage)
 {
+    le_int32 glyphCount = glyphStorage.getGlyphCount();
     le_int32 glyph;
 
     for (glyph = 0; glyph < glyphCount; glyph += 1) {
-        TTGlyphID ttGlyph = (TTGlyphID) LE_GET_GLYPH(glyphs[glyph]);
+        LEGlyphID thisGlyph = glyphStorage[glyph];
+        TTGlyphID ttGlyph = (TTGlyphID) LE_GET_GLYPH(thisGlyph);
 
         if ((ttGlyph > firstGlyph) && (ttGlyph < lastGlyph)) {
             TTGlyphID newGlyph = SWAPW(trimmedArrayLookupTable->valueArray[ttGlyph - firstGlyph]);
 
-            glyphs[glyph] = LE_SET_GLYPH(glyphs[glyph], newGlyph);
+            glyphStorage[glyph] = LE_SET_GLYPH(thisGlyph, newGlyph);
         }
     }
 }