Change default shaping engine

Last updated on Jun 2, 2026

Learn how to switch between Harfbuzz and legacy text engines for World-Ready text composition in Adobe InDesign.

Harfbuzz is the default text shaping engine for the World-Ready Composer and controls how InDesign renders complex scripts such as Arabic, Hebrew, and South Asian languages. If needed, you can switch to the legacy shaping engine for compatibility with earlier workflows or to resolve rendering issues.

Switch to legacy shaping engine using Preferences

Select Edit > Preferences > Advanced Type (Windows) or InDesign > Preferences > Advanced Type (macOS).

Select Enable Legacy Text Shaping for Adobe World-Ready Composer.

Select OK.

Switch shaping engines using a script

If you manage multiple InDesign installations or need to automate this setting, use a script to control the shaping engine preference.

Create and save the script

Open a plain text editor such as TextEdit (macOS) or Notepad (Windows).

Copy the following code to switch to the legacy engine: app.textPreferences.shapeIndicAndLatinWithHarbuzz = false;

try

{

alert( " Is Harfbuzz Enabled : "+app.textPreferences.shapeIndicAndLatinWithHarbuzz );

}

catch(e)

{

alert( "ERROR: " + e.number +"\r"+ e.message );

};

Save the file with JS X extension.

Place the saved JSX file in the Scripts Panel folder: <InDesign installation>/Scripts/Scripts Panel.

Tip

To reset Harfbuzz as the default, set false to true in the script code and save it as a separate file.

Run the script in InDesign

Launch InDesign.

Select Window > Utilities > Scripts.

Locate your saved script file and double-click it to execute the script.

Check the alert dialog box to confirm whether Harfbuzz is active or inactive.