Uniscribe and InDesign

Sw MY's picture

Hi Folks,

Uniscribe and Devanagari (or any complex script): the glyph substitutions are not supported by InDesign.

Has anyone written or heard of any conversion tool, that will analyze Uniscribe text (that is, text written in a complex script like Devanagari) and make all substitutions permanent (that is, the actual glyphs, rather than lookups for substitution, will be written), thus making the font useable in InDesign? So it would be a workaround for Indesign and Uniscribe. . .


Thomas Phinney's picture

You'll probably have to wait for a future version of InDesign (as in, later than CS3), or for an Indic-enabling plug-in.

The specific approach you describe may be technically possible, but very difficult indeed. I think it would make a lot more sense to actually enable Indic layout in InDesign.



Uli's picture

The OpenType specifications were released ten years ago in April 1997.

This is not an April Fool joke. This is a fact.

The OpenType font format was devised to support non-Latin scripts, especially the so-called "[edited by moderator] scripts".

Merrian-Webster's Collegiate Dictionary, 11th edition, defines "[edited by moderator]" as "a member of a socially disadvantaged class of persons". Ten years ago, "[edited by moderator]" in Africa, India etc. were disadvantaged such that none of them was permitted to use any of their own scripts (Devanagari etc.) under Windows.

Seven years ago, Microsoft implemented the OT support for "[edited by moderator] scripts" in Africa, India etc. as an integral component of all versions of Windows published since that time. Since many years, even the most elementary Windows programs (e.g. the simple one line editor "Edit") and also all freeware word processors (e.g. Open Office Writer) can handle "[edited by moderator] scripts".

As opposed to this, for the past ten years, Adobe has been intentionally preventing "[edited by moderator]" from using "[edited by moderator] scripts". Although the OT support for "[edited by moderator] scripts" is an integral component of Windows readily available to all application programs, Adobe wilfully blocked this Windows OT component so that "[edited by moderator]" in Africa, India etc. cannot use their own "[edited by moderator] scripts".

Considering that even the simplest one-line editor written by a hobby programmer permits "[edited by moderator]s" to use "[edited by moderator] scripts", there is no other explanation than that Adobe deliberatey prevents "[edited by moderator]" from using "[edited by moderator] scripts" for reasons of racism and apartheid.

Sw MY's picture

Thanks for your comment.

I am not a programmer, so I can't judge how difficult it would be to do what I was imagining. But I still hope that someone who is a programmer might have the interest and the genius to write some kind of code (be it a plug-in or anything else) that can make Uniscribe and InDesign become more friendly. Waiting for Adobe might be like waiting for Godot!

Why, actually, hasn't Adobe incorporated Uniscribe into InDesign? I hesitate to impute to Adobe the kind of sinister racist motives that another commenter has suggested. I imagine it would be one of two possible reasons: (i) it is actually very difficult to incorporate Uniscribe into InDesign, because the features of the one somehow conflict with the features of the other; or (ii) It is not economically viable: why spend money to develop a feature that will be used primarily by people who will not pay for it? (That is, at least in India, as I understand it, the vast majority of Adobe software users do not have licensed software: they buy it on the street corner or download it from pirate sites. (An aside: when we needed two licenses for InDesign, we put in an order with a software supplier in Kolkata, and waited over two months before we received the disks. Adobe doesn't make it easy to go legal in India!))

With best wishes

Miguel Sousa's picture

> Why, actually, hasn’t Adobe incorporated Uniscribe into InDesign?

Let's imagine that it had. What do you think would happen to an InDesign-Mac user when opening a file created with InDesign-Windows?

Sw MY's picture

>Let’s imagine that it had. What do you think would happen to an InDesign-Mac user when opening a file created with InDesign-Windows?

Oh, good point. So there's a third possible reason. Is there any support for Indic scripts, similar to Uniscribe, on the Mac?

If the two systems are incompatible, then the only hope for advanced script support in InDesign would be through a plug-in, I suppose.

Uli's picture

> it is actually very difficult to incorporate Uniscribe into InDesign

Since Uniscribe is an integral component of all newer Windows versions (Windows 2000, Windows XP, Windows Vista), even young school kids writing simple programs can easily display all Indic scripts. This means, that Adobe programmers, who are assumed to have more programming experience than young school kids would have no difficulty to display "[edited by moderator] scripts" in Adobe programs, if the Adobe outfit were willing to permit "[edited by moderator]" to use the "[edited by moderator] scripts" of their own mother tongues.

Typophilers do not care that "[edited by moderator]" in Africa, India etc. cannot use their own "[edited by moderator] scripts". For instance, if Typophilers see this picture

http://www.sanskritweb.net/temporary/[edited by moderator].jpg

the only thing they care about is to know the name of the typeface which was used for typesetting the headline. But Typophilers do not care that, for instance in India alone, there are more than one billion (1,000,000,000) speakers who want to use fonts for the scripts of their own mother tongues.

But Adobe deliberately prevents "[edited by moderator]" from using their mother tongue scripts.

So, "[edited by moderator]" who want to use InDesign will have to renounce their mother tongue.

Miss Tiffany's picture

Note from Moderator:

Uli, you are treading on thin ice. The use of that word is absolutely not tolerated here on Typophile. You occasionally shed interesting light on topics and that is why you continue to be able to post. You've made your point, I believe.

I am going to edit your post.

John Hudson's picture

Adobe decided more than a decade ago, i.e. around the same time that they were first getting involved with OpenType, to free their applications from dependence on OS support for font rendering, text encoding and text layout, in order to provide a seamless cross-platform experience for users. This means, among other things, that Adobe's support for complex scripts has lagged behind that of Microsoft for the simple reason that Adobe's historical internationalisation pushes have not been as global as Microsoft's and they have concentrated on the East Asian market.

As the developer of the Adobe Arabic, Adobe Hebrew and Adobe Thai fonts, though, I'm pretty confident about Adobe's long-term commitment to complex script support, even if I wish it were happening faster.

Sw MY's picture

> even young school kids writing simple programs can easily display all Indic scripts.

In that case, dear sir, please you or someone kindly write a little something so we hapless Windows InDesign users can use unicode Indic scripts in InDesign. :-)

Uli's picture

> In that case, dear sir, please you or someone kindly write a little something
> so we hapless Windows InDesign users can use unicode Indic scripts in InDesign.

Swami Mahayogananda:

If Windows application programs do not intentionally block or disable the built-in Windows Uniscribe font renderer for complex scripts, then these programs will automatically render Indic scripts.

For instance, if you look at


you will see this


if and only if you use a Windows browser that does not intentionally block or disable the Uniscribe renderer.

However, since all Adobe application programs (InDesign etc. etc.) intentionally blocked or disabled the built-in Windows Uniscribe font renderer for Indic scripts, it is not possible to write "a little something", because Adobe intentionally prevents Indians from using Indian scripts.

I hope that you now get it that Adobe does not want you to use Indic scripts in InDesign, otherwise it would not willfully block the Uniscribe functions.

The "a seamless cross-platform experience for users" described by Mr. Hudson means that Indian users have a "seamless cross-platform non-experience", because Adobe intentionally blocked or disabled both Microsoft's Uniscribe as well as Apple's own Macintosh Indic font renderer.

Thomas Phinney's picture

Uli's statements about Adobe "intentionally blocking" Uniscribe (or Apple's Indic font rendering) are simply false. Adobe is not "blocking" these services, but is simply avoiding using OS-specific calls in the first place, in favor of our own cross-platform text handling and text rendering. (As many others have mentioned.)

Adobe is certainly interested in better international language support, and it's an area we know we need to improve dramatically.

However, when things descend from questions and honest discussion to abusive false accusations and attempts at rabble-rousing, that's where I exit the discussion. I don't expect I'll respond further to Uli here (or probably in any other thread, based on what I've seen).



John Hudson's picture

The “a seamless cross-platform experience for users” described by Mr. Hudson means that Indian users have a “seamless cross-platform non-experience”, because Adobe intentionally blocked or disabled both Microsoft’s Uniscribe as well as Apple’s own Macintosh Indic font renderer.

Adobe apps neither 'block' nor 'disable' either Windows or Mac Indic script processing, they simply don't use it (and they are not alone in this). Uniscribe is a set of APIs for processing Unicode text, and applications have to deliberately make use of it, either directly or via a higher level set of APIs; it is not something that one blocks or allows, it is something one deliberately takes advantage of or chooses not to. And there are good reasons why developers might choose to 'roll their own', as Adobe have done, rather than making their application dependent on OS services that are outside of their control. One of the key reasons is, as I wrote, cross-platform compatibility. Yes, Windows and Mac both offer Indic text processing via system services, but they do so in incompatible ways using competing font layout formats. Adobe have a decade-old commitment to cross platform compatibility in their design apps, and that means waiting for them to assign resources to supporting language and script handling for specific markets.

I'm the first person to say that I wish Adobe apps supported Devanagari and other Indian scripts, and also that we've been waiting much too long for this. I know Adobe have the know-how to implement this stuff, because I've worked with some of the people who would be responsible. It's a question of managers releasing budget funds to get the work done and getting it into the product cycle.

Misrepresenting what Adobe have done and their reasons for doing it is not going to make Indic support in Adobe apps happen any sooner.

Sw MY's picture

Thanks to Messrs Phinney and Hudson for clearing up the misconceptions about Adobe and complex scripts.

>I know Adobe have the know-how to implement this stuff, because I’ve worked with some of the people who would be responsible. It’s a question of managers releasing budget funds to get the work done and getting it into the product cycle.

Any suggestions on encouraging the managers to let those funds flow etc.? (other than putting in a request at the website, which we have done ...)

Well, it's good to know that what we want is possible, and now we have yet another great chance to excercise what this world is constantly demanding of us: patience!


beachmat's picture

If CS3 has been launched in Indian now - which I believe it has - shouldn't providing support for Indian languages be a priority? And surely Adobe could get a head-start on its main DTP competitor in a very large market?

John Hudson's picture

I've just discovered, to my great delight, that InDesign CS3 supports Thai layout. There is no linebreak or spell-check dictionary, but if you set the dictionary language to [No Language] all aspects of Thai OpenType layout seem to be functioning beautifully.

beachmat's picture

What font was that with?

Thomas Phinney's picture

Probably Adobe Thai - which John and Tiro did the production work on. Should work with any OpenType Thai font.



John Hudson's picture

Yes, Adobe Thai, but I have also tested successfully with Linotype's new OT versions of Sukothai and Sirichana, and with a test revision of Microsoft's Angsana font.

[Older Thai fonts, presumably designed to work with pre-XP Thai handling on Windows, do not perform very well in InDesign: the tone marks float too high above the letters. I suspect that Uniscribe does some magic to recognise such fonts and to apply a different version of the Thai engine to them.]

Hariram's picture

Instead of blaming or fighting with Adobe, I like to submit my humble proposal to make enable Indic processing in InDesign as follow:

Adobe InDesign CS3 supports Unicode, XML, XMP, HTML and all web compatible tech, but Indic (Hindi-Devanagari, Oriya, Gujarati etc.) not supported because these are very complex due to some illogical positioning of Maatraas and conjuncts.

For example:

Input is
क+ि =

But Output is needed/optained as

i.e. shifting of character inputed afterwards, but to appear before it.


Input is


But output of which is


i.e. shifting of third+fourth character-code to seventh+eighth in sequence.

For obtaining this rendering only OT font's glyph substitution/possitioning rules can not solve the problem. This illogical and complex positioning has to be obtained by the special technic inbuilt in the Rendering Engines of Operating System. (In case of Windows : Unicows.dll and USP10.dll etc. i.e. Uniscribe or Unicode Script Processor)

Whereas the scope of a PageLayout program like Adobe InDesign should remain limited upto the OT Fonts (i.e. glyphs). Even if in Edit mode the text is rendered in traditional/desired form with the help of rendering engine of Operating system, but when the layout output in Unicode will be sent to the printer(Postscript, or color separation processing units), the repossitioned glyphs gets distorted, because there the rendering engine does not work or save the balance between sequences of Encoded characters and repositioned sequences of glyphs of OT fonts.

More, the output not necessirialy to be get with that particualr OS (like Windows) only, user should have freedom to get it with any OS. Or the layout-output must be OS independent.

I think this is the policy of Adobe, the great IT gaint must finding some OS independent tech. for their products like InDesign.

So I propose a solve, atleast may be for presently/temporarily, as :

For Print media
In Hindi (or other Indic) in Unicoded OT fonts:

-- 1st Compose with Layout in Unicoded OT fonts (with Rendering Engine help)
-- Then make a PDF of the pages with option of "inlcude OT fonts"
(As PDF uses only sequence-wise glyphs of a OT font, does not use the Unicode character code sequences, as there is no need to futher processing)
-- Then send the PDF for print or pre-print processing.


Design/Develop Hindi (or other Indic) OT Fonts with all the complete syllables(अक्षरों), not with mere/limited characters (वर्ण) and glyphs(वर्णों के टुकड़ों या संयुक्ताक्षरों). The possible number of complete syllables in Hindi still could not be counted yet. It may go beyond Billions.

For example in Devanagari (Sanskrit) in the word


का is one syllable
र्त्स्न्या is second syllable


Here 10 number of Unicode characters combindingly makes one syllable (अक्षर).

There should not be any such thinking or arguments that "this or that Conjunct/syllable is never used". If one has to write name of all the persons all over the world in Devanaagarii, all combinations of C+C+C+C+C(n)...+V/M+VM should be taken in account in syllable designing. [C=consonant, V=Vowel, M=Maatraa, VM=Vowel Modifier].

For this in Devanaagari

if Base Consonants = 34 Numbers
Base Vowels = 16
Base Maatraa = 16
Vowel Modifiers = 3
Nukta = 1

Then at 1 level of consonant, total number of syllables may be 34+16=50*16=800*3=2400

क का कि की कु कू..... को कौ
कं कां किं कीं कुं कूं..... कों कौं
कँ काँ किँ कीँ कुँ कूँ ..... कोँ कोँ
कः काः किः कीः कुः कूः... कोः कौः
ह हा हि...
हः हाः हिः

क्कि क्कु क्कौ, क्कौँ
स्मि र्क्रोँ... ल्क्य (याज्ञवल्क्य)

At 2 level of consonant conjuncts 2400**2
At 5 level of consonant conjuncts 2400**5

At 10 level of consonant conjuncts 2400**10 = 6.3403380965376e+33

Which comes to infinite, or we may say total number of syllables in Devanaagari (or in other Indic script may be as much as total number of stars in the sky or hairs in a human body)

N.B. : Above calcutaion may be wrong, it should be taken just a mere example/glympsh.


So the Indic users should

Either make a Hindi OT font with all the syllables(अक्षर)


Remain satisfied by just using the glyphs (pieces of characters) only, forget further processing, searching, replacing, sorting and indexing.


Geke's picture

I’m not an expert, but I understand InDesign’s situation like this:
1. Adobe wanted to have it truly cross-platform, and because Microsoft’s and Apple’s implementations -- Uniscribe and ATSUI/Core Text -- are different, Adobe had to create a third one for itself.
Also, they can’t use the AAT font technology that Apple used or uses for its Indic script support.
2. Because InDesign has very sophisticated typographic possibilities, it’s much more difficult to integrate Indic-script support in it than in a simple text editor. Although I guess that, if they had planned it for complex scripts from the start, things would have been easier.

Hope that helps to clear the air...

For the time being, a way of using InDesign for Indic scripts is to use non-Unicode fonts. There is FontSuvidha for converting Unicode Devanagari to many other encodings; I don’t know if there are similar programs for the other scripts.

Uli's picture

> Either make a Hindi OT font with all the syllables (अक्षर)

For our Devanagari font, downloadable for free at my site


I took care that all approx. 1000 ligatures (अक्षर) were allocated PUA (private use area) code points in the hexadecimal E000+ range so that our font, which is unique in this regard, can, at least theoretically, also be used with Adobe programs which cannot handle Indic Unicode font rendering. However this roundabout makeshift of entering PUA codes by character palette can only be recommended for a few words typeset in Devanagari, not for longer texts. For complete texts, you must use a professional Windows program such as MS Word, not InDesign.

Geke's picture

Maybe I’m unnecessarily stirring this up, but I want to give you a better opinion of Uli, even if I don’t support the tone of his outbursts. Over the years, he has worked so hard on enabling proper Indic script typesetting, struggling with all the intricacies presented by the various font technologies and operating systems, that I can understand how the creators of so many obstacles to his goal have started to appear like enemies to him.
Also, the word you edited out was not meant in an abusive, but in a defensive sense, as you had surely noticed, and could have been replaced by something like "underdeveloped". In Europe, by the way, this word (or what I think it was) is not as shocking as it is in the US.

That said, I was intrigued by the earlier post about Thai script. Does InDesign handle this script completely, or does it leave it to Uniscribe’s grace when the text is marked as "no language"?

John Hudson's picture

That said, I was intrigued by the earlier post about Thai script. Does InDesign handle this script completely, or does it leave it to Uniscribe’s grace when the text is marked as “no language”?

I believe the support for Thai is entirely internal to InDesign; it does not rely on Uniscribe. We originally developed the Adobe Thai fonts for Acrobat forms, and in that context I believe support was, at least initially, via Uniscribe. But as I understand it the InDesign CS3 developers then added support for Thai internally.

Thai is relatively easy for Adobe to implement within their existing layout architecture, because there is only on instance in which a single character (sara am) needs to be represented by more than one glyph, and this can be handled as a buffered character substitution since the two parts are also independent characters (sara aa, nikhahit).* So Thai does not require any one-to-many glyph substitutions, which are the big stumbling block for Adobe.

*Uniscribe also handles this as a buffered character substitution.

Jenny Man's picture

Hello and Help..

I'm a little stuck and you guys seem to know what you are talking about!

I am doing some work for a Museum in Thailand and need to incorporate Thai text (supplied by the client), into some graphics produced in InDesign CS2 (running on OS 10.4) - so I don't need to write it, just work with the text my client sends me.

I am using the Thai fonts that came with OS10.4 English version. The problem is that the character spacing gets distorted. Accents are slightly off and all over the place, rather than sitting above characters, they are slightly off and in some instances take up about a character space to themselves. The overall effect is funny breaks between characters.

Does CS3 handle this better? Is there an international version of Indesign that I could get to overcome this?

Any help is gratefully received.

(Apologies for the haphazard description and poor use of correct terminology).

dan_reynolds's picture

I have been told that CS3 supports Thai. I believe I read this from John Hudson somewhere here on Typophile. It is my understanding that you cannot do this in CS2, be it on a Mac or on a PC. The international versions of InDesign have been CE and ME – these handled the accents of Central and Eastern European languages, as well as the Right to Left nature of certain Middle Eastern scripts like Hebrew and Arabic. There isn't an "InDesign South Asia" or anything like that… but if the hints I heard were correct, you'd be just fine with your Thai texts as long as you upgrade!

John Hudson's picture

Jenny, there are two issues here: one is that CS2 does not support Thai layout at all, and the other is that the Mac OS X Thai fonts are probably AAT format rather than OpenType, i.e. they use Apple's own layout intelligence model rather than OpenType's, which means that they will also not work in CS3 or anywhere else in Adobe apps.

So if you want to use those particular fonts then you will need to set the text in a Mac app that uses AAT layout. What you might be able to do is to set individual blocks of text in such an app, export or print them to PDF, and then embed the PDFs in your InDesign app as graphics. This is what I do when I need to include text in InDesign documents using scripts or font formats that are not supported by Adobe.

Another option, if you don't mind updating your software and switching fonts, would be to install InDesign CS3 and use some OpenType Thai fonts. The Adobe Thai font family ships with Acrobat 7.0.5 and later (look in the Acrobat/Fonts folder) and is good for text. Linotype have just launched OpenType versions of their classic Sukothai and Sirichana typefaces.

John Hudson's picture

PS. One very important thing to note: when setting Thai text in InDesign CS3, in the language drop down list you have to select 'None'. InDesign does not include Thai spellchecking or grammar functionality, but Thai layout may not work correctly if the text is identified as any other languages.

emenninga's picture

As the engineer on InDesign who added improvements for Thai in CS3, I want to be as clear & honest as I can. We took some steps towards Thai support in InDesign, but we do not claim to have reached our minimal level of support (yet). The same is true for other scripts. For Thai, there is InDesign Thai which I have heard of, but haven't evaluated.
Anyway, for Thai:
1) We do not use AAT or Uniscribe. In fact, we only do the correct positioning of marks using OpenType fonts that do the positioning themselves using 'mark' and 'mkmk' features. Microsoft's original Thai fonts had a table-based way of doing mark positioning using some PUA accent glyphs, but we don't support it. I think InDesign ME and InDesign Thai both support the Microsoft legacy fonts, but not AAT fonts. (not sure)
2) In CS3 we did not utilize any code to break Thai phrases correctly. The user would have to insert "discretionary line break characters" manually (U+200B: zero width breaking space). FYI, Thai doesn't use spaces between words, but still expects line-breaks to occur between words. There are free algorithmic approaches available which we are investigating.

The InDesign team believes that extending our script support is a good long-term business opportunity, but as pointed out above we have to implement a cross-platform solution and (more critically) we are unwilling to release something under the "Adobe InDesign" label unless it reaches a pretty high level of quality. And, of course these features compete for resources with every other wish-list...

Jenny Man's picture

Thanks for the responses - what a relief to know that i'm not alone!

It appears to be possible to upgrade to CS3 and get hold of some OpenType Thai fonts, although this is not guaranteed to work. Plus there may be some manual tweaking required, which I would not be confident in doing not being a Thai speaker. I could always download a trial of CS3 to try it but it looks like the choice of font is key to the correct alignment of accents. Linotype was mentioned earlier - can I assume that any one of these should work?

A silly question - but how do our Thai friends get around it? Is it that the whole system from hardware to operating system - is set up for it?

With thanks

John Hudson's picture

Linotype was mentioned earlier - can I assume that any one of these should work?

I have the Linotype Sukothai and Sirichana OpenType fonts, and can confirm that they work in InDesign CS3 (with Eric's caveats about linebreaking). I can also confirm that the 'Adobe Thai' fonts work -- I know this because I made them. :)

I have put a PDF of samples of the fonts, set in InDesign CS3, online at


The linebreaking issue is a tricky one, and you would need a qualified native proofreader.

Jenny Man's picture

Unfortunately it won't be practical to get in a native proofreader - not on a regular basis anyway. So i'm a bit stuck. Other than working in MS Word and exporting as a pdf to an Adobe program - would you suggest any other method? (However radical!)

thank you thank you thank you...

John Hudson's picture

Well, you could set the text in Word, using the same text block size as in your target InDesign document, make use of Word's Thai dictionaries for linebreaking, and then you could insert hard linebreaks at the end of every line, and copy/paste the text into InDesign, preserving the Word linebreaks.

Or, perhaps tidier on the InDesign end, you could paste in the text without hard linebreaks from Word, and then use the (printed) Word setting as a guide for where to place discretionary linebreaks (shift+enter/return) in InDesign. This would produce correct linebreaks but wouldn't treat every line as a separate paragraph.

emenninga's picture

We call the shift+enter a "soft return" because it forces a line break without forming a new paragraph. The discretionary break is an optional break that doesn't insert a hyphen or anything. We don't assign it a keyboard shortcut, but one could. Numerically, the soft return is U+000A, paragraph break is U+000D, and discretionary break is U+200B.

beachmat's picture

Jenny, our Thai friends use a plugin for Indesign called Thai Support Plugin, which adds support for various kinds of Thai font and does acceptable Thai line breaks, which we have, so we could give you some help with that job if you still need it. There's also another cheaper plugin for CS3 which does Thai line breaks but I haven't tried it.

beachmat's picture

please delete

CarolynLP's picture

I am facing this same problem. I have a large document (1700 pages) in Lao using Uniscribe to display the glyphs. I need to import this text into something other than Word (Quark, InDesign, Pagemaker, Framemaker) and combine it with newly created text.

Can anyone help over come the problem that Adobe doesn't have a conversion from Uniscibe?

Thomas Phinney's picture


They offer a plug-in for InDesign CS2 and later. I know nothing else about it, so I can't vouch for it in any way.



arifkarim's picture

even if on the adobe site, it says that new indesign cs3 supports fully opentype, its completely a joke! i downloaded few adobe trials in a greed to see... but no! a complex nastaliq charachter based opentype font is adobes enemy, while ligtures are working fine... that is a big shame for adobe....

Syndicate content Syndicate content