For Arabic ICR engine you need to perfrom the following step:
In the ICR field for train each word in the first have to normalize the word.One of the method for normalization is moments-base normalization that use the first moments to center of gravity & second nu for size of normalization.
One of the best method for Arabic handwriting use skeleton for thinning the stroke.
In the next step you have to extract the terminal and intersection point.The best method for this purpose convert skeleton to graph.
In the final step you have to train samples with hidden markov model.In this step each terminal or intersection point consider the state.