Following the recent discovery that the Gurmukhi writing system is supported in InDesign CS6 using only the legacy 'guru' script tag instead of the preferred 'gur2' tag, I set out today to determine which script tags are used for each of the Indic scripts supported in InDesign CS6, and hence what will need to be implemented in fonts in order to get them to work in this environment. My method was first to test each script using a font that supports only the newer '---2' script tags (Nirmala UI) and if this failed to then test with a font that supports the legacy tags (mostly old MS fonts). The PDF results of the tests are attached.
Some background on the two sets of script tags:
Microsoft originally defined OTL script level tags for each of the Indic scripts in Unicode, and then proceeded to implement shaping engines for many (but not all) of these. Some time after Windows XP shipped with these shaping engines and corresponding fonts, Microsoft decided that certain bugs in the shaping engines would require fixes to those engines and corresponding changes to fonts, and that these changes would make the fonts non-backwards compatible with the Windows XP shaping engines. This was put forward for discussion on the OT developer mailing list, and I suggested that it would be possible to make fonts that worked with both shaping engine behaviours if Microsoft, instead of changing the behaviour associated with the existing script tags, registered a new set of script tags for each script. This is what they did, and as a result it is possible to create e.g. a Devanagari font that is backwards compatible with the 'deva' tag shaping in WinXP and with the 'dev2' shaping in Windows Vista and later. [I won't go into details here of the problems with the old shaping that prompted this change, or what needs to be done differently for each script tag in fonts.]
When Adobe announced that InDesign CS6 would officially support a significant number of Indian writing systems (some unofficial support was provided in CS5 and 5.5 if one activated the World Ready Composer), I was thrilled. I also presumed that this support would utilise the newer '---2' script tags, since these have been around for almost a decade now, and I don't think I'm alone in considering the older tags 'legacy' software, i.e. not something for which I expected anyone to be rolling out new support in 2012! Indeed, Microsoft list the old Indic font specs on their website as 'deprecated'. I was also encouraged in this expectation by initial testing of Hindi fonts that revealed solid IS CS6 support for the 'dev2' script tag.
So I was somewhat perplexed this past week, trying to figure out why my Gurmukhi 'gur2' font wasn't working in ID CS6, to discover that Gurmukhi support in the app seems to be via the old 'guru' script tag only. It was relatively easy to build a font supporting both script tags, and to confirm that this then worked in ID CS6, but I was left wondering which of the other supported scripts used which tags. Hence today's testing.
This is the summary of my findings: three of the scripts use the newer '---2' tags, but the six others use the old, legacy, deprecated tags and corresponding shaping behaviour. One of the scripts, Malayalam, seems to use the newer tag, but has a bug affecting correct shaping of chillu forms.
'mlm2' Malayalam *buggy*
'ory2' Odia (Oriya)
I find this use of the old tags very disappointing. In recent years I have made a number of Indic fonts, and in no cases was the client concerned about backwards compatibility with Windows XP shaping. The only fonts in which I was requested to include support for both script tags for a script are the Adobe Devanagari fonts; ironically, Devanagari is one of the scripts for which Adobe use the newer tag in ID Cs6. I doubt if I am alone in presuming that the legacy tags would only be used for legacy purposes, and could be omitted from newer fonts targeting post-Vista environments. Now it looks like my clients and other users who have been waiting eagerly for many years for Adobe to officially support Indian writing systems will need to 'downdate' fonts in order to enjoy that support.