My understanding of 'Legacy Text' is text that was created in Illustrator 10 or below and it should be of type 'kLegacyTextArt'. Any attempt at updating a legacy text frame results in the message:

"This text was created in a different version of Illustrator. Editing the text may cause some changes to your text layout. Basic formatting will not be affected. Do you want to continue?"

or for text on a path:

"This type on a path was created with a previous version of Illustrator. Click Update to update the character positioning using the new Type on a Path engine."

Am I correct so far?

We come across text frames like these from time to time and they occasioally cause us some problems when an artist doesn't notice them (if they have no reason to edit the text, they don't touch it). For example outlining causes the text to move slightly.

However when I interrogate these via a plug-in, it reports its type as kTextFrameArt making it very difficult for us to detect and update the text frames in a controlled manner. The "Legacy Text" submenu in the Type menu is also greyed out, yet attempting to edit the text results in the first warning message. I have a number of artworks that exhibit this behaviour.

What I'm after doing is properly detecting these rogue text frames and highlighting them so that an artist can tackle each one in a controlled manner and adjusting for any movement. I'm aware of the LegacyTextConversionSuite but its functionality suggests that I need to have already identified a legacy text frame as kLegacyTextArt.

Am I missing something here or do we have some very screwed up artworks?

*Edit - CS5.1 on Mac OS X 10.6.8, we haven't made the leap to Lion yet

I just checked, and we still look for, and automatically upgrade legacy text, so it must be possible to identify them

It looks like we're checking for kLegacyTextArt, so that is the correct thing to check. Stupid question: when a document has legacy text in it, AI pops up a dialog asking if you want to update the text immediately ('Update') or leave it for later ('OK'). If you hit Update, there won't be any legacy text, naturally. You're sure that's not happening?

Here's the code we execute to go looking layer-by-layer for legacy text:

I've been using a similar method to detect legacy text, I even used your exact code which returned no results. I'm absolutely sure that the message I'm receiving is not the usual "Do you want to update the legacy text [Update] - [Leave for Later]" message.

Here's the message we're getting:

It seems that the text frames in question aren't actually legacy text. However as the message suggests, they do contain text that was created in an earlier version of Illustrator. Perhaps it's been copied from artwork to artwork through various Illustrator versions. After closer inspection, the text exhibits some unusual behaviour.

Here's an example showing the text sitting just below the baseline when its frame is selected and viewed in preview, however when viewing it in outline mode, the text appears to be sitting on the baseline. Any attempt to either edit the text or move the text frame results in the text 'jumping' and sitting on the baseline correctly. The warning message only appears when I click inside it with the type tool, doing anything else results in what I can only assume is a reflow without any kind of warning.

Not all text that shows the warning when edited exhibits these properties though, sometimes the warning appears but there's no visible reflow and everything's seems fine. However, even the smallest change in text position or layout could have a big impact on our business if it goes un-noticed.

The only theory I have now is that it was caused by maybe a character or paragraph style that was applied in an older version of Illustrator, perhaps CS or CS2 and has been 'carried over'. I've been fiddling with the SDK for most of the day in an attempt to detect this text without causing a reflow but with no success so far.

Apologies for the lengthy message, just I have a number of people looking to me for a solution and I'm running out of ideas! I appreciate your input of course

The dialog I was talking about was at document open, not when you click on the legacy text. But the fact that you get that dialog suggests that they're...something. It sounds like they're not AI10 or earlier text, but something like CS1 or CS2 text. I'm not sure if there's a way to detect that.

Can you post a file with some of the text in that state? I'll take a look, see if I can spot anything. Even a file with just one piece of said text would be enough. I'm curious, becuase I've never seen this message before.

I think we've found the culprit here. We're using Extensis Universal Type Server/Client 3 to manage our fonts and without their auto-activation plug-in loaded, all of these problems go away. It seems we have different versions of the same font (and sometimes multiple versions of the same font) on our server which appears to be confusing the hell out of Illustrator. I've just been given another artwork giving the same warning dialogs when activating the text. Removing UTC's plug-in makes all these problems go away.

Just a heads up. I don't use extensis and am having the same exact issue. Font and files I'd been using all year (priceless templates to my business) — suddenly as dead as if they were outlined. My thread: http://forums.adobe.com/thread/13897744