Converter for Zarnegar Encoding and File Format to Unicode Text Files

Skip to first unread message

Behnam Esfahbod

May 16, 2017, 3:09:34 AM5/16/17
to Persian Computing
Hi everyone,

I have published the first beta version of a converter I've written for Zarnegar file format and encoding (to Unicode, of course!) on GitHub:

It's a Python library, plus a command-line tool.

Let me know if you find it useful, like to contribute to, or find any bugs.

From the README file:

Zarnegar (Persian: زرنگار, zarnegār, meaning gold-depicting) is a commercial, stand-alone Persian/Arabic word processor program developed for MS-DOS and Windows. The first version of Zarnegar (for DOS), was released in April-May 1991, and Windows versions have been available since 2000.

Zarnegar has employed two different character sets and file formats.

Zarnegar1 Character Set

Zarnegar used an Iran System-based character encoding system, named Zarnegar1, with text file formats for its early versions, up to its "Zarnegar 75" version. Zarnegar1 character set is a 2-form left-to-right visual encoding, meaning the every Perso-Arabic letter receives different character codes based on its cursive joining form, but most letters receive only 2 forms, because of the limited code-points available2 forms, because of the limited code-points available.

This project has a partial implementation of Zarnegar1 encoding (zarnegar_converter/ and a full implementation of its binary and text file formats (zarnegar_converter/

Zarnegar75 Character Set

With "Zarnegar 75" version of the program, a new character encoding system was introduced, and the file format was changed to another binary format. Zarnegar75 character set is a 4-form bidirectional encoding, meaning that every Perso-Arabic letter receives one, two, or four character code, depending on its cursive joining form, and these letters are stored in the memory in the semantic order.

Support for Zarnegar75 file format and encoding is still in progress.


Behnam Esfahbod | بهنام اسفهبد

Reply all
Reply to author
0 new messages