# Make TeX output look as input wrt script/language?

I have several languages/keyboard layouts on my Mac-pro (Yosemite). I want to write in Armenian/Bengali/Hebrew and so on. These keyboards/languages are formally part of Mac's Yosemite so I have no problem in using them in the app Pages (say). Is a similar use possible with (Xe)LaTeX? I.e. is it possible for a Yosemite user to open a TeX editor and simply switch between the languages/keyboards available in Mac's Yosemite and the output looks reasonable (i.e. not thousands of boxes and question marks).

To be clear, the solution should be quite general. For instance, the Polyglossia package does not support all languages the Mac's Yosemite do. Also some other solutions require you input your text in latin which then is converted by XeLaTeX (or something else?), this is a horrible solution!

I want to input as I wish and make TeX recognize that and print it.

• Yes, use XeLaTeX and `polyglossia` with appropriate fonts. See e.g. How to write Bengali in LaTeX? and Help getting started with Hebrew in babel. Nothing specific on Armenian here, I don't think, but the principles are the same. – Alan Munn Apr 20 '15 at 12:05
• What if the language is not supported in Polyglossia? – Your Majesty Apr 20 '15 at 12:09
• @LoveLearning The first requirement is still an appropriate font: there are no truly general fonts in that sense so you do have to find the right combinations. – Joseph Wright Apr 20 '15 at 12:27
• I'd like to expand on Joseph's comment to say that this is true regardless of what application you use – TeX, Pages, Word, Google Docs, etc. – if the font can't display the symbol, that's the end of the road. – Sean Allred Apr 20 '15 at 12:43
• @SeanAllred yes but some applications (but not normally TeX) you can specify a sequence of fonts and the system will pick whichever font has the character (notably css font selection in web browsers works this way) also they use the unicode bidi algorithm to infer the direction of the text whereas xetex typically needs `\beginL` or a higher level language switch. – David Carlisle Apr 20 '15 at 12:59