The document to convert uses SuperHebrew, MeadEastern Roman, MidEast Times and Gilboa. The transcriptions in the document is in MeadEastern Roman and MidEast Times. These two should be converted to one unicode font. Every font in the document change when using a font to uc macro. So I need to specify which fonts to convert. What is the code for that?

You'll want to have a look at the transliteration templates. Basically the macro needs to know exactly how the old pre-Unicode characters map to the Unicode character set. It can then select all text in a specific font and transliterate all these old characters.

Is it possible to write such script remapping two or three different fonts at the same time in that same script? I tried the NSAramian but got remap on all the fonts. I read the groups. They show how to specify result font but I can't find one on how to specify which fonts to remap.

Then apply the first font to be converted to the ".+" before the or bar ("|"), and apply the second font to the ".+" after the bar. It's very important that you not add any other attributes to that line of macro text, otherwise the Find command will fail.

I tried the NSAramian but got remap on all the fonts.

I would guess this is because you don't have a document that contains the NSAramian font. Is that correct? Try opening the NSAramian macro example and changing the font applied to ".+" to something like Copperplate and then running it in a test document that has both Copperplate and Times applied. You should see just the Copperplate text change.

No, you'll need to write the find expression exactly as Martin said with '.+' etc., and then you need to apply the actual font to the relevant bits of the expression.

May I however suggest a different approach to this problem? Try going to the macro repository and download Kino's "Select by font" macro. That will make it much easier to select the parts that you want.

Thank you, Philip, for recommending my macro but it won’t solve the problem the original poster is having, I think. I have never used MeadEastern Roman and MidEast Times but, xlfp, isn’t it just because none of them has all characters you need that you have been using both of them? If so, you should never do

xlfp wrote:Find 'MidEastTimes|MeadEastern Roman', 'Eua'

because most likely those two fonts assign different glyphs to the same code points. As transliterateInRange command is not attribute sensitive (i.e. it does not distinguish fonts), you will get unexpected results. You may not understand what I mean if you have installed them in your Mac running OS X and I strongly recommend you to delete them. Their existence conceals the nature of your problem and might cause other problems. In OS X, you should never use those fake encoding fonts unless you are totally aware of what you are doing.

As Philip said, it is not always easy to do attribute sensitive find/replace in a macro. So try the following macro. Before running it, you have to change the font name in $oldFont = 'TimesTL' to MeadEastern Roman or MidEastTimes and modify the conversion map accordingly.

You should begin with trying it for a single font conversion — or some characters only. It is a bad idea to try to do everything at once when you don’t now exactly how these things work.

If the macro will have worked as expected, then, copy the code from Begin convert TimesTL to End convert TimesTL, paste it at the end of the macro, change the font name in $oldFont = 'TimesTL' to the second font and modify the conversion map accordingly.