Recently I was introduced to the hidden "World-Ready composer" in InDesign CS4. It is really nice to see a little of how Adobe is preparing for the future in typesetting complicated, right to left languages etc.

After becoming aware of this new composer, some of the documentation I had previously stumbled across in InDesigns AppleScript library became more obvious, "kashidas", "diacritic position" etc.

An example of Arabic in InDesign CS4.

Arabic text in InDesign CS4

A little searching around the internet, I ended up at Thomas Phinney's fantastic blog, World-Ready Composer in Adobe CS4, where he explains the specifics about what the new composer is for, and why it wasn't officially documented and included in CS4, and gives you a lot of different tools to enable and use these features in InDesign.

The settings

After reading through all the documentation I could find, i have made a short list here, of things that can be applied to text in InDesign CS4 through e.g. AppleScript.

character direction

The direction of the character. Can be default direction, left to right direction or right to left direction.

composer

The text composer to use to compose the text. Can be "Adobe World-Ready Paragraph Composer", "Adobe World-Ready Single-line Composer", "Adobe Paragraph Composer" or "Adobe Single-line Composer".

diacritic position

Position of diacriticical characters. Can be default position, loose position, medium position, tight position or opentype position.

digits type

The digits type. Can be default digits, arabic digits, hindi digits, farsi digits, Native digits, full farsi digits, thai digits, lao digits, devanagari digits, bengali digits, gurmukhi digits, gujarati digits, oriya digits, tamil digits, telugu digits, kannada digits, malayalam digits, tibetan digits, khmer digits or burmese digits.

kashidas

Use of Kashidas for justification. Can be default kashidas or kashidas off.

keyboard direction

The keyboard direction of the character. Can be default direction, left to right direction or right to left direction.

paragraph direction

Paragraph direction. Can be left to right direction or right to left direction.

paragraph justification

Paragraph justification. Can be default justification, arabic justification or naskh justification.

x offset diacritic

The x (horizontal) offset for diacritic adjustment.

y offset diacritic

The y (vertical) offset for diacritic adjustment.

Small activation script

If you would like to play around with this, I have written a small piece of AppleScriptJavaScript that creates a paragraph style with these settings:

  • character direction: right to left direction
  • composer: "Adobe World-Ready Paragraph Composer"
  • digits type: arabic digits
  • paragraph direction: right to left direction
  • paragraph justification: arabic justification
  • kashidas: default kashidas
  • diacritic position: opentype position

The AppleScriptJavaScript can be downloaded here: create_arabic_pstyle.jsx. Modify the script to your needs, the AppleScriptJavaScript syntax should be quite easy to understand.

You can add it to your Scripts palette and run it from there. To do that, place the file inside the "~/Library/Preferences/Adobe InDesign/Version 6.0/Scripts/Scripts Panel" folder.