The string is converted into glyphs [607, 460, 471, 1651] by the GSUB table. I can detect the correct anchor-attachment of the second glyph under the first one. But I can not find an appropriate GSUB rule, that would position the third glyph on top of the first one. Here, the left one is correct, the right one is what my program does at the moment.
Could you look into the OTF file (and possibly use your favourite software) and explain to me, what rule precisely is responsible for positioning the third glyph? I see, that the "mark" feature defines several lookup tables for that glyph (one of type 4: Mark-to-base and the rest of type 5: Mark-to-ligature), but I can not match the previous glyph with any of them.