Typesetting non-Latin languages
Last updated
Was this helpful?
The LaTeX and pdfLaTeX engines were originally intended for typesetting English and languages using Latin-based alphabets. Even though LaTeX and pdfLaTeX currently load \usepackage[utf8]{inputenc} as default, these engines still won't be able to support the full range of unicode characters, without the help of specific packages.
Therefore if you need to include some non-Latin languages in your LaTeX document, but are facing compile errors like "Unicode character xxxx not set up for use with LaTeX", you would need to load some specific packages and/or change your project compiler, so that the necessary fonts and language hyphenation modules can be loaded.
pdfLaTeX can still be used, if you load the babel package with the required language option, e.g. \usepackage[polish]{babel}. See our Babel documentation for more details.
For other non-Latin languages e.g. Arabic, Farsi, Hebrew, Indic languages (including Hindi, Tamil, etc), it is recommended to use the XeLaTeX or LuaLaTeX compilers, together with the babel or polyglossia packages. These packages also provide more control over the fonts that can be used with each language, and support modern OTF or TTF fonts.
Last updated
Was this helpful?
Was this helpful?