This old post describes why I needed to replace Microsoft Windows’ own Persian (Farsi) keyboard layout—kbdfa.dll.
The new Chortkeh Persian Keyboard Layout (kbdfa.dll) Revision 4 (June 10, 2009), compatible with Windows 7, adds support for Arabic Hamza Above (U+0654) and Arabic Decimal Separator (U+066B) comparing to its predecessor.
Please note both the x86 and x64 compilations are available in three types, representing Persian or Latin numbers on the main section of the keyboard and the numeric keypad.
Download Link
Installer [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)
Type 1: Latin Numeric Keypad, Latin Upper Numeric Row
- Download Chortkeh Persian Keyboard Layout with Latin numbers for Windows 32-Bit Family (x86) (kbdfa.dll, Revision 4, June 10, 2009)
- Download Chortkeh Persian Keyboard Layout with Latin numbers for Windows 64-Bit Family (x64) (kbdfa.dll, Revision 4, June 10, 2009)
Type 2: Latin Numeric Keypad, Persian Upper Numeric Row
- Download Chortkeh Persian Keyboard Layout with Latin numeric keypad for Windows 32-Bit Family (x86) (kbdfa.dll, Revision 4, June 10, 2009)
- Download Chortkeh Persian Keyboard Layout with Latin numeric keypad for Windows 64-Bit Family (x64) (kbdfa.dll, Revision 4, June 10, 2009)
Type 3: Persian Numeric Keypad, Persian Upper Numeric Row
- Download Chortkeh Persian Keyboard Layout with Persian numeric keypad for Windows 32-Bit Family (x86) (kbdfa.dll, Revision 4, June 10, 2009)
- Download Chortkeh Persian Keyboard Layout with Persian numeric keypad for Windows 64-Bit Family (x64) (kbdfa.dll, Revision 4, June 10, 2009)
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.
Thanks, i try the chortke kbdfa on windows seven 64 and it works fine, but it would be better if shift+space defined into chortke kbdfa.
thanks anyway
Dear Sir
thank you very much this is a great tool. the only thing is that in my computer i can’t use ي properly. would you please help me. thank you in advance.
The character you’ve mentioned, “ي” (U+064A) called Arabic Letter Yeh, is not a Persian letter, and because of that, Chortkeh Persian Keyboard Layout doesn’t include it. The right character for that purpose is “ی” (U+06CC) called Arabic Letter Farsi Yeh.
Dear Komeil
Thanks for the answer. it is OK with for example B Nazanin font but when i use Nazanin font i cant have small yeh it always shows Big one. what can i do?
All fonts with the “B” prefix, were designed by Borna Rayaneh for Parsa, like a century ago. Prior to Version 2.01 (Build 1379), they didn’t have the glyphs for the initial (چسبان اول) and medial (چسبان وسط) forms of U+06CC Persian Yeh. They only included the glyphs for the final (چسبان آخر) and isolated (تنهای آخر) forms. So, when you use those fonts, Windows GDI, in its wisdom, displays the existing capital forms of Yeh instead of nonexisting small form glyphs. Apart from Persian/Farsi Yeh of the past, even today, Borna fonts lack a few other essential glyphs including Arabic Hamza Above (U+0654). I’m totally against using Arabic Yeh, even for representing the missing initial and medial forms of Yeh, so Chortkeh Persian Keyboard Layout—unlike Microsoft’s—won’t contain Arabic Yeh, ever. Suggestion: Use Microsoft fonts with full Persian Unicode subrange defined:
Andalus, Arabic Typesetting, Arial, Courier New, Microsoft Sans Serif, Microsoft Uighur, Sakkal Majalla, Segoe UI, Simplified Arabic, Simplified Arabic Fixed, Tahoma, Times New Roman, Traditional Arabic
Take a look at Sakkal Majalla, a really nice new font included in Windows 7.
Dear Komeil
Thanks a lot
On January 5, 2014 (۱۵ دی ۱۳۹۲), scict.ir (شورای عالی اطلاعرسانی) released 39 typefaces (59 files) which include fixed editions of the old Borna Rayaneh “B” series fonts. Now, the first problem is you need to edit your documents and change paragraphs with
B Nazanin
toIRNazanin
, and then the second problem is the difference between glyph parameters including character width and kerning, which affects word length (in pixels) and consequently makes your entire paragraph’s length incompatible with the old fonts, and lines break at different locations while staying at the same font size.List of files, typefaces and their Persian names:
IRAban.ttf
IRAban Aban آبانIRAmir.ttf
IRAmir Amir امیرIRArshia.ttf
IRArshia Arshia ارشیاIRBadr.ttf
IRBadrBold.ttf
IRBadrIranic.ttf
IRBadr Badr بدرIRCompset.ttf
IRCompsetBold.ttf
IRCompsetIranic.ttf
IRCompset Compset کامپستIRDastNevis.ttf
IRDastNevis DastNevis دست نویسIRDavat.ttf
IRDavat Davat دواتIRElham.ttf
IRElham Elham الهامIREntezar.ttf
IREntezar Entezar انتظارIRFarnaz.ttf
IRFarnaz Farnaz فرنازIRFerdosi.ttf
IRFerdosi Ferdosi فردوسیIRHoma.ttf
IRHoma Homa هماIRJadid.ttf
IRJadid Jadid جدیدIRKamran.ttf
IRKamran Kamran کامرانIRKhorasan.ttf
IRKhorasan Khorasan خراسانIRKoodak.ttf
IRKoodak Koodak کودکIRLotus.ttf
IRLotusBold.ttf
IRLotusIranic.ttf
IRLotus Lotus لوتوسIRMaryam.ttf
IRMaryam Maryam مریمIRMashhad.ttf
IRMashhad Mashhad مشهدIRMehr.ttf
IRMehr Mehr مهرIRMitra.ttf
IRMitraBold.ttf
IRMitraIranic.ttf
IRMitra Mitra میتراIRMomtaz.ttf
IRMomtaz Momtaz ممتازIRNarges.ttf
IRNarges Narges نرگسIRNaskh.ttf
IRNaskh Naskh نسخIRNazanin.ttf
IRNazaninBold.ttf
IRNazaninIranic.ttf
IRNazanin Nazanin نازنینIRNazli.ttf
IRNazliBold.ttf
IRNazli Nazli نازلیIRNemad.ttf
IRNemad Nemad نمادIRPooya.ttf
IRPooya Pooya پویاIRRoya.ttf
IRRoyaBold.ttf
IRRoyaIranic.ttf
IRRoya Roya رویاIRShiraz.ttf
IRShiraz Shiraz شیرازIRSina.ttf
IRSina Sina سیناIRTabassom.ttf
IRTabassom Tabassom تبسمIRTehran.ttf
IRTehran Tehran تهرانIRTerafik.ttf
IRTerafikBold.ttf
IRTerafikIranic.ttf
IRTerafik Terafik ترافیکIRTitr.ttf
IRTitr Titr تیترIRYakout.ttf
IRYakoutBold.ttf
IRYakoutIranic.ttf
IRYakout Yakout یاقوتIRYekan.ttf
IRYekanBold.ttf
IRYekan Yekan یکانIRZar.ttf
IRZarBold.ttf
IRZarIranic.ttf
IRZar Zar زرIRZeytoon.ttf
IRZeytoon Zeytoon زیتونDear Komeil,
Thanks for your attention.
can you tell me what is non-joiner keyword shortcut key?
I tried shift+space and shift+b but both of them not worked.
tnx
As shown on the layout picture, the zero-width non-joiner (ZWNJ) can be typed using either Shift+Z or Shift+].
Shift+Space and Shift+B represent the ZWNJ under FarsiWeb/ISIRI 9147 Persian keyboard layout implementation.
What is the key combination for a pseudo space for such cases as
می روم
ZWNJ is located at Shift + Z.
Thank you, It’s great .
Dear Komeil,
can you please tell me difference between typ1,2,3 ?
The difference is between how numbers are represented when Chortkeh Persian Keyboard is active.
Latin numbers: 0123456789
Persian numbers: ۰۱۲۳۴۵۶۷۸۹
Arabic numbers: ٠١٢٣٤٥٦٧٨٩ (not included in Chortkeh Persian Keyboard)
Please note standard desktop computer keyboards, such as the 101-key US traditional keyboards or the 104-key Windows keyboards include two sets of numeric keys. One is the upper row which is the same on laptop keyboards, and the other being called a numeric keypad (or number pad, commonly abbreviated to numpad) which is missing on smaller laptops. Many laptop computers have special function keys which turn part of the alphabetical keyboard into a numerical keypad as there is insufficient space to allow a separate keypad to be built into the laptop’s chassis.
Now, the difference:
Type 1 provides all Latin numbers.
Type 2 provides Latin numbers at the numeric keypad and Persian numbers at the upper numeric row.
Type 3 provides all Persian numbers.
It is obvious if you have an entry field (either a desktop program’s text box or a certain website’s input) that only accepts Latin numbers while you had Type 2 or 3 installed, you need to switch languages (from فا to ENG, and then back) to be able to type in to that field.
I always encourage Persian Desktop/Mobile/Web developers to make their numeric input fields smart, meaning it could accept both Persian and Latin (and even Arabic) numbers, but then (convert and) show them as Persian, and further (convert and) store them as Latin digits.