Since Arabic script is complex, applications must support all the special features Arabic requires. This includes supporting right-to-left behavior, positional forms of characters (isolate, initial, medial and final) as well as dynamically positioned diacritics, ligatures, or alternate glyphs.
There are three main kinds of smart font rendering. These are OpenType, Graphite and AAT (Apple Advanced Typography).
There are various flavors of OpenType. A number of applications on Windows might use Uniscribe or DirectWrite to provide OpenType support. Some applications might support ICU OpenType rendering. Others, such as Adobe products, have their own rendering engine. Many applications have moved to using Harfbuzz (which can support both OpenType and Graphite rendering).
AAT (Apple Advanced Typography)
Older versions of Scheherazade and Lateef supported AAT. However, none of our current font versions support AAT.
Right-to-left scripts in Microsoft Office
This template provides helpful hints on use of right-to-left (RTL) scripts in Microsoft Word along with some macros designed to deal with various RTL-related issues.
Application Support for smart font rendering
The issues regarding whether an applications supports one rendering engine or another are quite complex. We do not attempt to tell you which OpenType rendering engine an application is using. However, the list below does list which version of Unicode an application may support in OpenType rendering.
During our testing we found that the version of an application is often more important than the version of the Operating System (unless a very old Operating System is being used). Unless we indicate an OS version (such as Win8.1) it likely will not make much difference the level of support.
|Application||Supports OpenType through Unicode version¹||Supports Graphite|
|Windows 7.0||Unicode 4.1||✗|
|Windows 8.1||Unicode 6.1²||✗|
|Windows 10||Unicode 7.0||✗|
|Notepad (Win8.1)||Unicode 6.1²||✗|
|Notepad (Win10)||Unicode 7.0||✗|
|LibreOffice 5.2||Unicode 7.0²||Unicode 9.0²,⁵|
|Word 2010+||Depends on OS support⁶||✗|
|Internet Explorer 11||Depends on OS support||✗|
|Google Chrome 50.0||Unicode 7.0||✗|
|Mozilla Firefox 50.1.0+||Unicode 8.0||Unicode 9.0⁷|
|Publisher 2010+||Depends on OS support⁶||✗|
|Adobe InDesign CS6/CC 2015||Unicode 5.1³||✗|
|Adobe InDesign CC 2017||Unicode 6.0³||✗|
|XeTeX (TeXLive 2014)||Unicode 6.1||Unicode 8.0|
|XeTeX (TeXLive 2015)||Unicode 7.0||Unicode 8.0|
|XeTeX (TeXLive 2016)||Unicode 8.0||Unicode 9.0|
|Paratext 7.5.100||Unicode 6.1||Unicode 8.0|
|FLEx 8.2.6||Unicode 4.1||Unicode 8.0|
|Bloom 3.5.1||Unicode 6.1||Unicode 8.0|
|LibreOffice 126.96.36.199+||Unicode 7.0||✗|
|Nisus Writer Pro v. 2.1.4||Unicode 7.0||✗|
|Nisus Writer Express 3.4.6||Unicode 7.0||✗|
|Apple Pages 5.6||Unicode 7.0⁴||✗|
|Microsoft Word for Mac v. 15.19.1 (160212)||Unicode 4.1||✗|
|Microsoft Word 2011||Unicode 4.1||✗|
|TextEdit 1.11||Unicode 7.0||✗|
|Adobe InDesign CS6+||Unicode 5.1³||✗|
|LibreOffice 5.1||Unicode 6.1²||Unicode 8.0⁵|
¹Since many applications only support Arabic script up to a certain version of Unicode, we list the Arabic script characters added to different versions of Unicode since Unicode 5.1:
- Unicode 5.1: U+0606..U+060A, U+0616..U+061A, U+063B..U+063F, U+076E..U+077F
- Unicode 6.0: U+0620, U+065F
- Unicode 6.1: U+0604, U+08A0, U+08A2..U+08AC, U+08E4..U+08FE
- Unicode 6.3: U+061C
- Unicode 7.0: U+0605, U+08A1, U+08AD..U+08B2, U+08FF
- Unicode 8.0: U+08B3..U+08B4, U+08E3
²Does not implement support for U+08EA..U+08EF (Rohingya tone marks).
³InDesign CS6+ supports Stylistic Sets. However, most of our Arabic fonts use Character Variants and InDesign does not yet support Character Variants.
⁴May not consistently render U+06DD End of Ayah.
⁵Older versions may have rendering errors (duplicating characters).
⁶Office stopped redistributing Uniscribe with Office 2010. Since then, all new versions have been using the OS for shaping.
⁷Graphite support in Firefox is available on Windows, Linux and OSX. Please see graphite.sil.org for instructions on enabling Graphite in Firefox.