Skip to main content

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.

Project details


Download files

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

Source Distribution

zarnegar-converter-0.1.3.tar.gz (11.8 kB view details)

Uploaded Source

File details

Details for the file zarnegar-converter-0.1.3.tar.gz.

File metadata

File hashes

Hashes for zarnegar-converter-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9c113de4683a06f9b3375b3994d9be8c665c11e9d07c19de6a932708155ac59f
MD5 360ee3f93c5ecca2b82ebf59abce574b
BLAKE2b-256 84323f93a4a3b79949aa55e792e7234f35f0296099f123c8b066e0cf82b54103

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page