Skip to main content
Help us improve Python packaging – donate today!

Converter for Zarnegar Encoding and File Format to Unicode Text Files

Project Description

Homepage: https://github.com/behnam/python-zarnegar-converter

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/zar1_encoding.py) and a full implementation of its binary and text file formats (zarnegar_converter/zar1_file.py).

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.

How to Use

$ ./src/zarnegar-converter.py unicode_legacy_lro samples/zar1-sample-text-01.zar
‭                                                          ﻡﺎﯾﺧ ﺕﺎﯾﻋﺎﺑﺭ ﻩﺭﺎﺑﺭﺩ |
‭                                                            ﯽﻧﭘﺍﮊ ﺭﻌﺷ ﺭﺩ ﻭﮐﯾﺎﻫ |

How to Contribute

Please report any issues at <https://github.com/behnam/python-zarnegar-converter/issues> or submit GitHub pull requests.

The encoding mappings (both Zarnegar1 and Zarnegar75) can be improved with access to more sample files. Please write to <behnam@zwnj.org> if you like to contribute (private or public) Zarnegar source files to improve this project.

Acknowledgements

Thanks to Cecil H. Green Library of Stanford University, specially John A Eilts and Behzad Allahyar, for sharing their collection of Zarnegar documents.

Also thanks to The Official Website of Ahmad Shamlou for sharing their collection of documents.

Release history Release notifications

This version
History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
zarnegar-converter-0.1.3.tar.gz (11.8 kB) Copy SHA256 hash SHA256 Source None May 11, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page