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).

OpenType

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).

Graphite

Applications that support Graphite.

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.

No new Arabic script characters were added to Unicode 10.0.

Application Supports OpenType through Unicode version¹ Supports Graphite
Windows
   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²,⁵
   LibreOffice 5.3 Unicode 9.0 Unicode 9.0⁵
   Word 2010+ Depends on OS support⁶
   Internet Explorer 11 Depends on OS support
   Google Chrome 50.0 Unicode 7.0
   Google Chrome 59.0 Unicode 9.0
   Mozilla Firefox 54.0+ Unicode 9.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
   XeTeX (TeXLive 2017) Unicode 9.0 Unicode 9.0
   Paratext 7.5.100 Unicode 6.1 Unicode 8.0
   Paratext 8.0.100.12 Unicode 8.0 Unicode 9.0
   FLEx 8.2.6 Unicode 4.1 Unicode 8.0
   Bloom 3.5.1 Unicode 6.1 Unicode 8.0
   Bloom 3.8.8 Unicode 8.0 Unicode 9.0
Mac OSX
   LibreOffice 4.4.4.3+ 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³
Linux
   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:

²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.