What I suspect is Fontlab's implementation of the GSUB table that have problems. I've seen Fontlab under windows (Demo version) reading arabic fonts, displaying some wierd GSUB table structure. I'm not sure how the Mac version works. Maybe you can show me some of your work and I'll try to find out what is the problem.
So it looks like we really need to write an OT Service provider to work with Freetype. Anybody game? I've started looking at the Freetype code; it's very clean and well-organized, and they have a bunch of OT stuff that they're migrating out of FT, since it is outside of the scope of FT.
I don't think we need to create one, Pango and ICU is out there. We just need to improve it to get it all right.
-gregg