I want to add support for a new language to TeX and friends. What do I need to do to achieve this?
This is basically just a list of things culled from the above linked questions.
For any new language you'll need to create a "language definition file". If you're going to use LaTeX or similar, this should work with
babel. If you're using XeLaTeX or similar, this is handled by
You will need to tell TeX how to hyphenate words in your language. This TUGboat article and this tutorial on CTAN should help. You could then send the generated hyphenation patterns to TUG for inclusion in TeXlive. (Information from this question)
*TeX will also need to know what to do with commands like
\chapter. That is, you need to tell it how to say "Chapter" in your language. Specifically, you need to tell *TeX what to do with the
\chaptername macro. This information, again, should be in the language definition file. (Source)
If your language has punctuation rules that differ from the standard ("American") ones, then these should be specified. You may want to look at adding support for your language to the
csquotes package if it differs from those languages already defined.
If you use BibLaTeX, you will have to define plenty of macros for "Editor", "Translator" and the like, as well as making the citation styles conform to your standards.
New alphabet support
To use a different alphabet, the easiest way is almost certainly XeLaTeX or LuaLaTeX which will allow you to use any font files installed on your system. Basic information in this answer, more detailed information in the XeTeX companion and the fontspec manual.
As of 2018 you can add basic support with
- Create an
ldffile with the help of this page: http://www.texnia.com/incubator.html. You can then distribute it if you want.
- Create an
inifile taking any
babel-xx.inias a model. Then send it to me, but note there are
inifiles for about 200 languages, so very likely all you need is to improve the existing ones.