You already knew I am a LaTeX fan. I finally got the courage to go and experiment XeTeX. In fact, I was almost forced, as I am the Portuguese official translator for The Not So Short Introduction to LaTeX. By the way, you can buy the Original (English) or the Portuguese versions from lulu.com.
OK, enough advertisement. XeTeX is one of two Unicode TeX motors. The other is named luaTeX and I think (didn’t have the time to look into it yet) and is scriptable in the lua programming language. What does it mean to be an Unicode engine? It means it expects your text to be written in Unicode (in fact, UTF-8). This gives you the ability to typeset any symbol or character you like, as far as it is available in the Unicode tables, and you have a font that is able to render that character.
This leads to a small problem. In fact, a problem that the main alternative (Microsoft Word) also have. You need to have the fonts installed in your system (or in the folder where your tex document is, or any other place where tex would search for include files). But this gives the ability to select any font, and any font for any language. I was able to typeset about 30 translations for “Good Morning”, including Arabic, Persian, Korean, Japanese, Traditional Chinese, Georgian, Greek, Hebrew, Urdu and others. Note that some of these languages are written right to left, other left to right. But as far as you are able to include the characters in your Unicode file, then with the correct fonts and some TeX packages, you will be able to typeset them.
If you want to give a try, look into fontspec and polyglossia packages for a start. Who knows if in the future I do not add another post with further details on how to use XeTeX.