HarfBuzz shaping engine in InDesign

Since the release of Ezhuthu, I received a few reports that in Adobe InDesign/Photoshop some matras appear outside the margin and the ു‘u’/ൂ‘uu’ matras appear disjoint from the base conjunct/consonant. First issue is worked around in the font (in version 1.1); but the second issue cannot be worked around per se.

Fig. 1: InDesign shaping issues. Source: Abdul Azeez Vengara, CC-BY-SA.

Adobe products use their own shaping engine known as ‘lipika’ for advanced text layout. The ‘world ready composer’ uses it by default when text with complex scripts such as Malayalam (and other Indic scripts) is used.

Lipika has various issues in properly shaping advanced conjunct forms and has its own quirks. Certain issues are worked around in fonts, but certain issues cannot be. There were reports that Adobe products might eventually integrate the gold standard of shaping engines — libre software HarfBuzz.

Since mid July 2020, HarfBuzz shaping engine can be used instead of lipika shaper in Adobe InDesign. To enable it, follow these steps:

  1. Download this file: HarfbuzzOverride.js
  2. Copy it to ../Scripts/Scripts Panel of InDesign root folder
  3. Close InDesign first. Open InDesign and go to WindowUtilitiesScripts
  4. Double click on HarfbuzzOverride.js to enabled HarfBuzz shaper
  5. Use the traditional script Malayalam fonts from RIT with perfect advanced text shaping.
  6. If you have already laid out text, you may need to reapply style/font to see the effect.
Fig. 2: Ezhuthu font with perfect advanced text shaping.

3 thoughts on “HarfBuzz shaping engine in InDesign

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s