The latest official Persian keyboard layout is 9147 issued on April 28, 2007 by the Institute of Standards and Industrial Research of Iran.
The layout provides characters in three levels:
- Level 1: “Normal State”
Provides primary Persian letters and Persian numbers.
- Level 2: “Shift State”
Provides additional Persian letters, Arabic diacritics, Persian punctuation marks, mathematical symbols, and a few Latin symbols.
- Level 3: “AltGr State”
Provides remaining Persian letters and diacritics, and a few practical Latin ASCII characters.
Reading emails and comments by Windows 7 Persian keyboard layout users, I was convinced there is no perfect ISIRI 9147 Persian keyboard layout library compilation—at least for its 64-bit edition—as if they are there, but with flaws:
- Shift+Space does not provide U+200C (Zero-Width Non-Joiner).
- An incorrect flag setting results in right Alt not being treated as Ctrl+Alt (AltGr).
- Numeric keypad does not provide Persian numbers and Persian decimal separator.
- Layout experimental installation causes problems especially on Windows 7.
- Relying on the MSI installer bundled with MSKLC, they do not come with proper installers.
- Improper compilation settings occasionally result in insane-looking problems with indistinctive applications on Windows 7.
What you’re about to read is the result of our efforts at Chortkeh towards compiling a set of flawless keyboard layout DLL files compatible with modern-day Windows family.
Chortkeh Persian Keyboard Layout Based on ISIRI 9147:2007 with Latin Numeric Keypad
Latin numbers are required in case you are having trouble with programs not compatible with Unicode Persian numbers.
- Download Chortkeh Persian keyboard layout based on ISIRI 9147:2007 with Latin numeric keypad for Windows x86
- Download Chortkeh Persian keyboard layout based on ISIRI 9147:2007 with Latin numeric keypad for Windows x64
- Download Chortkeh Persian keyboard layout based on ISIRI 9147:2007 with Latin numeric keypad for Windows x64 for Itanium
- Download Chortkeh Persian keyboard layout based on ISIRI 9147:2007 with Latin numeric keypad for Windows x86 on Windows x64 (WoW64)
Chortkeh Persian Keyboard Layout Based on ISIRI 9147:2007 with Persian Numeric Keypad
- Download Chortkeh Persian keyboard layout based on ISIRI 9147:2007 with Persian numeric keypad for Windows x86
- Download Chortkeh Persian keyboard layout based on ISIRI 9147:2007 with Persian numeric keypad for Windows x64
- Download Chortkeh Persian keyboard layout based on ISIRI 9147:2007 with Persian numeric keypad for Windows x64 for Itanium
- Download Chortkeh Persian keyboard layout based on ISIRI 9147:2007 with Persian numeric keypad for Windows x86 on Windows x64 (WoW64)
How to Install
Download and save both the keyboard layout installer (chortkeh-install-kbdfa.cmd) and the Persian keyboard layout (kbdfa.dll) at the same folder, and run as administrator chortkeh-install-kbdfa.cmd. Then in the command-line you need to press “c” and hit Enter to continue with the installation. Please note once finished, the installer will restart your system, so save any unsaved work, and close running programs before launching the installer. Also please note you need to be an administrator to be able to modify system files.
Download Link [Updated December 19, 2015]
- Download Chortkeh Keyboard Layout Installer for Windows 10, 8.1, 8, 7, Vista, XP and Windows Server 2016, 2012 R2, 2012, 2008 R2, 2008, 2003 (chortkeh-install-kbdfa.cmd, Revision 4, December 19, 2015)
Copyright Notice and Legal Disclaimer
- As part of proprietary software Chortkeh TransOffice, DLL files provided for download are not free software. Protected by Copyright Law, reproduction and/or manipulation of this computer program, or any portion of it, is prohibited. You are only allowed to download, install, use, uninstall (or delete) Chortkeh Persian keyboard layout DLL files.
- Though permissible, direct sharing of the DLL files is not recommended. Instead, provide a link to the relevant article, so that the reader has access to the original material and the potential updates.
- While Microsoft accepts no obligations or technical support in case of producing such keyboard layouts using MSKLC, Microsoft should not be held responsible for any loss or damage of any sort, because Chortkeh Persian keyboard layout DLL files are not produced by MSKLC.
- Chortkeh Persian keyboard layout is distributed “as is”, with no obligations or technical support from Chortkeh, and Chortkeh is not responsible for any damage, nor guaranteeing the functionality of the software.
I’m learning Persian, and I’m curious: What is the purpose of the zero-width joiner (اتصال مجازی U+200D) character, on the upper left key? I understand the need for the zero-width NON-joiner on Shift+Space, for typing things like دیدهام, but I don’t know why one would need a joiner character.
When one is dealing with Perso-Arabic alphabet as stand-alone letters rather than transforming glyphs which literally join together to make words, Perso-Arabic alphabet are being shown as their isolated form.
Examples include the isolated Persian letter that’s surrounded by numbers on Iranian license plates, and isolated letters people write inside Persian crossword puzzles.
But an exception to this rule is
U+0647: Arabic Letter Heh (ه), where its initial (چسبانِ اول) form
U+FEEB: Arabic Letter Heh Initial Form (ﻫ)is preferred as its isolated (تنها) form rather than its official
U+FEE9: Arabic Letter Heh Isolated Form (ﻩ).
If you take a look at Iranian (and Arab states’) license plates which include letter Heh, you can clearly see it’s been preferably printed as Heh’s initial form (ﻫ), while all other letters follow the general rule of being printed as their isolated form.
Logical reason behind this exception is for Heh not to be confused with similarly looking
U+0665: Arabic-Indic Digit Five (٥)— which itself is different from
U+06F5: Extended Arabic-Indic Digit Five (۵).
Now, to produce an initial form of Heh using keyboard, one needs to type in a Heh (an “I” keystroke) followed by a
U+200D: Zero-Width Joiner (ZWJ):
ه + ZWJ = ﻫ
The ZWJ which comes after Heh, tells letter Heh to transform into its initial form (glyph). Without the ZWJ, letter Heh, not followed by a joiner letter, would simply stay at its isolated form (glyph).
A ZWJ before a Persian letter, transforms it into final (چسبانِ آخر) form:
ZWJ + ه = ﻪ
Another trick with two ZWJs is to produce a Persian letter’s medial (وسط) form:
ZWJ + ک + ZWJ = ﮑ
ZWJ + ی + ZWJ = ﯿ
This also applies to essentially the same letters in Arabic:
ZWJ + ك + ZWJ = ﻜ
ZWJ + ي + ZWJ = ﻴ