--- icu.orig/source/layout/OpenTypeLayoutEngine.cpp 2007-12-11 11:18:20.000000000 +0000 +++ icu/source/layout/OpenTypeLayoutEngine.cpp 2007-12-11 11:19:22.000000000 +0000 @@ -338,7 +338,9 @@ for (le_int32 g = 0; g < glyphCount; g += 1) { LEGlyphID glyph = glyphStorage[g]; - if (glyph == zwnj) { + if (!glyph) { + continue; + } else if (glyph == zwnj) { glyphStorage[g] = LE_SET_GLYPH(glyph, 0xFFFF); } else if (glyph == nbsp) { glyphStorage[g] = LE_SET_GLYPH(glyph, 0x0003);