Thai marks in illustrator

Hi, I followed your excellent tutorial on creating stacking marks for Thai https://glyphsapp.com/tutorials/mark-to-mark-positioning

The marks stack great in Indesign CS5, but Illustrator CS5 and CC 2015.3 still has them appearing layered on top of each other. Is there a way to make Illustrator recognize the mkmk feature?

thanks,

John

Sorry I can’t offer more help, but have you confirmed Illustrator can handle Thai normally, by testing other Thai fonts? If it can display those correctly we should be able to come up with some possible things to try in your font.

Thanks for the reply! Here’s my opentype coding, adapted from yours:

markClass [uni0E31 uni0E32 uni0E33 uni0E34 uni0E35 uni0E36 uni0E37 uni0E47 uni0E48 uni0E49 uni0E4A uni0E4B uni0E4C uni0E4D uni0E4E] <anchor 0 500> @MARK_TOP_CENTER;

feature mkmk {

Mark to Mark positioning

lookup STACK_ON_TOP {
lookupflag MarkAttachmentType @MARK_TOP_CENTER;
pos mark [uni0E31 uni0E32 uni0E33 uni0E34 uni0E35 uni0E36 uni0E37 uni0E47 uni0E48 uni0E49 uni0E4A uni0E4B uni0E4C uni0E4D uni0E4E] <anchor 0 750> mark @MARK_TOP_CENTER;
} STACK_ON_TOP;

} mkmk;

Here’s a snapshot of my font (Wildwords) in Indesign CS5, with a system font for comparison.


The accent marks are stacking properly. The little loop over the first character and vertical line over the third are the same glyphs that appear above the lowercase d-looking mark on characters 7, 11 and 13.

And here it is in Illustrator CC2015. Now the accent marks are on top of each other instead of stacking, so it tells me Illustrator is not recognizing mkmk and/or positioning.


Several people suggested turning on Indic options in the preferences, and using the Middle Eastern Southeast Asian line composer in the paragraph palette, but that’s actually worse…

But strangely, the system font works fine in both. It’s a TTF, which I opened in Glyphs to check the scripting, and there’s no opentype ligatures relating to Thai marks. They’re doing it some other way. If you have Ayuthaha, Krungthem, Sathu or Silom, maybe you could open them up and see.

In the meantime, I did come up with a workaround, which was to create a ligature for every mark combination. But for the future, that is more work, and not as elegant. :slight_smile: Plus it would be cool to be able to use mkmk positioning for all kinds of things in Illustrator, if it would just recognize it!

thanks,

John

I have only CS4 so unfortunately, so I can’t test compatibility with CC. I’ve never really got anywhere with Illustrator.

In your screenshots, none of the apps is displaying Ayutthaya in a standard way. I don’t know if that’s a font problem or a shaping problem, but the tone marks are always the ‘upstairs’ version, which leaves far too much gap above a consonant when there’s no vowel mark in there. (Judging by what’s happening in the final screenshot, it looks like the ‘downstairs’ versions of tone marks are being replaced by .notdef, which implies the font lacks glyphs for them. But it could equally be a serious problem with the text engine.)

In your font in InDesign CS5, something weird has happened with sara-aa (า): following a tone mark it’s getting raised off the baseline. I’ve seen this behaviour before somewhere, but can’t remember what caused it. Something’s not right in the GDEF or GPOS. (Side note: move the anchor on น so the right side of ี aligns with its stem. Or if that anchor is already there, then it looks as if the marks are not using the right anchors.)

I would not expect the Middle Eastern version to work, and I didn’t actually know there was a South Asian version as well. In InDesign CS4 I use the standard version but need the WRC to be enabled (any of the left-to-right settings works fine for me). I don’t know if WRC also applies to Illustrator.

@GeorgSeifert @mekkablue Do you happen to know if Illustrator should work the same way with WRC as InDesign? Any other ideas for things to try?

I don’t know anyone from the Illustrator team I am afraid. Is there someone from Adobe support that can help out? I could ask Dan here at ATypI, and he may be able to point me to someone.

I contacted everyone I know at Adobe, and one person just replied that he found out InDesign, Illustrator, and Photoshop do not yet support Thai. He’s forwarded my email to the Illustrator team in hopes that it moves mkmk support up the priority list. So I suppose the more pressure the better!

I’m still at a loss as to how the system TTFs accomplish it, though.

john

The system TTFs don’t have any GPOS. In the text you show it’s all just default position. No GSUB, no GPOS. The outlines are already at that position.

Whoa, you are right! Both Adobe programs do have the single marks “floating” above the letters, rather than shifting down.

But the accents DO shift down in Textedit, so there is some kind of repositioning code in it.

I don’t believe the characters are composites. In the document I’m getting from my client, they’re made up of three separate characters – the base letter, then one or two accents with character widths of zero, positioned to the left of the sidebearing and up high. Here’s a double-accent character pasted into the Glyphs text window:

and here it is with spaces added between the characters:

It’s three separate pieces. Weird that they get them to shift in a truetype font.

Still, I guess composite ligatures is my answer, for now at least. And Bendy, thanks for the catch on the shifting sara-aa.

John

Apple System fonts use AAT tables instead of GSUB for layout and positioning. That’s why it works in TextEdit. I have a look at this.

Hello @jroshell,

I maybe misunderstanding the issue you’re facing, but in my opinion, if the font is shaping correctly in InDesign and not in Illustrator, you need to activate the Adobe World Ready Composer (WRC). Now you cannot switch on the WRC from the paragraph toolbar option like you can in CS6+ so you’ll have to try the following:

  1. Go to this webpage: http://www.thomasphinney.com/2009/01/adobe-world-ready-composer/
  2. Scroll down to ‘Templates for ID, Ai & PS’.
  3. Download the template for Illustarator (Ai)
  4. Open the template and paste the text into the ‘Left-to-Right’ text box.

If this solution works for you, you can simply copy/paste this text box to your document and duplicate it as many times as you need.

Additionally, in Illustrator CC, you can try switching on the WRC from the Paragraph toolbar, and activating ‘Thai’ language preset in the Character toolbar. This enables hyphenation dictionaries and activates the OpenType locale settings.

Hope this helps!

Cheers,
Kalapi

1 Like

Thanks - this is still an issue with the latest version of CC 25.1 so no fix after 5 years? Anyway @kalapi thanks your workaround advice saved me when I was dong some Thai product art. Much appreciated.