We have really had enough. The Arabic web looks like awful.
If you can read that script, you already know that it’s a visual disaster with identical fonts and broken letters; and that’s on a good day. If you can’t, we’re sorry, it’s not our fault it looks so bad.
With the ubiquitous Flash player available – and almost the only option to consider when creating interactive campaigns – Arabic is struggling to survive.
Adobe’s Flash CS4 claims that it supports unicode. This should theoretically mean that all scripts are supported. Not!
This does not stand true for one and only one main language: Arabic (including Urdu & Farsi). And that’s for two main reasons:
- Arabic is one of the few languages today that is written right-to-left which, when mixed with Latin in the same context, creates several issues of wrapping, punctuation, and word order as they come into play with the beautiful lack of bidirectional support that Flash does not understand.
- Arabic is also one of the last standing languages that heavily relies on glyphs and characters that change their shape depending on their context and position within a word/sentence. When Arabic fonts are embedded within Flash, the player stops relying on the operating system to render the type and all hell breaks loose!
If you’re not an Arabic speaker, you’re probably confused by now, so here’s how Arabic works.
The Arabic alphabet has a unique difference from all other alphabets and writing systems in one main characteristic: the letters change in form based on their context in the word. Although the letter c looks exactly the same in the words cat, act and tac, this is not the case in Arabic. While the alphabet is 29 letters, the majority of those characters have 4 different shapes: Initial form, middle form, final form and isolated form.
The initial form refers to the form of a letter at the beginning of the word. Middle is the form of a letter in the middle of a word and final is at the end of the word. The example on the right shows the same letter in its four forms.
Once Arabic is embedded in Flash, the letter-forms break and are rendered in their isolated form without any bidirectional support. Below is an example of how the Arabic appears in Flash compared to how it should appear:
The above shows how once Latin characters are introduced into the equation, Flash fails at rendering Arabic in the right order if the Unicode Arabic is embedded.
The issues mentioned above are briefly mentioned in the Adobe Knowledge Base with no practical solution from Adobe until now. This is Flash 10! Come on! Ten versions and you guys are still oblivious?!
There are several non-Adobe workarounds to resolve these issues, all of which require spinning in a circle while touching your nose. Let’s hope Adobe fixes it in their next release before somebody gets really dizzy.