{"id":572,"date":"2019-12-18T10:34:19","date_gmt":"2019-12-18T10:34:19","guid":{"rendered":"https:\/\/research.reading.ac.uk\/typoarabic\/?p=572"},"modified":"2020-03-30T08:45:26","modified_gmt":"2020-03-30T07:45:26","slug":"on-arabic-justification-part-2-software-implementations","status":"publish","type":"post","link":"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/","title":{"rendered":"On Arabic justification, part 2 \u2013 software implementations"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>In the <a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-1\/\">first post<\/a> of this series, I summarised a brief history of typographic justification of Arabic. It provides the background for the observations that follow, discussing how text can be justified in current software environments. The observations in this discussion are always temporary, since software updates may change the situation over night. Having said that, developments in the support of Arabic typography are not as rapid as the pace of wider technological advances would suggest. Although much has changed since the introduction of computer typesetting, many aspects of Arabic typography have changed little in comparison to thirty years ago. Many of the underlying assumptions have remained in place, as demonstrated by the perseverance of the Tatweel character, or the semantic encoding of Arabic ligatures in <i>The Unicode Standard<\/i>.<\/p>\n<p>&nbsp;<\/p>\n<h2>How current is current practice?<\/h2>\n<p>The two central technologies of current mainstream typography, <a href=\"https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/\" target=\"_blank\" rel=\"noopener noreferrer\">OpenType<\/a> and <a href=\"http:\/\/www.unicode.org\" target=\"_blank\" rel=\"noopener noreferrer\">Unicode<\/a>, promised global typography at their inception. Both are now well into their twenties, having been published in 1996 and 1991 respectively.<a id=\"fnlink1\"><\/a><a href=\"#fn1\"><sup>1<\/sup><\/a> By way of a reminder, 1991 was the year of the Second Gulf War; the year when Tim Berners Lee announced the World Wide Web; the year the Soviet Union was dissolved; the year that the Yugoslavian civil war commenced; when Bill Clinton was yet to run for president; and when Michael Jordan won his first NBA championship.<\/p>\n<figure id=\"attachment_515\" aria-describedby=\"caption-attachment-515\" style=\"width: 1280px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-515 size-full\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/MJMJ-e1576309069216.jpeg\" alt=\"Michael Jordan defends against Magic Johnson\" width=\"1280\" height=\"688\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/MJMJ-e1576309069216.jpeg 1280w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/MJMJ-e1576309069216-300x161.jpeg 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/MJMJ-e1576309069216-1024x550.jpeg 1024w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/MJMJ-e1576309069216-768x413.jpeg 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><figcaption id=\"caption-attachment-515\" class=\"wp-caption-text\">Michael Jordan defends against Magic Johnson during the 1991 NBA finals.<\/figcaption><\/figure>\n<p>Yet the fragmented support of OpenType features by text layout engines, the continuation of competing font formats, and widely divergent agendas of key stakeholders prevented the main typographic technologies from advancing substantially beyond their Western origins.<a id=\"fnlink2\"><\/a><a href=\"#fn2\"><sup>2<\/sup><\/a> Apple, for example, keeps maintaining and developing its in-house text layout engine <a href=\"https:\/\/developer.apple.com\/fonts\/TrueType-Reference-Manual\/RM06\/Chap6AATIntro.html\">Apple Advanced Typography<\/a> (AAT) in parallel to providing support for OpenType, in effect dividing the resources available for typography between two formats. As a consequence, support for AAT is better than support for OT, despite the latter being much more widely used. Adobe\u2019s record for typographic support beyond the Western hemisphere has been haphazard too. Since the making of Middle Eastern versions of Adobe\u2019s applications was pulled from a dedicated supplier, and handed to in-house development, advances were piecemeal, poorly documented, and opaque. The gradual roll-out of the so-called \u2018Adobe World-Ready Paragraph Composer\u2019 is moderated by the continued use of the older \u2018Adobe Paragraph Composer\u2019 for backwards compatibility. Its features are not comprehensive, as will be shown below. Microsoft has been one of the more active proponents of the OpenType format, developing lighthouse projects such as the fonts \u2018Arabic Typesetting\u2019 and \u2018Al-Dhabi\u2019. Yet typographic support in its flagship application suite Office remains inconsistent, with a user interface that leaves much to be desired, and hamstrung by irreconcilable contradictions between the aspirations of the designed typefaces, and the underlying technology.<\/p>\n<p>&nbsp;<\/p>\n<h2>Non-Silicon Valley<\/h2>\n<p>Against the background of the slow-moving, Silicon-Valley juggernaut with apparent biases towards the Western hemisphere, alternative approaches have been evolving in parallel since the beginnings of personal computers. The Dutch company <a href=\"http:\/\/decotype.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">DecoType<\/a> has been in the business of developing dedicated Arabic typographic technology since the mid-1980s, and in Iran the company <a href=\"http:\/\/www.sinasoft.com\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">Sinasoft<\/a> has been making capable software since 1985. From the early 1990s Klaus Lagally of the University of Stuttgart has been developing ArabTeX, a macro package based on Donald Knuth\u2019s TeX that provides typesetting capabilities for the Arabic script.<\/p>\n<p>More recently related approaches, specifically concerned with Arabic text justification, are found in the work of Mohamed Jamal Eddine Benatia, Mohamed Elyaakoubi and Azzeddine Lazrek, as well as Aqil M. Azmi and Abeer Alsaiari.<a id=\"fnlink3\"><\/a><a href=\"#fn3\"><sup>3<\/sup><\/a> However, they do not seem to have evolved beyond prototypes. In the context of the TeX community, one may also mention Andreas Hallberg\u2019s recent contribution that seeks to address the poor support of Arabic justification in typesetting software.<a id=\"fnlink4\"><\/a><a href=\"#fn4\"><sup>4<\/sup><\/a> Although Hallberg\u2019s method is limited, it demonstrates that the need for solutions is such that users have to resort to building their own tools in face of inadequate available means.<\/p>\n<p>The evangelical Christian organisation SIL International has a substantial record of making type and typographic technology for scripts and languages that are underserved by commercial offers.<a id=\"fnlink5\"><\/a><a href=\"#fn5\"><sup>5<\/sup><\/a> As a result of the slow advances of the OpenType format for complex scripts, SIL has developed its own font format, Graphite, and made it freely available.<a id=\"fnlink6\"><\/a><a href=\"#fn6\"><sup>6<\/sup><\/a> It provides more powerful shaping capabilities, as well as a built-in algorithm that automatically prevents collisions of glyphs, a key feature for scripts and writing styles that display a high degree of contextual variation and non-linear joining.<\/p>\n<p>Recently Simon Cozens also developed a new typesetting system called SILE, borrowing concepts of TeX and improving upon them. Cozens\u2019 initial work focused on the development of features that are not found in mainstream software, providing, for example, Uighur hyphenation capability.<a id=\"fnlink7\"><\/a><a href=\"#fn7\"><sup>7<\/sup><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>The state of Arabic justification support<\/h2>\n<p>Having sketched out the current landscape of Arabic typography software, the following discussion attempts to provide an overview over some of the most widely used applications and their justification capabilities.<\/p>\n<h2>Adobe Creative Cloud applications<\/h2>\n<p>Adobe is the undisputed market leader for professional design software. Its applications are widely used, and highly regarded. Adobe\u2019s type library was among the first to be converted to the OpenType format, and applications such as InDesign pioneered support for the added functionality when competitors lagged behind. However, since the early 2000s this dynamic has changed, and advances slowed down. When Adobe began to develop Arabic script functionality in-house, documentation of the features emerged in Adobe\u2019s official publications.<a id=\"fnlink8\"><\/a><a href=\"#fn8\"><sup>8<\/sup><\/a> Unfortunately some of the options are not explained, and aspects of the text betray a superficial grasp of the subject, as well as sloppy editing. On the subject of justification, the official help document states:<\/p>\n<blockquote><p>In Arabic, text is justified by adding Kashidas. Kashidas are added to arabic [sic] characters to lengthen them. Whitespace is not modified. Use automatic Kashida insertion to justify paragraphs of arabic [sic] text.<\/p>\n<p>Select the paragraph and from the Paragraph panel (Window &gt; Type &amp; Tables &gt; Paragraph), choose a setting from the Insert Kashida drop-down list. The options available are: None, Short, Medium, Long, or Stylistic. Kashidas are only inserted if the paragraph is justified. This setting is not applicable for paragraphs that have alignment settings.<\/p>\n<p>To apply Kashidas to a group of characters, select the characters and choose Kashidas from the Character panel menu.<\/p><\/blockquote>\n<p>Whilst the description of kash\u012bda elongation appears to describe Tatweel insertion instead, and the categorical rejection of any other justification technique in Arabic is debatable, the key issue is that the listed options are neither complete, nor are their effects explained.<a id=\"fnlink9\"><\/a><a href=\"#fn9\"><sup>9<\/sup><\/a> A review of the menu reveals that further to the five options mentioned above, users can also select a numerical value for \u2018Kashida width\u2019, as well as an additional four (!) options: (1) \u2018Arabic (Legacy)\u2019, (2) \u2018Justification Alternates (Naskh)\u2019, (3) \u2018Stylistic Flat Kashidas\u2019, and (4) \u2018Flat Kashidas\u2019. This assumes that the options provided in the other menu map to \u2019Stylistic Kashidas\u2019 and \u2018Kashidas\u2019. What is most astonishing, however, is that not one of these options is explained, nor its effects documented, nor the rationale for this plethora of options provided.<\/p>\n<figure id=\"attachment_530\" aria-describedby=\"caption-attachment-530\" style=\"width: 823px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-530\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/InDesign-CC-2020-1.png\" alt=\"InDesign 15 Arabic Paragraph palette and justification options\" width=\"823\" height=\"443\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/InDesign-CC-2020-1.png 823w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/InDesign-CC-2020-1-300x161.png 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/InDesign-CC-2020-1-768x413.png 768w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><figcaption id=\"caption-attachment-530\" class=\"wp-caption-text\">Adobe InDesign 15 Arabic Paragraph palette and justification options<\/figcaption><\/figure>\n<p>Putting these options to the test unfortunately is not any more satisfactory. Whereas the various length settings do indeed change the lengths of the automatically inserted Tatweel strokes, the meaning of the other options remains incomprehensible to the author. Indeed, no change is observable upon selection of the respective \u2018Flat\u2019 option. Besides the pointless range of selections, and lack of documentation of their effects, not to speak of rationale, the most troubling aspect that can be observed is that the justification algorithm breaks the text when glyphs join anywhere else but along the flat baseline. Thus, so-called ligatures that are formed with two distinct, dedicated type forms that are substituted in a given context (contextual alternates), are broken up by straight bars along the notional baseline.<\/p>\n<figure id=\"attachment_589\" aria-describedby=\"caption-attachment-589\" style=\"width: 1049px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-589 size-full\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Unorganized\/InDesign-15-shaping-errors.png\" alt=\"InDesign 15 Arabic shaping errors\" width=\"1049\" height=\"207\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Unorganized\/InDesign-15-shaping-errors.png 1049w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Unorganized\/InDesign-15-shaping-errors-300x59.png 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Unorganized\/InDesign-15-shaping-errors-1024x202.png 1024w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Unorganized\/InDesign-15-shaping-errors-768x152.png 768w\" sizes=\"auto, (max-width: 1049px) 100vw, 1049px\" \/><figcaption id=\"caption-attachment-589\" class=\"wp-caption-text\">A selection of shaping errors in Adobe InDesign 15 Arabic with the Sakkal Majalla OT font when set to justification with kash\u012bda. Flat Tatweel bars are inserted between contextual alternates whose joins are not on the baseline, breaking the formation of word shapes.<\/figcaption><\/figure>\n<p>\u2018Justification Alternates (Naskh)\u2019 is the one redeeming aspect of InDesign\u2019s Arabic justification system. If a font provides this feature (<a href=\"https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/features_fj#jalt\" target=\"_blank\" rel=\"noopener noreferrer\">jalt<\/a>) with corresponding alternate glyphs, InDesign will use them to attempt to fill the line. Rather than activating all available glyphs, the algorithm appears to calculate the available space in a line and only selects such variants where applicable. Furthermore it combines the use of these alternates with the variation of white space and Tatweel extension strokes, making it an appropriate justification algorithm for Arabic.<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-572-1\" width=\"640\" height=\"969\" loop autoplay preload=\"auto\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-InDesign-jalt.m4v?_=1\" \/><a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-InDesign-jalt.m4v\">https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-InDesign-jalt.m4v<\/a><\/video><\/div>\n<p>Unfortunately also this option is unaware of joins that are not along the baseline. As a consequence, Arabic fonts that make use of any non-linear substitution or positioning as provided in the OT specification through features like \u2018Cursive Positioning\u2018 (<a href=\"https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/features_ae#curs\" target=\"_blank\" rel=\"noopener noreferrer\">curs<\/a>) or \u2018Contextual Alternates\u2018 (<a href=\"https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/features_ae#tag-calt\" target=\"_blank\" rel=\"noopener noreferrer\">calt<\/a>) \u2013 incidentally the latter registered by Adobe and theoretically widely supported \u2013 cannot be set justified in the leading professional page layout application.<a id=\"fnlink10\"><\/a><a href=\"#fn10\"><sup>10<\/sup><\/a><\/p>\n<p>Adobe Illustrator provides only the five options that are present in InDesign\u2019s Paragraph palette, relieving the user of some of the redundant choices.<a id=\"fnlink11\"><\/a><a href=\"#fn11\"><sup>11<\/sup><\/a> Unfortunately, it does not include InDesign&#8217;s best method, \u2018Justification Alternates (Naskh)\u2019, and it also suffers from the erroneous insertion of extension strokes between contextual alternates.<\/p>\n<figure id=\"attachment_535\" aria-describedby=\"caption-attachment-535\" style=\"width: 1166px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-535\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Illustrator-CC-2020.png\" alt=\"Adobe Illustrator 24 Arabic Paragraph palette and justification options\" width=\"1166\" height=\"675\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Illustrator-CC-2020.png 1166w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Illustrator-CC-2020-300x174.png 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Illustrator-CC-2020-1024x593.png 1024w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Illustrator-CC-2020-768x445.png 768w\" sizes=\"auto, (max-width: 1166px) 100vw, 1166px\" \/><figcaption id=\"caption-attachment-535\" class=\"wp-caption-text\">Adobe Illustrator 24 Arabic Paragraph palette and justification options<\/figcaption><\/figure>\n<p>Adobe Photoshop, meanwhile, although providing the same interface for Kashida insertion as seen in InDesign and Illustrator, makes life even more confusing for the user. Here no change at all can be observed when either of the five options is selected. Justification is achieved only through adjustments of word spaces, and as no elongation strokes are inserted, contextual alternates are not broken either. Photoshop does, however, provide a tick-box option for \u2018Justification Alternates\u2019. Yet, unlike in InDesign\u2019s algorithm, here all alternates provided in a font get activated irrespective of line-length, making it yet another useless option.<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-572-2\" width=\"640\" height=\"477\" loop autoplay preload=\"auto\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Photoshop-just-options.m4v?_=2\" \/><a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Photoshop-just-options.m4v\">https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Photoshop-just-options.m4v<\/a><\/video><\/div>\n<p>In conclusion we can observe that despite the plethora of options, in current Adobe CC applications Arabic fonts that make use features defined in the OT specification since 1996, some of which are nominally supported, can only be used with the default justification method that modifies word spaces. More simplisitic fonts that forego the theoretical possibilities for better Arabic typography may be justified using the other options built into the applications. Whether the Tatweel strokes are inserted in suitable positions is not documented, and I did not verify it given the glaring shortcomings already observed.<\/p>\n<p>&nbsp;<\/p>\n<h2>Word processors, aka office applications<\/h2>\n<p>Whereas Adobe\u2019s professional design applications promise many options without delivering on them, office software has a much broader user base, and therefore provides less choices. Typographic design decisions are instead made on behalf of the user, either by default settings, design templates, or simply by the absence of controls. For the purpose of this post, I have reviewed the capabilities of three leading word processors, Microsoft Word for Mac, Apple\u2019s Pages, and LibreOffice. All three offer a similar set of typographic options, but whereas Pages and LibreOffice provide only \u2018Justified\u2019 as an option, Word offers justification by space or by Tatweel insertion.<\/p>\n<p>Whereas Adobe\u2019s software is only able to make use of the Arabic layout features in OpenType fonts, the three word processors support different font formats.<a id=\"fnlink12\"><\/a><a href=\"#fn12\"><sup>12<\/sup><\/a> Here the platform bias mentioned above comes into play. Whereas Microsoft\u2019s applications only understand OT layout, Apple\u2019s system apps provide support for OT and AAT, whilst LibreOffice can handle Graphite, in addition to OT and AAT thanks to its use of the Harfbuzz shaping engine. As a consequence, the typographic capabilities of each word processor change significantly depending on the font format in use. Unfortunately this remains entirely opaque to the user. None of the applications provide any meaningful indication about the format of the various fonts listed in the font menu. A user may thus select a font whose layout technology is not supported by the application, with the result that the text shaping breaks. Apart from the visual result, this is not fed back to the user either.<\/p>\n<p>Microsoft Office Word on Mac handles Arabic OT fonts in the expected, minimal way. By default justification is achieved by variation of white space, and the rather unintuitive options \u2018Justify Low\u2019, \u2018Justify Medium\u2019, and \u2018Justify High\u2019 enable Tatweel insertion similar to Adobe\u2019s \u2018Short\u2019, \u2018Medium\u2019, and \u2018Long\u2019 selections. There is no option to select justification alternates. Whereas the default strategy produces acceptable results for full width columns, decreasing the measure quickly reaches the limits of this approach.<\/p>\n<figure id=\"attachment_511\" aria-describedby=\"caption-attachment-511\" style=\"width: 2560px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-511\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-MS-Word-narrow-column-scaled.png\" alt=\"Justification with white space in a narrow column in Microsoft Word for Mac 16.32, using the Sakkal Majalla font.\" width=\"2560\" height=\"2181\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-MS-Word-narrow-column-scaled.png 2560w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-MS-Word-narrow-column-300x256.png 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-MS-Word-narrow-column-1024x872.png 1024w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-MS-Word-narrow-column-768x654.png 768w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-MS-Word-narrow-column-1536x1309.png 1536w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-MS-Word-narrow-column-2048x1745.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption id=\"caption-attachment-511\" class=\"wp-caption-text\">Justification with white space in a narrow column in Microsoft Word for Mac 16.32, using the Sakkal Majalla OT font.<\/figcaption><\/figure>\n<p>For this context one of the three options that employ Tatweel-like kashida insertion may be used, resulting in more evenly distributed white spaces. However, and although the font and the application are both distributed by Microsoft, also here straight Tatweels are inserted between contextual alternates, breaking joins that are not aligned on the baseline.<\/p>\n<p>Since this is Word on the Mac platform, the system fonts of OSX are also available to the user. However, since some of them rely on AAT for Arabic shaping the text breaks in Word, which does not support the format. Any user who has not read this article, or is otherwise not aware of these technical issues of text layout \u2013 an estimated 99,99% \u2013 is left to their own devices.<\/p>\n<figure id=\"attachment_513\" aria-describedby=\"caption-attachment-513\" style=\"width: 2456px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-513\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-MS-Word-narrow-column.png\" alt=\"InDesign 15 Arabic shaping errors\" width=\"2456\" height=\"2052\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-MS-Word-narrow-column.png 2456w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-MS-Word-narrow-column-300x251.png 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-MS-Word-narrow-column-1024x856.png 1024w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-MS-Word-narrow-column-768x642.png 768w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-MS-Word-narrow-column-1536x1283.png 1536w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-MS-Word-narrow-column-2048x1711.png 2048w\" sizes=\"auto, (max-width: 2456px) 100vw, 2456px\" \/><figcaption id=\"caption-attachment-513\" class=\"wp-caption-text\">The font menu of Microsoft Word for Mac 16.32 displays all installed fonts irrespective of format. When the user selects a font format that cannot be displayed correctly by the application, as is the case with Waseem, an AAT font, the text shaping breaks. The user is not warned about this incompatibility, but needs to recognise the misaligned glyphs and broken letter joins by himself.<\/figcaption><\/figure>\n<p>Testing OT and AAT fonts in Apple\u2019s Pages word processor, the problems are mirrored, if somewhat alleviated. Here justification of OpenType fonts employs a strategy that combines the known techniques with the exception of justification alternates. White space is modified, and elongation is mimicked through insertion of Tatweels. The latter results in similar problems to those observed in other applications as non-linear connections are interrupted by the flat Tatweel glyphs. In other contexts glyphs appear pulled-apart, resulting in white gaps between the connections of letterforms.<\/p>\n<figure id=\"attachment_512\" aria-describedby=\"caption-attachment-512\" style=\"width: 2560px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-512\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-Pages-scaled.png\" alt=\"Shaping errors in Apple Pages using the Sakkal Majalla OpenType font\" width=\"2560\" height=\"1627\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-Pages-scaled.png 2560w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-Pages-300x191.png 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-Pages-1024x651.png 1024w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-Pages-768x488.png 768w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-Pages-1536x976.png 1536w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Majalla-in-Pages-2048x1302.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption id=\"caption-attachment-512\" class=\"wp-caption-text\">Shaping errors in Apple Pages using the Sakkal Majalla OT font in justified setting. Similar to the errors in Word, also here Tatweel glyphs break the connections between contextual alternates; moreover, white gaps occur between glyphs that should appear to have continuous connections.<\/figcaption><\/figure>\n<p>As expected, Pages performs better with Apple\u2019s AAT fonts. Indeed, using taking advantage of AAT\u2019s advanced layout features, Pages comes close to achieving satisfactory Arabic text justification. The tested fonts, Farisi and Waseem, do not provide kash\u012bda elongation between letters (rightly so in the case of Waseem, which follows the Ruq\u2018ah style), therefore justification is achieved through a combination of glyph variants and modification of white space.<a id=\"fnlink13\"><\/a><a href=\"#fn13\"><sup>13<\/sup><\/a><\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-572-3\" width=\"640\" height=\"509\" loop autoplay preload=\"auto\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-pages.m4v?_=3\" \/><a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-pages.m4v\">https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/Waseem-in-pages.m4v<\/a><\/video><\/div>\n<p>Unfortunately, even here are problems: the two instances of tanw\u012bn marks break the shaping, and there are some unresolved collisions of glyphs. On a general level, one may question whether justification should be defined in the specification of the font, as is done here. It is easy to imagine use cases in which the user \u2013 say a discerning typographer \u2013 would want to have some control over the justification methods used. On the other hand, providing a better result for the majority of non-specialist users, as is the case with system fonts, may be a better rationale.<\/p>\n<p>LibreOffice is the only word processor that nominally supports all three font formats, the display of all fonts in the menu is therefore appropriate. Its general typographic parameters are also comparable to the commercial competitors, and so is its Arabic justification strategy. LibreOffice provides no choices about justification parameters, and with OT fonts the results are comparable to those obtained either with the default setting of Pages, or Word\u2019s \u2018Justification Low\u2019 option, all of them relying on Tatweel insertion. When using the Graphite-enabled font Scheherazade, justification results appear similar to those obtained with an OT font. In contrast, the Graphite font Awami Nastaliq displays neither Tatweel insertion nor kash\u012bda elongation, relying exclusively on variation of white spaces, demonstrating the format\u2019s potential influence on justification. Conversely, when using an AAT font, shaping only works in ragged-left setting, as justification breaks the text with Tatweel glyphs. LibreOffice therefore only supports AAT fonts partially, and is currently unable to fully take advantage of their features.<\/p>\n<figure id=\"attachment_541\" aria-describedby=\"caption-attachment-541\" style=\"width: 1782px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-541\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Waseem-in-LibreOffice.png\" alt=\"Shaping errors in LibreOffice using the Waseem AAT font\" width=\"1782\" height=\"1048\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Waseem-in-LibreOffice.png 1782w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Waseem-in-LibreOffice-300x176.png 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Waseem-in-LibreOffice-1024x602.png 1024w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Waseem-in-LibreOffice-768x452.png 768w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Waseem-in-LibreOffice-1536x903.png 1536w\" sizes=\"auto, (max-width: 1782px) 100vw, 1782px\" \/><figcaption id=\"caption-attachment-541\" class=\"wp-caption-text\">Shaping errors in LibreOffice 6.3.3.2 using the Waseem AAT font in justified setting. Although LibreOffice nominally should support AAT layout through the HarfBuzz engine, in justified setting the same errors as described above for Word and Pages occur.<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h2>Arabic justification on the web<\/h2>\n<p>The current support for Arabic justification with OT fonts in browsers is minimal. Across platforms and browser models, only justification through the variation of white spaces is consistently available. Although the OpenType feature \u2018Justification Alternates\u2019 can be activated through the font-feature-settings CSS property, its implementation is dysfunctional as all alternates are always activated, rather than selectively used to fill the remaining space of a line.<a id=\"fnlink14\"><\/a><a href=\"#fn14\"><sup>14<\/sup><\/a><\/p>\n<figure id=\"attachment_557\" aria-describedby=\"caption-attachment-557\" style=\"width: 2560px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MacOS-browser-overview-small.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-557 size-full\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MacOS-browser-overview-small.gif\" alt=\"Overview of Arabic text justification in current browsers using OT fonts.\" width=\"2560\" height=\"1728\" \/><\/a><figcaption id=\"caption-attachment-557\" class=\"wp-caption-text\">Overview of Arabic text justification in current browsers on the Mac OS platform using OT fonts.<\/figcaption><\/figure>\n<p>Although Graphite and AAT fonts could in principle also be used on the web, they are rarely specified because of lacking cross-platform and browser support. Whilst HarfBuzz is implemented in Firefox, and Apple\u2019s Safari supports AAT fonts natively, it is interesting to observe that in both cases justification relies on variation of white space, as both browsers fail to make use of the shaping rules in the tested font. It follows that not even Apple\u2019s native applications consistently use the potential of AAT, making its scope of use even narrower.<\/p>\n<p>&nbsp;<\/p>\n<h2>And now for something completely different<\/h2>\n<p>In the context of Arabic typography on the web, a recent project of DecoType merits discussion. In 2017, the <a href=\"https:\/\/www.mushafmuscat.om\/\" target=\"_blank\" rel=\"noopener noreferrer\">Mushaf Muscat <\/a>was launched, a web-based Qur\u2019\u0101n commissioned by <a href=\"https:\/\/www.mara.gov.om\" target=\"_blank\" rel=\"noopener noreferrer\">The Ministry of Endowments and Religious Affairs<\/a> of the Sultanate of Oman. It provides a contemporary interpretation of classical Qur\u2019\u0101n layout for on-screen reading and a range of controls for the display of the text. For example, diacritical marks (ij\u0101m) and\u00a0 vocalisation and grammatical marks (tashk\u012bl) of the main Naskh text can be coloured separately; use of either kind of marks can be toggled for the s\u016bra headings that are set in an \u2018Abbass\u012bd style typeface;<a id=\"fnlink15\"><\/a><a href=\"#fn15\"><sup>15<\/sup><\/a> and mimicry (\u2018al\u0101m\u0101t al-ihm\u0101l) of miniature consonants below the main text is provided as an option.<\/p>\n<figure id=\"attachment_608\" aria-describedby=\"caption-attachment-608\" style=\"width: 1993px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-608\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MushafMuscat.png\" alt=\"Landing page of the Mushaf Muscat\" width=\"1993\" height=\"1529\" srcset=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MushafMuscat.png 1993w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MushafMuscat-300x230.png 300w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MushafMuscat-1024x786.png 1024w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MushafMuscat-768x589.png 768w, https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MushafMuscat-1536x1178.png 1536w\" sizes=\"auto, (max-width: 1993px) 100vw, 1993px\" \/><figcaption id=\"caption-attachment-608\" class=\"wp-caption-text\">Landing page of the Mushaf Muscat showing navigation and text display controls.<\/figcaption><\/figure>\n<p>By default, a double page spread and controls are shown, a click into the margin zooms in, hiding the controls, and a further click on a page zooms to an enlarged, single-page view. In this mode, the reader can select words, letter groups, or individual letters, which are highlighted when the cursor hovers over them. Text can be selected and copied, and is fully Unicode compliant. A click on a letter group toggles a new shaping menu that displays all the options in which the selection can be rendered in the DecoType Naskh typeface. Double-click on one of the variants selects it, and updates the display of the text with the chosen form. As the options include numerous swash letterforms, as well as kashida elongation in various lengths, the layout of the page has to react to the user selection. The engine therefore automatically alters shaping and justification options of the surrounding text in order to accommodate the changes in line length. The latter, of course, takes us back to the subject of this post.<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-572-4\" width=\"640\" height=\"361\" loop autoplay preload=\"auto\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/MushafMuscat.m4v?_=4\" \/><a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/MushafMuscat.m4v\">https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/Arabic-justification\/MushafMuscat.m4v<\/a><\/video><\/div>\n<p>The Mushaf Muscat adheres to a predetermined page layout as known from the Medina Mushaf, in which every page ends with a verse number marker. In other words, verses are not allowed to break from one double page spread to the other. Yet the verses of the Qur\u2019\u0101n differ significantly in length, and as the format prescribes which verses fall on which spread, greatly divergent amounts of text have to be made to cover the same area. A central element in the design of this digital Mushaf therefore is a page layout engine that operates within the confines of a double page spread. In order to achieve justified columns of differing text lengths on identical text areas, the algorithm takes advantage of all Arabic justification techniques. It makes full use of the font\u2019s shaping options, including actual kash\u012bda, alternates, and swash variants, and combines them with variation of white space, including use of the margins as a last resort. Moreover, because the displayed text is not static, allowing user interaction, the layout has to be able to adjust dynamically. This last aspect is significant, for it shows that the concepts and technologies at work here could be applicable well beyond the project. So here, finally, we encounter an implementation that combines the shaping functionality of the font with layout algorithms that are appropriate for the script, to successfully use the various justification techniques available in Arabic.<\/p>\n<p>In the introduction I emphasised that computer typography is nothing new, and that some 30 years after its inception one should be able to expect comprehensive support for the main, if not all the writing systems of the world. The Mushaf Muscat is testimony that it is possible to provide the means to practice digital Arabic typography without undue compromises, across platforms, across languages, across styles, and with exemplary standards compliance.<a id=\"fnlink16\"><\/a><a href=\"#fn16\"><sup>16<\/sup><\/a> Finally, in light of the stagnation of support from the leading players, it is noteworthy that whilst the project is the culmination of 35 years of research and pioneering practice of DecoType, the actual making of\u00a0 this project, including the page layout algorithms, only took this small team some two years.<\/p>\n<p>Today, digital Arabic typography could shake off the shackles of redundant technology and legacy practice. The means are there, the expertise and the technology exist, all it takes is the will to implement it for the broadest possible use. In the <a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-3-historical-models\/\">following post<\/a> I am looking at historical models of typography, and discuss how evidence of best practice could inform current design strategies and software implementations.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h2>Corrections<\/h2>\n<p><em>An earlier version of this post published on 18 Dec 2019 at 10:34 incorrectly stated that Simon Cozens is affiliated with SIL. He is not.<\/em><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h2>Appendix<\/h2>\n<p>For an overview of the tested justification options you can download <a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/Appendix-to-On-Arabic-Justification-part-2-\u2013-Software-Implementations.pdf\">this pdf<\/a> document. The HTML document used to test Arabic justification in browsers can be found <a href=\"https:\/\/research.reading.ac.uk\/typoarabic\/?page_id=565&amp;preview=true\">here<\/a>, it is shared under the <a href=\"https:\/\/creativecommons.org\/licenses\/by\/4.0\/\" target=\"_blank\" rel=\"noopener noreferrer\">Attribution 4.0 International<\/a> (CC BY 4.0) license. Note that the fonts tested are not supplied due to licensing restrictions. To reproduce the tests accurately you will need to have access to the fonts specified in the CSS.<\/p>\n<h2>Notes<\/h2>\n<p><a id=\"fn1\"><\/a><a href=\"#fnlink1\">1<\/a> TrueType, one of the key components of OpenType was published thirty years ago, whereas PostScript, the other central component of the format was already on the market in 1984. Greg Hitchcock, involved in the development of TrueType recently wrote: \u2018In 1996 we worked with Adobe to create OpenType, which was essentially a rebranding of TrueType, bringing the best of Adobe and Microsoft\u2019s technologies into the TrueType format.\u2019 Hitchcock, \u2018Thirty Years of TrueType Fonts\u2019, <i>LinkedIn<\/i>, 18 September 2019, accessed 18 December 2019. <a href=\"https:\/\/www.linkedin.com\/pulse\/thirty-years-truetype-fonts-greg-hitchcock\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.linkedin.com\/pulse\/thirty-years-truetype-fonts-greg-hitchcock\/<\/a><\/p>\n<p><a id=\"fn2\"><\/a><a href=\"#fnlink2\">2<\/a> The OpenType format theoretically provides some techniques for justification. According to the specification \u2018the Justification table (JSTF) provides font developers with additional control over glyph substitution and positioning in justified text. Text-processing clients now have more options to expand or shrink word and glyph spacing so text fills the specified line length\u2019, yet as of now there is not a single rendering engine that supports it. Microsoft Corporation, \u2018JSTF \u2014 Justification Table &#8211; Typography | Microsoft Docs\u2019, last edited 16 August 2018, accessed 18 December 2019. <a href=\"https:\/\/docs.microsoft.com\/en-gb\/typography\/opentype\/spec\/jstf\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/docs.microsoft.com\/en-gb\/typography\/opentype\/spec\/jstf<\/a><\/p>\n<p><a id=\"fn3\"><\/a><a href=\"#fnlink3\">3<\/a> The following publications have considerable overlap: Elyaakoubi, Mohamed &amp; Azzeddine Lazrek, \u2018Justify Just or Just Justify\u2019, <i>The Journal of Electronic Publishing<\/i> Volume 13, Issue 1, Winter 2010, <a href=\"http:\/\/dx.doi.org\/10.3998\/3336451.0013.105\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/dx.doi.org\/10.3998\/3336451.0013.105<\/a>; Benatia, Mohamed Jamal Eddine &amp;amp; Mohamed Elyaakoubi &amp;amp; Azzeddine Lazrek, \u2018Arabic text justification\u2019, <i>TUGboat<\/i>, Volume 27, No. 2, Proceedings of the 2006 Annual Meeting, pp. 137\u2013146; Aqil M. Azmi &amp; Abeer Alsaiari, \u2018A calligraphic based scheme to justify Arabic text improving readability and comprehension\u2019, Computers in Human Behaviour, 39, 2014, pp. 177\u2013186, <a href=\"http:\/\/dx.doi.org\/10.1016\/j.chb.2014.07.003\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/dx.doi.org\/10.1016\/j.chb.2014.07.003<\/a><\/p>\n<p><a id=\"fn4\"><\/a><a href=\"#fnlink4\">4<\/a> Hallberg interprets elongation similar to the Tatweel character as a straight extension line that can be inserted between any two joining glyphs. This approach ignores conventional placement, stylistic differentiation, and aesthetic concerns. <i>Uppercase Alif: Andreas Hallberg&#8217;s notes on Arabic linguistics<\/i>, \u2018Stretchable kashida and Arabic text justification in LaTeX\u2019, 3 March 2017, last modified 11 December 2018, accessed 18 December 2019, <a href=\"http:\/\/andreasmhallberg.github.io\/stretchable-kashida\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/andreasmhallberg.github.io\/stretchable-kashida\/<\/a>.<\/p>\n<p><a id=\"fn5\"><\/a><a href=\"#fnlink5\">5<\/a> SIL International, \u2018About SIL\u2019, accessed 18 December 2019, <a href=\"http:\/\/www.sil.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.sil.org\/<\/a><\/p>\n<p><a id=\"fn6\"><\/a><a href=\"#fnlink6\">6<\/a> SIL International, \u2018Graphite &#8211; Home\u2019, accessed 18 December 2019, <a href=\"https:\/\/scripts.sil.org\/cms\/scripts\/page.php?site_id=projects&amp;item_id=graphite_home\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/scripts.sil.org\/cms\/scripts\/page.php?site_id=projects&amp;item_id=graphite_home<\/a><\/p>\n<p><a id=\"fn7\"><\/a><a href=\"#fnlink7\">7<\/a> Simon Cozens, <i>The SILE Typesetter<\/i>, accessed 18 December 2019, <a href=\"https:\/\/sile-typesetter.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/sile-typesetter.org\/<\/a><\/p>\n<p><a id=\"fn8\"><\/a><a href=\"#fnlink8\">8<\/a> Adobe Systems Inc., \u2018Arabic and Hebrew features in InDesign\u2019, last modified 12 July 2019, accessed 18 December 2019, <a href=\"https:\/\/helpx.adobe.com\/indesign\/using\/arabic-hebrew.html\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/helpx.adobe.com\/indesign\/using\/arabic-hebrew.html<\/a><\/p>\n<p><a id=\"fn9\"><\/a><a href=\"#fnlink9\">9<\/a> The author has sought clarification about these options from Adobe first in February 2017, and again in September 2019, yet did not receive a meaningful\u00a0 answer.<\/p>\n<p><a id=\"fn10\"><\/a><a href=\"#fnlink10\">10<\/a> Ironically the OpenType specification defines the purpose of the feature in exactly the way that the Arabic font in our test tries to use it: \u2018In specified situations, replaces default glyphs with alternate forms which provide better joining behavior. Used in script typefaces which are designed to have some or all of their glyphs join.\u2019 Microsoft Corporation, \u2018Registered features, f-j &#8211; Typography | Microsoft Docs\u2019, last edited 17 August 2018, accessed 18 December 2019. <a href=\"https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/features_fj#jalt\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/features_fj#jalt<\/a><\/p>\n<p><a id=\"fn11\"><\/a><a href=\"#fnlink11\">11<\/a> Note that Illustrator uses different names for what are presumably the same layout engines: rather than showing an \u2018Adobe World-Ready Paragraph Composer\u2019 here we encounter the \u2018Middle Eastern Every-Line Composer\u201d.<\/p>\n<p><a id=\"fn12\"><\/a><a href=\"#fnlink12\">12<\/a> At the time of writing it appears as if Adobe may adopt Harfbuzz more widely, enabling the shaping of Graphite and AAT fonts. However, in Adobe&#8217;s current applications Arabic layout of either format does not work yet.<\/p>\n<p><a id=\"fn13\"><\/a><a href=\"#fnlink13\">13<\/a> Ironically the font Farisi does not feature characters for Persian or Urdu, the languages that make most use of the Nasta\u2018l\u012bq style; and that despite its name, which means \u2018Persian\u2019 in Arabic.<\/p>\n<p><a id=\"fn14\"><\/a><a href=\"#fnlink14\">14<\/a> Microsoft Internet Explorer had an algorithm for Tatweel insertion from version 5.5 (2000), which was also adopted in the Edge browser until its recent change to the Chromium codebase. Documentation for Microsoft\u2019s justification approach can still be accessed <a href=\"https:\/\/web.archive.org\/web\/20030628024130\/http:\/\/www.microsoft.com\/middleeast\/Arabicdev\/IE6\/KBase.asp\">here<\/a>. Incidentally this source also appears to have been used by the developers of OpenOffice (and subsequently LibreOffice) in their implementation. OpenOffice Git Hub repository, openoffice\/porlay.cxx, last edited 6 November 2011, accessed 18 December 2019, <a href=\"https:\/\/github.com\/mirror\/openoffice\/blob\/ac58ea25d9ea6e57181d6047264340cdc75de79a\/main\/sw\/source\/core\/text\/porlay.cxx#L1145\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/mirror\/openoffice\/blob\/ac58ea25d9ea6e57181d6047264340cdc75de79a\/main\/sw\/source\/core\/text\/porlay.cxx#L1145<\/a><\/p>\n<p><a id=\"fn15\"><\/a><a href=\"#fnlink15\">15<\/a> All text display options can be saved locally as a .xml file. The interface allows to upload these settings at another time, enabling the re-use and sharing of settings.<\/p>\n<p><a id=\"fn16\"><\/a><a href=\"#fnlink16\">16<\/a> All the text of the Mushaf Muscat is encoded in Unicode, and can be searched, copied, and pasted without loss of semantics. Representatives of both, the Unicode Consortium and the WC3 commented on the exemplary use of state of the art technology and web standards in this project. See Thomas Milo, \u201cLecture during the official presentation of Mushaf Muscat (www.mushafmuscat.om)\u201d, <em>YouTube<\/em>, last edited 7 June 2017, accessed 16 December 2019, https:\/\/www.youtube.com\/watch?v=UpxsWGxgJIo<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In the first post of this series, I summarised a brief history of typographic justification of Arabic. It provides the background for the observations that follow, discussing how text&#8230;<a class=\"read-more\" href=\"&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#114;&#101;&#115;&#101;&#97;&#114;&#99;&#104;&#46;&#114;&#101;&#97;&#100;&#105;&#110;&#103;&#46;&#97;&#99;&#46;&#117;&#107;&#47;&#116;&#121;&#112;&#111;&#97;&#114;&#97;&#98;&#105;&#99;&#47;&#111;&#110;&#45;&#97;&#114;&#97;&#98;&#105;&#99;&#45;&#106;&#117;&#115;&#116;&#105;&#102;&#105;&#99;&#97;&#116;&#105;&#111;&#110;&#45;&#112;&#97;&#114;&#116;&#45;&#50;&#45;&#115;&#111;&#102;&#116;&#119;&#97;&#114;&#101;&#45;&#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#97;&#116;&#105;&#111;&#110;&#115;&#47;\">Read More ><\/a><\/p>\n","protected":false},"author":258,"featured_media":538,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"__cvm_playback_settings":[],"__cvm_video_id":"","footnotes":""},"categories":[1],"tags":[9,15,14,11,13,10],"coauthors":[7],"class_list":["post-572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorised","tag-arabic-justification","tag-css","tag-html","tag-kashida","tag-tatweel","tag-typography"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.8.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>On Arabic justification, part 2 \u2013 software implementations - TypoArabic<\/title>\n<meta name=\"description\" content=\"This is the second of a series of posts discussing Arabic justification, it discusses current software implementations and their impact on Arabic typography\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"On Arabic justification, part 2 \u2013 software implementations - TypoArabic\" \/>\n<meta property=\"og:description\" content=\"This is the second of a series of posts discussing Arabic justification, it discusses current software implementations and their impact on Arabic typography\" \/>\n<meta property=\"og:url\" content=\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/\" \/>\n<meta property=\"og:site_name\" content=\"TypoArabic\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-18T10:34:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-03-30T07:45:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MM_Sura-scaled-e1576166402590.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1459\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Titus Nemeth\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Titus Nemeth\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"24 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/\",\"url\":\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/\",\"name\":\"On Arabic justification, part 2 \u2013 software implementations - TypoArabic\",\"isPartOf\":{\"@id\":\"https:\/\/research.reading.ac.uk\/typoarabic\/#website\"},\"datePublished\":\"2019-12-18T10:34:19+00:00\",\"dateModified\":\"2020-03-30T07:45:26+00:00\",\"author\":{\"@id\":\"https:\/\/research.reading.ac.uk\/typoarabic\/#\/schema\/person\/344d3de9005bb527801ed4a1e33dee5e\"},\"description\":\"This is the second of a series of posts discussing Arabic justification, it discusses current software implementations and their impact on Arabic typography\",\"breadcrumb\":{\"@id\":\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/research.reading.ac.uk\/typoarabic\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"On Arabic justification, part 2 \u2013 software implementations\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/research.reading.ac.uk\/typoarabic\/#website\",\"url\":\"https:\/\/research.reading.ac.uk\/typoarabic\/\",\"name\":\"TypoArabic\",\"description\":\"Towards historically informed practice in contemporary Arabic typography\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/research.reading.ac.uk\/typoarabic\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/research.reading.ac.uk\/typoarabic\/#\/schema\/person\/344d3de9005bb527801ed4a1e33dee5e\",\"name\":\"Titus Nemeth\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/research.reading.ac.uk\/typoarabic\/#\/schema\/person\/image\/28ec5308798f9a083f506c69693635ed\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/657e3f4ef8bbed8a7c0591896c63ea30e0d17a39a55ef008b00771026dc3c314?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/657e3f4ef8bbed8a7c0591896c63ea30e0d17a39a55ef008b00771026dc3c314?s=96&d=mm&r=g\",\"caption\":\"Titus Nemeth\"},\"url\":\"https:\/\/research.reading.ac.uk\/typoarabic\/author\/t-nemethreading-ac-uk\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"On Arabic justification, part 2 \u2013 software implementations - TypoArabic","description":"This is the second of a series of posts discussing Arabic justification, it discusses current software implementations and their impact on Arabic typography","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/","og_locale":"en_GB","og_type":"article","og_title":"On Arabic justification, part 2 \u2013 software implementations - TypoArabic","og_description":"This is the second of a series of posts discussing Arabic justification, it discusses current software implementations and their impact on Arabic typography","og_url":"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/","og_site_name":"TypoArabic","article_published_time":"2019-12-18T10:34:19+00:00","article_modified_time":"2020-03-30T07:45:26+00:00","og_image":[{"width":2560,"height":1459,"url":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-content\/uploads\/sites\/133\/2019\/12\/MM_Sura-scaled-e1576166402590.png","type":"image\/png"}],"author":"Titus Nemeth","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Titus Nemeth","Estimated reading time":"24 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/","url":"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/","name":"On Arabic justification, part 2 \u2013 software implementations - TypoArabic","isPartOf":{"@id":"https:\/\/research.reading.ac.uk\/typoarabic\/#website"},"datePublished":"2019-12-18T10:34:19+00:00","dateModified":"2020-03-30T07:45:26+00:00","author":{"@id":"https:\/\/research.reading.ac.uk\/typoarabic\/#\/schema\/person\/344d3de9005bb527801ed4a1e33dee5e"},"description":"This is the second of a series of posts discussing Arabic justification, it discusses current software implementations and their impact on Arabic typography","breadcrumb":{"@id":"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/research.reading.ac.uk\/typoarabic\/on-arabic-justification-part-2-software-implementations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/research.reading.ac.uk\/typoarabic\/"},{"@type":"ListItem","position":2,"name":"On Arabic justification, part 2 \u2013 software implementations"}]},{"@type":"WebSite","@id":"https:\/\/research.reading.ac.uk\/typoarabic\/#website","url":"https:\/\/research.reading.ac.uk\/typoarabic\/","name":"TypoArabic","description":"Towards historically informed practice in contemporary Arabic typography","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/research.reading.ac.uk\/typoarabic\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/research.reading.ac.uk\/typoarabic\/#\/schema\/person\/344d3de9005bb527801ed4a1e33dee5e","name":"Titus Nemeth","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/research.reading.ac.uk\/typoarabic\/#\/schema\/person\/image\/28ec5308798f9a083f506c69693635ed","url":"https:\/\/secure.gravatar.com\/avatar\/657e3f4ef8bbed8a7c0591896c63ea30e0d17a39a55ef008b00771026dc3c314?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/657e3f4ef8bbed8a7c0591896c63ea30e0d17a39a55ef008b00771026dc3c314?s=96&d=mm&r=g","caption":"Titus Nemeth"},"url":"https:\/\/research.reading.ac.uk\/typoarabic\/author\/t-nemethreading-ac-uk\/"}]}},"cc_featured_image_caption":{"caption_text":false,"source_text":false,"source_url":false},"_links":{"self":[{"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/posts\/572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/users\/258"}],"replies":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/comments?post=572"}],"version-history":[{"count":5,"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/posts\/572\/revisions"}],"predecessor-version":[{"id":673,"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/posts\/572\/revisions\/673"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/media\/538"}],"wp:attachment":[{"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/media?parent=572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/categories?post=572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/tags?post=572"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/research.reading.ac.uk\/typoarabic\/wp-json\/wp\/v2\/coauthors?post=572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}