InDesign will use the legacy composer for Indic scripts by default. Please use the following instructions to enable the new Harfbuzz based workflow and test the new solution:
To set Harfbuzz as the shaping engine for Latin & Indic script:
app.textPreferences.shapeIndicAndLatinWithHarbuzz = true;
Similarly, to set Lipika as the shaping engine for Latin & Indic script:
app.textPreferences.shapeIndicAndLatinWithHarbuzz = false;
2. Now place it the following location inside the InDesign root folder: ../Scripts/Scripts Panel
3. Launch InDesign.
4. Go to Windows> Utilities> Scripts
5. This will open the Scripts Panel. In case you do not HarfbuzzOverride.js in this panel, please review step-1 above.
6. Double click on HarfbuzzOverride.js on the scripts panel. This will activate the Harfbuzz workflow.
We hope this workflow will help you!
Let us know if you run into trouble.
That is excellent news for those needing advanced text shaping! Hopefully these 2 options will appear in the UI as well so it doesn't need a script, as not everybody will be confident in using it.
Can you elaborate a bit on the difference between InDesign'sbnative composer, Harfbuzz, and Lipika -- is the latter actually the 'normal' composer?
And am I correct assuming it's an application-wide setting, that is, it will be used for all new documents?
These options are not available in UI Yet, but yes they are being planned. Lipika is code name for shaping engine in Adobe world Ready Composer. So, the given option enables us to select Harfbuzz as a shaping engine that supports the latest indic shaping specs. Yes, this is an application-wide setting, it will affect all new documents & old documents opened in new builds.
Can you show all the features by screenshots or video?
Harfbuzz will enable v2 versions of shaping support for all Indic scripts, legacy Lipika shaper never supported v2 versions of shaping for Gujarati and Gurmukhi. In general, Harfbuzz got better shaping for Indic. Regarding Latin, Harfbuzz got better diacritic positioning support through mark-to-mark and mark-to-base. The script like Vietnamese will have better support, though we have not yet certified it for all languages, which is in progress. That's why it is still not an option in UI inside the application but you are free to try using the solution posted above. Thanks.
I was able to follow your steps up through 5. But when I doubleclick on HarfbuzzOverride.js nothing happens. Is there something else I need to do first?
Script after execution doesnot show any output. But it has set harfbuzz shaping for all languages for world ready composer. Have you tried composing text afterwards and you are not seeing any changes?
Thanks! You said "it has set harfbuzz shaping for all languages for world ready composer." I am trying it with Arabic script (which is not Indic). Is it supposed to work with Arabic? The normal InDesign shaper only supports characters encoded through Unicode 6.0. I was hoping with the harfbuzz shaping we could get support for all the characters in the Arabic script that have been encoded between Unicode 6.1 and 13.0. HarfBuzz certainly supports Arabic characters through Unicode 13.0.
So, for my hope it will work with Arabic, was that a faulty assumption?
No, your assumption was correct. I suggest, if it is not working for you then please report as bug. Thanks.