is now part of CreativePro.com!

*** From the Archives ***

This article is from August 21, 2007, and is no longer current.

Free Script for Hebrew or Arabic Text in Regular Version of InDesign

79

Rachel wrote:

In InDesign I sometimes have to work with small bits of Hebrew text. I work enough with the issue to make Hebrew backward-typing annoying yet not enough to warrant InDesign ME.

I can totally understand this frustration! Some of you may know that back in 2001 I co-authored a book called Judaism For Dummies. Back then I tried for days to figure out how to get the bits of Hebrew we needed into InDesign. Many text editors and word processors, such as Microsoft Word, can handle right-to-left text just fine. But with InDesign, you have long needed to use the ME (middle-eastern) version of the program, developed and published by Winsoft, and available in the United States by FontWorld. (Diane Burns wrote a great article about this in Issue 13 of InDesign Magazine.)
I remember working on the book and discovering that I could copy Hebrew out of MS Word and paste it into PageMaker, and it would retain it’s right-to-left appearance. But this doesn’t work in InDesign for some reason. The ME version is great if you have a lot of Hebrew or Arabic text, but what if you only need to set a word or a phrase? Rachel’s email prompted me to take action: Get a script!

Peter Kahrel was kind enough to write a little script that reverses the order of any selected text. That is, if you select “abcde” and run the script, you get “edcba”. To download the script, right-click on this link and choose Save As (or Save Target As or whatever your browser calls it). If you need to know how to install scripts, click here.

Once you have the script installed, you can run it by double-clicking on it in the Scripts palette, or by assigning a keyboard shortcut to it in Edit > Keyboard Shortcuts (product area: Scripts).

To make this work for Hebrew, you can either type the text backward into InDesign (which isn’t fun) or type it normally into any program that supports right-to-left typing (such as MS Word or TextEdit) then copy that text and paste it into an InDesign text frame. Then select the text and run the script.

But there are (at least) two problems with this workflow. First, some languages (such as Arabic) require ligatures that won’t kick in using this method. Let me know (below) if you have any good solutions for this. Second, these languages read right-to-left, but the first line is always on top. So if you try to convert more than one line of text, the first words will end up on the last line. This is relatively easy to fix with copy and paste.

Here’s an example. (I have no idea what this says; I just copied it from Shlomit Heymann’s InDesign site… someday I really need to learn Hebrew myself.)

Steps from the top:
1. Text copied from Firefox and pasted into InDesign;
2. Hebrew font applied to the text;
3. Script run on the whole text;
4. Set flush right and first three words cut and pasted to first line.

reversetext3

Note that this also (sort of) works if there are nikud (diacritic accents) in the text (top is as copied in, bottom is after the ReverseText.jsx script is run):

reversetext4

I say “sort of” because this text was copied out of an Acrobat PDF file and I can see that one character lost its accent (the third from the right on the bottom should have three dots under it) and the other nikud aren’t always in exactly the correct place. My guess is that the ME version of InDesign handles the character substitution and accent placement better.

Here’s an example that shows how messed up Arabic gets. (Again, forgive me, but I have no idea what this says. I copied off a random Arabic web page.)

reversetext2

So, the lesson of the story is: This may help you with small bits of text, but it ain’t perfect and the more text you have, the more cleanup you should expect to do.

[Editor’s note: If you are using CS4, please be sure to see this post for a much better solution!]

David Blatner is the co-founder of the Creative Publishing Network, InDesign Magazine, CreativePro Magazine, and the author or co-author of 15 books, including Real World InDesign. His InDesign videos at LinkedIn Learning (Lynda.com) are among the most watched InDesign training in the world.
You can find more about David at 63p.com

Follow on LinkedIn here
  • The Hebrew text that you pasted translates to “Shlomit Heymann speaks on Adobe InDesign”.

    By the way, this script is a ton of fun to use on Palindromes :)

  • Dave Saunders also sent me a script to do this that works only in CS3. I’m not sure if there is any difference at all, but I’m posting it as a second option.

  • I don’t know *any* hebrew, but in your first example the first letter of the first line, after the script was run, turned out to be the last letter of the second line. While I know hebrew is read from right to left, I don’t know if it’s read also from bottom to top. Or am I mistaken? If I’m not, then the script should be run line by line, shouldn’t it?

  • Alexandre, you are correct: I copied those words up so that they’d be on the first line (see step 4 in the illustration). Running this one line at a time definitely makes sense!

  • Hinrich says:

    The script works fine; alas it also reverses the vertical order of the lines. I was puzzled why it would work on some whole paragraphs, but not on some short samples: it doesn’t like hard returns.

  • Jon says:

    I work in a studio setting Arabic and Hebrew every day so I am lucky enough to have InDesign ME. It’s certainly true this script will work for small chunks of Hebrew but unless you read the language you need to be very careful. A simple reversing isn’t always correct. For instance most Hebrew text today uses Arabic digits to represent numbers (ie the same as English), and these read left to right within the Hebrew. So the English number range 15-25 should appear as 25-15 in Hebrew. Obviously you can fix such instances by hand but it’s worth being aware of.

    I don’t think there’s any way this will work for Arabic though. To start with, the characters in Arabic take different forms depending on where they are in a word (beginning, middle or end), and that’s before you get on to ligatures, or even kashidas if you want justified text.

  • Hinrich says:

    I just found that out; an Arabic text created in MS Word (Windows) seems to (I assume) show up OK in TextEdit or Mellel, using Geeza Pro font, but when pasted into InDesign and reversed with the script mentioned above, consists of separate characters, some of which are different.
    Do you suggest that InDesign ME is the best solution (or only) for Arabic or Persian, and which other languages can ME handle?
    I have been experimenting with opening the Word file in Mellel, copying paragraphs into a new document, printing to PDF, and pasting into InDesign. Not very efficient.
    Thanks!

  • Yes, I alluded to this problem with Arabic in the post, but I was hoping that I was wrong. Oh well. It works great with single-letter Arabic words, though! ;)

    Are there any other languages that read right-to-left besides these two? I suppose Farsi?

    Also, this script would be very useful for anyone who needs to set type in boustrephedon form.

  • Hinrich says:

    Except the wiki sample of boustrephedron shows the reversed lines also in mirror image, which is easy enough by reversing the whole text box. Still doesn’t help with the arabic…

  • Jon says:

    Actually I’m not sure even single letter words would work in Arabic, as this is yet another glyph. Depends which form InDesign defaults to, I’m not sure if CS3 has made any improvements here :(

    TextEdit usually does a fair job on Arabic, although I’ve also seen it get it horribly wrong. I’m not sure why it works with some Word files and sometimes you end up with a complete mess. I’d certainly get an Arabic speaker to look any text before final output! I quite often end up supplying designers Arabic text as outlines within InDesign so they can tweak the layout but know the actual text is right… but obviously that defeats the point of the script of being self-sufficient.

    David ? yes, Farsi is very similar to Arabic. Other right to left scripts include Pashto, a form of Kurdish called Sorani, and Urdu that should usually be written in Nasta’liq (which even InDesign ME has problems with)! All of these languages would have the problems described above unfortunately.

  • Mamoon Tayih says:

    Thanx,
    It is useful but I work in a place where we need both LTR and RTL so ME is the saviour.

    by the way the Arabic copy is part of a release about a Children beauty contest in Morocco!!!, where did you get that :)

    Thanx again

  • atoz says:

    MSWord in Hebrew and Arabic? They say the when this will happen (on a mac, that is), peace will prevail… we’re waiting.

  • steve says:

    I was a beta-tester for InDesign CS3 Middle Eastern version the RTL handling for both Hebrew and Arabic is greatly improved which gets over problems described here.

  • Terry Vogelaar says:

    I personally open an existing Hebrew font in a font editor, mirror every character in it. Then in InDesign I make a text frame and mirror the entire frame. Simple as that! The only downside is that you cannot combine Roman and Hebrew text in one frame.

  • steve says:

    !yzarc sdnuos tahT
    !???? ?? ????

  • JOEL says:

    ?? ????? ???? ?? ?????? ??? ????? ??????? ??? ????…

  • steve says:

    ????, ????? ??? ??????????!!!

  • Okay, okay… please forgive me but I’ve got to put the cap on the Hebrew replies because we can’t tell if people are writing spam or other things we don’t want showing up here. (Yes, we delete dozens of spam posts each week from the site to try to keep it clean.) Let’s stick to English, please.

  • Andrew Heiss says:

    I’ve used small chunks of Arabic in many of my projects and have figured out a good (albeit slow) way to do this without InDesign ME.

    Use the glyphs panel to insert each Arabic character backwards in the word, choosing which position of the letter (initial, medial, final, or isolated) to put in. If you use an OpenType Arabic font, the glyphs panel will give you subsets of each letter so you don’t have to hunt and peck as much.

    I’m going to write a tutorial about this and post it to my website sometime this week.

  • Andrew emailed me with the tutorial URL. You can find it here. It is definitely a slow hack, but the idea of using the Alternate glyphs is a great one!

  • There are a few good solutions out there for small amounts of Hebrew text but remember the caveats.

    If you have no nikud (vowels), but quite a bit of text, then you can use DavkaWriter (www.davka.com) in order to reverse text and lines (of course text reflow can’t be controlled).

    If you need nikud, then you have to use InDesign ME (with appropriate fonts — nothing from Microsoft) that position the nikud correctly, or if it’s just a word or two with nikud, you can use a program such as DavkaWriter and make a pdf of the word that can be used as an inline graphic.

    The main problems is that you can’t upgrade from the US version to the ME version of InDesign which is a real shame.

  • BTW, somewhat off-topic, but you mentioned Judaism for Dummies. I read the 1st chapter and noticed a mistake. The book tells you how to pronounce Ashkenazi and Sefardi, however, it shows you how Americans incorrectly pronounce the word. Of course the stress should be on the last syllable, ie ashkenaZI and sefarDI.

  • Raphael, while I agree that using a tool such as ID-ME or DavkaWriter or Mellel is a good solution, it doesn’t answer the basic problem: That people want to include this text in InDesign itself. If only we could type in Davka or Mellel and then copy and paste into ID. Using inline graphics for text like this works, but is a painful workaround and I avoid it whenever possible.

    As for whether JFD is wrong… well, it’s an interesting problem. One of the challenges we had was whether we include Hebrew or American emphasis. In this case, we use the common American pronounciation, because that’s what most people reading this book would hear.

    The bigger (and even more offtopic) challenge was whether to use “kh” or “ch” for the gutteral sound at the beginning of “Chanukkah.” It should be “kh” in my opinion, but no one likes seeing “Khannukah.” Oh well.

    I hope you get a chance to read JFD more than just Chapter 1. :)

  • Dzeni says:

    Just wanted to say a huge “thanks” for the reverse text script! It did the trick for me. Weirdly, whilst I read and write Hebrew, my understanding of the language is severely limited. I used the script to create the Hebrew text on the candle in the image at this link (https://flickr.com/photos/nzdzeni/2061815344/)

  • Eliezer says:

    I have found that I type a document in Davka with nikkud then paste it into Word. Save it and import and it works. If you have English then Hebrew on a line the line return messes it up, but it is fixable.

    I love this website.

  • Areej Obeid says:

    I find it rather silly that there even needs to be a middle-eastern version of InDesign, or any other adobe program in the first place. It has all the features the English program has and additional tools for right-to-left typesetting. Why not incorporate those tools into all editions of InDesign to begin with?

  • rob shur says:

    Wow! thank you so much for this script, you have no idea how much this will help me, I was getting ready to do the whole job in Microsoft publisher just to save myself the hassle of reversing the hebrew characters – Thanks

  • francine says:

    Thanks for the script. I use Mellel for my real text-y files, but I just got InDesign in order to produce a Day School’s yearbook. I have another work-around:

    I’ll type the letters, without vowels, in Mellel, for small bits. Copy and Paste, run the script. Then place individual text boxes with each nikkud mark in the appropriate place. I do this, because the font I need to use spaces a few items somewhat too close together anyway, and I can’t quite figure out how to adjust the spacing in Mellel!

    For larger pieces of text, I can still insert the PDF from Mellel. But this script is great for the small stuff!
    f.

  • Yan says:

    thank you, thank you. So happy to know it.

  • leslie says:

    My company also created a java script which allows the regular version of Indesign to set Arabic and Hebrew. In addition it uses the unicode tables to place the appropriate character depending on its placement within the sentence. I used it for a large book with multiple Arabic extracts.

  • amber says:

    Hi Leslie – Arabic (when I have to work with it) is a big problem for me – is your script available?

  • Setmose says:

    I am using Mac CS3. Since Apple went to great lengths to make a multi-lingual supporting OS, it seems to me almost criminal that mucho-bucks CS3 doesn’t support what Apple has already built for them to use. I paid a lot for CS3. I do not want to buy a completely separate version for Middle Eastern languages. It seems almost as if Adobe, who obviously know all about fonts and typesetting, did this purposefully for $$$ and more $$$. It’s really disgusting.

    Signed, a CS3 user in Jerusalem.

    PS – thanks for the info and the workaround scripts.

  • @Setmose: I can appreciate the frustration. But this is not an Adobe ploy. They literally don’t even make a version that does ME langauges. As I noted earlier, that whole product is developed (based on code licensed from Adobe, I assume) by Winsoft. I totally agree that it would be good for everyone if Adobe did make a single verison that could handle all these languages.

  • Mordechai Rosner says:

    Shalom, David.

    I’m a big fan of your writing.

    I teach people how to read and understand Hebrew by way of Skype, my whiteboard software, and a webcam. Very cool. Drop me a line if you’re interested.

    Mordechai

  • Thanks, Mordechai! Your system sounds great.

  • Sarah Hill says:

    Leslie,

    I am also very interested in the script; I just got an assignment to set a 250-page report in Arabic!

  • Edvanio says:

    God Bless you for this script. It help me a lot!!!

  • Kardo says:

    Hi Leslie,
    I have to design a newspaper in Kurdish (something like Arabic alphabet).
    Please tell me how can I get your script and test it in Kurdish?
    Thanks ([email protected])

  • Glenn says:

    I’m in the same boat as many of the above posters. I have CS2 and am now facing the same situation. I need to work with Arabic layouts. I think I’ve understood most of what I’ve read on the sites I’ve visited regarding this issue. What has been eluded to but never been quite clear, to me, is if I go with ME, can I do my layouts on it for my regular work here in the U.S.?

  • @Glenn: Yes, you can use the ME version in the USA.

    Please note that there is more information about using Arabic and Hebrew in this post.

  • […] Hebrew since almost every letter has the same shape no matter where they are in the word. In fact, InDesignSecrets.com mentioned a script that will take pasted Hebrew characters and reverse them […]

  • Adena Kozak says:

    Can someone please help me. I have Adobe ME and I cannot type regular numbers in English. Please e-mail me if you know the answer!! [email protected] subject “in design”

  • Harbs says:

    Change the language to [No Language], or English or some other language which has regular digits…

    Your other option is changing the number format to Arabic numbers instead of the default.

  • Farhan says:

    Hello Harbs,
    I have same problem with Arabic numeric with InCopy ME edition i cannot change numbers to english. From where i an change the language as you had instructed. ……..

    Change the language to [No Language], or English or some other language which has regular digits?

    Appreciated for help
    Best Regards

  • Farhan says:

    Hello I figured it out,
    Go to Windows -> Type and tables -> Characters or cltr+T then click on the top left small arrow then click on digits from the menu appeared select arabic for english numerics and hindi for arabic numerics
    Thanks.
    Best Regards

  • Graph says:

    Hello to everyone. I’ve read all of the posts here. The script you gave is indeed very good and useful but I have more problems with a Word file I wanna import to InDesign Cs3, which contains both Greek & Hebrew.

    The problem is, that when I place the file the words in hebrew appear broken, like the main characters are separated from their symbols. I tried to fix this in many ways (inserting the copy as a txt. file, copy pasting, setting language to none, changing the font from Word and the placing the document in ID, etc. Nothing seems to work and I am currently in a very tough spot. Can anyone help?

  • @Graph: Yeah, importing Word docs with right-to-left text is simply not supported in the English version of InDesign. Instead, you’d need the ME version from Winsoft (I know that in-tools.com sells it). You may also be able to make some headway with one of the World Ready Composer plug-ins (if you’re using CS4). Some of those are discussed here: https://creativepro.com/a-modern-day-chanukah-miracle-right-to-left-language-features-come-to-life-in-indesign-cs4.php

  • Elsharkawy says:

    The Arabic language is considered one of the most important languages and the most spread one in the world, thus the Arabic language belongs to the family of the Semitic languages which is branched from the Afro-Asian group of languages.
    The group of the Semitic Languages includes the languages of the old Fertile Crescent (The Akkadian), the Canaanite, the Aramaic, the southern Arabic language and some of the African Horn languages such as the Amharic language. The linguistics had put the Arabic language specifically in the middle Semitic group from the western Semitic languages. The Arabic language had been developing during hundreds of years, and after being born more than 2000 years before, it became,( before The Islam ), called the language of Modder. And it had been used in the north of the island after it had demolished the old northern Arabic, and taken its place, while the old southern Arabic was called the language of Hemmier referring to the greatest king of Yemen that time. Moreover, the Arabic language is the first one to use the ( dad) letter in the whole world, although the Albanian language use the same letter, the use of this letter went back to the arrival of the Islam and the Arabic language to Albany by the Ottomans.

  • @Elsharkawy: It’s also just a cool-looking language. ;)
    (Note that the above comment is probably just an ad, but it made me smile anyway so I left it up. The guy is just really into Arabic!)

  • Graph says:

    David@ Yes, I know about that the european version does not support right to left languages and about the Middle Eastern version and the plug in for ID Cs4.

    But the problem is, my boss won’t say yes to upgrading right now or buying the ME version (which I am not sure will do the work cause I also have greek in my text, a european language), so I gotta find somehow a way to pull this trick using the European version I have. And it’s been 5 days since the whole thing started, the whole situation is delayed…in general things are not well :/

    I know I may be asking too much, but if anybody has ever faced such a situation or has an idea about how this thing can be done, I’d be greatful. Even telling me if there is absolutely no chance it will work would be important, ’cause atleast I’ll kno how and what to say to my superior.

    I am sorry for the trouble and thank you for you time.

  • @Graph: I don’t think it’s possible from MS Word (but I’m willing to be proven wrong). But look at this comment above… perhaps you can go from Word to Mellel, and then mellel to InDesign? Hm.

  • BENABDELKADER says:

    New!!!! ScribeDOOR is the Solution :
    http://www.winsoft-international.com

  • Cindy says:

    I was SO excited to see this script, because I’m in desparate need of that exact thing right now. However, my problem now seems to be that I’m using CS1 (I do a very small amount of desktop publishing work, and it’s just not worth it for me to upgrade). I keep getting a JavaScript error when I try to run the script. Any ideas? I’m really dreading having to manually reverse the order of over 200 Hebrew words in an article I’m working on, especially since I don’t understand it at all!

  • @Cindy: No, sorry… there’s very little that would support CS now. Just too long ago.

  • Viorel says:

    Hi all,
    I am using an old version of Indesign, actually first Indesign CS and i have to import in indesign a text and its translation in Hebrew.
    After the import from an unicode txt the Hebrew characters are totally messed because CS1 do not know the right to left rules.

    the scripts do not work, even i put .js

    Indesign ME and other version of CS2, 3 or 4 is out of discussion because i have to work only with CS.

    Do you have any news for me or can you update the scripts for CS?

  • @Viorel: Please see the comment written immediately before (above) yours.

  • youssef says:

    it work for arabic text but the formatting of words is not correct :(

  • Ariel says:

    I got here by googling because i need to edit a book in Spanish and Hebrew in indesign, and i got really happy thinking it would work, but if you look well at the images, you’ll see that the “nekudot” (dots and lines that go under the type and represent vowels) are not placed under the right letters after running the script.

    I hope you can solve that, by now, i’ll have to look for another solution, since this work is really urgent :(

    Thank you very much for developing this anyway!

  • Rehan says:

    Hello:

    Thanks for the link, I also found solution for CS4 for Arabic text, downloaded the JavaScript from the link/post:

    https://indesigning.net/right-to-left-arabic-hebrew-hindi-in-indesign-cs4-none-me

    Thanks for great help
    Rehan ul Haque

  • designer22 says:

    i was wondering if this script works with CS5?
    please let me know because i am debating between upgrading to ME or the regular indesign and this will make a big difference to me decision.

  • designer22 says:

    i was wondering if this script works with CS5?

  • yassine says:

    please update it for CS5 we need this script

  • Isaac says:

    please update it for CS5 we need this script

  • […] Free Script for Hebrew or Arabic Text in Regular Version of InDesign …Aug 21, 2007 … In InDesign I sometimes have to work with small bits of Hebrew text. I work enough with the issue to make Hebrew backward-typing annoying … […]

  • Muchos Gracias for your blog post.Really thank you! Cool.

  • Cesar says:

    hey, dave, thanks a bunch for this script! wish i had searched for this sooner as i’ve been reverse typing bits of hebrew 1 by 1 like a Complete “genius” haha 8-)

  • metadesign says:

    Hi all, great resource. thanks for sharing great free scripts for Hebrew or Arabic text in InDesign. we can use Adobe InDesign third party plugins for Hebrew or Arabic text.
    IndicPlus is a third party plugin supports Hebrew or Arabic languages.
    Adobe InDesign Plugins for Hebrew or Arabic fonts

  • fabian says:

    Hello,
    First of all, thank you for this page and the script!
    This script works from right to left but it works to much ! it also reverses from top to bottom.
    I’m using CS6.
    Did you fixed it ? Have you another solution ?

  • Dear Peter,

    Today, where everybody is trying to converting his/ability into money, you are providing these useful script free of cost.

    Please accept my special thanks from deep of my heart.

    Because of you type of people, we are still feeling responsibility towards society.

    I have also added my all knwloedge free of cost to my website.

    Anyone can download all the training material from following link:
    https://typesettingindia.com/Training.html

    Thanks again!

  • Peggy says:

    thx – it works great!!!

  • Miriam says:

    Wow. This works! I am doing a book with Kaddish. I found fonts, no problem. My knowledge of Hebrew is small but enough to know that the words were backwards. I had to turn them all individually-but it had to be correct. There were very easy sounding instructions on the adobe site, but they didn’t work-this did. I can not thank you enough.

  • nadia says:

    The Arabic script is absolutely off. Arabic letters change form depending on their location within the word, and so all arabic words have letters that are “joined”, at least most letters. So although your script reversed the order of the letters to be correct, it has not solved the issue that the letters are not “joining up”, meaning this cannot be used for really publishing arabic. In CS5 and 6, I believe the easiest solution is to download an indd file with Arabic, and that then “switches on” indesigns built in ability to handle RTL text.

  • Joseph says:

    How to change text to read right to left-InDesign CC?
    iam having the problem who can i fix it ?

  • Kamran says:

    i’m using adobe indesign cc 2015 version but i cant use right to left typing direction in it can somebody help me for it?

  • Matteo says:

    Thanks thanks thanks thanks thanks thanks so much to everyone! :)

  • >