Posted by Miguel Sousa
Even though InDesign’s linguistic support is reasonably extensive, it covers only a few dozen of the world’s languages. Out of the box you’ll find support for most Western languages, from Bulgarian to Ukrainian, and if you happen to be using a Middle-Eastern (ME) version, you’ll also have support for Arabic, Farsi and Hebrew.
But what about other Arabic languages such as Urdu and Uyghur? Or Indian languages such as Hindi or Tamil? Or even other European languages such as Gaelic? Is it possible to enable those? The answer is yes, and there are two ways of doing it.
Method One: Custom INX file
One way you can add more entries to the Language dropdown list is by opening a specially crafted INX file. This technique will not magically add spelling and hyphenation capabilities for the enabled language, but it will trigger language-specific OpenType lookups that may exist in the fonts. For example, Serbian (Cyrillic locale) can be enabled by opening a customized INX file in InDesign. Notice how the shape of the Cyrillic letter be (б) in Minion Pro is different when you switch to Russian.
The added language will be available only in this document and will go away as soon as you close it. To enable the language on other documents, select, copy and paste the text frame onto them.
Here’s another example of a customized INX file which will enable Azerbaijani, a.k.a. Azeri. Like Turkish, the Latin representation of this language makes a distinction between a dotted and a dotless letter i, so in order to avoid ambiguity it’s necessary to prevent the fi-ligature from forming.
To enable other languages using this method, you can open one of the INX files in a text editor application and make some changes to it. Namely, you will need to modify:
- The value of
pnamin line #5: pnam=”rk_az~sep~AZ”
- The value of
IDin line #5: ID=”rl_12D”
- The value of
plngin line #543: plng=”k_az~sep~AZ”
The values of
plng will need to be in synch. To know which values to use, please refer to the ISO 639-1 language codes list, and the ISO 3166-1 country codes list. The
ID is the code used internally by InDesign. Please refer to this list to know which codes to use.
This method will also work in CS4 and CS5, but in those versions the language and country codes will be displayed in the Language dropdown list in place of the proper language names.
Method Two: Hunspell dictionary
The second technique involves installing Hunspell dictionaries. With this method you will also enable spelling and/or hyphenation capabilities for the added language. But be advised that the ability to leverage Hunspell resources was only added in CS5.5.
To add Hunspell dictionaries follow these steps:
- Go to the OpenOffice website and download the required spelling or/and hyphenation dictionary. The downloaded file will have the extension oxt.
- Change the file’s extension to zip.
- Extract its contents and locate an .aff file, and a spelling dictionary and/or a hyphenation dictionary (.dic files).
- Rename these files using the ISO 639-1 language codes and the ISO 3166-1 country codes. For example, the name for Hindi will be hi_IN, and the files should be named hi_IN.aff, hi_IN.dic and hyph_hi_IN.dic.
- Create a folder with this name, and place the .aff and .dic files in it.
- Move the folder to:
Win C:\Program Files\Common Files\Adobe\Linguistics\5.5\Providers\Plugins2\AdobeHunspellPlugin\Dictionaries
Mac /Library/Application Support/Adobe/Linguistics/5.5/Providers/Plugins2/AdobeHunspellPlugin.bundle/Contents/SharedSupport/Dictionaries
- Locate a file named Info.plist in:
Win C:\Program Files\Common Files\Adobe\Linguistics\5.5\Providers\Plugins2\AdobeHunspellPlugin
Mac /Library/Application Support/Adobe/Linguistics/5.5/Providers/Plugins2/AdobeHunspellPlugin.bundle/Contents
- Open the Info.plist file in a text editor application and use the name obtained in step 4 to add string elements to the SpellingService and UserDictionaryService arrays and/or HyphenationService array.
- Restart InDesign.
To remove dictionaries that you’ve installed, in addition to undoing the changes listed above, you will need to delete the file named InDesign Defaults located at:
- Win C:\Users\USERNAME\AppData\Roaming\Adobe\InDesign\Version 7.5\en_US
- Mac /Users/USERNAME/Library/Preferences/Adobe InDesign/Version 7.5/en_US
The World-Ready Composer
Now, keep in mind that neither of these techniques will change the composer settings applied to the text. This is important to know because it’s necessary to enable the World-Ready Composer (WRC) in order to get the correct word shaping for many of the non-Western scripts, such as Arabic, Hebrew or Devanagari.
As documented by this support page, non-ME versions of InDesign do not provide a way to enable the WRC through the user interface. It is however possible to enable it via scripting, and several 3rd-party developers have released free and paid tools to do so. To get more information, please refer to Thomas Phinney’s 2009 blog post entitled World-Ready Composer in Adobe CS4; although it mainly covers CS4, its contents should apply to later versions as well.
Finally, I’d like to acknowledge that this post was made possible by the valuable contributions of Margie Vogel from the InDesign Engineering team.
(24 Oct 2012: Updated acrobat.com links)