To build correct “character chains” PD4ML currently utilizes Arabic ligaturizer, ported from a reference C implementation from IBM (I believe). To be honest we are not 100% sure how it works, as nobody from our team understands Arabic scripting. We’ll try to find an updated version of the ligaturizer – hopefully it exists. If not, it is going to be a challenge to update the current one.