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

Most of our fonts support the OpenType shaping features specified by Microsoft. 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 International Components for Unicode (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.

Data Conversion

Converting from Latin script (or any other script) to Arabic script is not usually a straightforward 1-1 conversion. However, it can be done. TECkit, SIL Converters, and the following webpage will be helpful in the process: Roman Script to Arabic Script Conversion.

Application Support for smart font rendering

The issues regarding whether an application 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 include 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 or 12.0.

Application Supports OpenType through Unicode version¹ Supports Graphite
Windows, macOS, Linux
   LibreOffice 7.3.4.2 Unicode 13.0 Unicode 14.0
   XeTeX (TeXLive 2022) Unicode 14.0 Unicode 14.0
   XeTeX (TeXLive 2021) Unicode 13.0 Unicode 14.0
   XeTeX (TeXLive 2020) Unicode 11.0 Unicode 13.0
   Mozilla Firefox 103.0.2+ Unicode 14.0 Unicode 14.0⁷
   Google Chrome 104.0.512.102 Unicode 14.0

Windows | |
   Microsoft Edge 104.0.1293.70 | Unicode 14.0 | ✗
   Windows 10 | Unicode 7.0 | ✗
   Windows 8.1 | Unicode 6.1² | ✗
   Notepad (Win10) | Unicode 7.0 | ✗
   Notepad (Win8.1) | Unicode 6.1² | ✗
   LibreOffice 5.2 | Unicode 7.0² | Unicode 9.0²,⁵
   Word 2010+ | Depends on OS support⁶ | ✗
   Publisher 2010+ | Depends on OS support⁶ | ✗
   Adobe InDesign CS6/CC 2015 | Unicode 5.1³ | ✗
   Adobe InDesign CC 2017 | Unicode 6.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.