The Free Ressam (Er Ressam il Hur)

Introduction

Some programs don't properly support the display of Arabic text:
Letters appear disconnected, and are displayed from left to right, as if they were Roman characters. In other words, such programs don't process Arabic text before displaying it.

To work around this problem, some people use the character map and hand-pick shaped Arabic characters. I know people used to do that with online games such as Counter-Strike, to write their nicknames in Arabic.

The Free Ressam is a solution to automate this process; instead of hand-picking the correct character forms from a character-map like program, you just enter the text you want (which could be mixed Arabic and English, and even numbers or other languages), and the Free Ressam will produce from it a string that's suitable to enter into a program that supports unicode but doesn't support the display of Arabic text.

There's more technical explanation in technical_english.html.

Usage Instructions:

The basics:

Write some text in the given text box, press copy, then go and paste the text into a program that does not support proper rendering of Arabic text

UI Elements:

The user interface consists of a text area and a few buttons. They are designed to be simple and straight forward. Here's a run down of what each button does:

Keyboard shortcuts

The Free Ressam provides keyboard shortcuts to accelerate working with it. They are:

What kind of text can I write?

You can write short text, it could be mixed Arabic/English, but it has to be short enough to not wrap across lines. If the target program wraps the text across several lines, the first line will be at the bottom, and the last line at the top. To work around this, divide the text into several lines manually inside The Free Ressam, before pressing the "Copy" button.

How does it work? Why aren't some fonts or programs supported?

The Free Ressam takes advantage of the unicode specification, to convert arabic letters into their presentation forms, see the Introduction.

For the text to appear correctly on the target program, it must support unicode. If the target program does not support unicode, then there's nothing we can do about it.

Unfortunately, some thid-party fonts can't render the text in its converted format, again, there is nothing we can do about that. All system fonts should work fine, though.

Can I write harakat/tashkeel? Are they supported?

Yes you can, however, they don't work on all fonts, and they may either put a space between letters or appear in the wrong place, depending on the font.

In my testing of the program, they worked fine in Arial and Tahoma font. In the Diwani and Farsi fonts, they appear in the wrong place, and on the Thuluth and Traditional Arabic fonts, they put a space between letters.

We need more testing to get more accurate list of which fonts support the harakat/tashkeel.

Contact/Support information

This project is developed by Hasen Arif il Judy "hasan.aljudy@gmail.com". The project's home page (as of the moment of writing this) is at http://wiki.github.com/hasenj/arabic-writer.

It's Open Source, it's Free (of restrictions) and is distributed for Free (of charge). It's provided as-is, without any warranty or guarantees.

The source code is available on github

To report bugs, use the issue tracker at guthub.

When I say this is Free Software, I mean you are Free to use it anyway you want, you can share it with your friends, you can study how it works, and you can modify it and distribute your modifications. The only condition is that you keep it free of restrictions: no one can re-distribute this program with additional restrictions. For example, if you enhance this program by adding features to it or fixing bugs, you may release your changes, but you may not place restrictions on using it (such as telling the end user that he cannot share it with his friends).

To preserve this freedom, the program is released under the terms of GPL version 2.