I don't think there is a direct way to do this, from the brief research I did it looks like the Iran System is obsolete, though that doesn't help your problem. My advices is to create a Map which maps the numeric value of the Iranian System to the numeric equivalent in Unicode and vice versa. This isn't a huge problem but:
There isn't a map type in .net, which is a pity. You can fudge it a few ways, I've done it via dictionary (it is close with key/value instead of "key"/"key"), there is a discussion here[^]
Entering the numberic values by hand in code or config or somesuchis error prone. This[^] should help as there is a [almost] copy and paste value mapping
Internationized text is a real pain (as I'm learning to my cost), it is even worse for right-to-left languages such as Farsi.
Sort of a cross between Lawrence of Arabia and Dilbert.[^]
-Or-
A Dead ringer for Kate Winslett[^]