Re: Keymap for Iranian Keyboards

From: Roozbeh Pournader (
Date: Tue Dec 05 2000 - 17:59:56 EST

Dear Mark,

I'm attaching the diff file for your data file. The changes are:

1. Considering glyph mirroring. '(' is really a closing parenthesis in
Persian, so it's code is U+0029 and not U+0028. You had also dropped '{'.

2. Removing 'hM' and 'iM', since they are not in the standard. If one
really tries to be standard conformant regarding ISIRI 2901:1994's Hamza,
he should be aware of contextual information. The section on Hamza is
really ambigious in the standard, which considers Hamza to be a
right-joining character which becomes the non-spacing "U+0654 Hamza Above"
when joins to right, but can be followed by ZWJ to join to left and become
"U+0626 Yeh With Hamza Above"; it is "U+0621 Hamza" in isolated form. I'm
sure this is not implemented anywhere. The most conformant application I
know, is the FarsiTeX editor, which ignores the Joiner Non-Joiner tricks,
and adds a non-spacing Hamza to the keyboard. Even this has created
problems for users complaining about the behaviour.

There is a 2901 revision under way, which will address Unicode
compatiblity. Until then, we recommend ignoring the tricks.

But for the fun of Standard conformance, here are all the examples from
the ISIRI 3342 standard which is referenced by 2901 regarding Hamza (I'll
use Unicode character names, on the left column you will see the
keystrokes, or ISIRI 3342 characterss, while on the right side is Unicode

Hamza ZWJ Farsi-Yeh Dal ... -> Yeh-Hamza Farsi-Yeh Dal ...
Meem Seen Hamza ZWJ Lam Heh -> Meem Seen Yeh-Hamza Lam Heh
Teh Alef ZWJ Hamza Lam Farsi-Yeh FEh -> Teh Alef-Hamza Lam Farsi-Yeh Feh
Jeem Zain Hamza -> Jeem Zain Hamza
Sheen Farsi-Yeh ZWNJ Hamza -> Sheen Farsi-Yeh Hamza
Alef ZWJ Hamza -> Alef-Hamza
Waw ZWJ Hamza -> Waw-Hamza
Farsi-Yeh ZWNJ Hamza -> Yeh-Hamza (!!! an error, or an ambiguity?)


This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:21:17 EDT