J.R.R. Tolkien is well known for having invented his own language and its respective typography while writing Lord of the Rings (brilliant guy!), as seen from the Elvish language ring inscription (What package allows Elvish in TeX?). However, he obviously did not have LaTeX for professional typesetting, although he was probably very good at calligraphy (and linguistics). Nowadays I understand that we can typeset Elvish on LaTeX from inspecting his Lord of the Rings trilogy books and its inscriptions. But how do you actually go about typesetting your own original UNIQUE language in LaTeX (assuming you are creative enough to make one on pencil and paper and there are no LaTeX packages currently out there to get the job done)?
and if you mean to create you own font set then you are going to need Font Design programs. some are even for free like TeX is:
- MetaFont (the original sister of TeX designed by Knuth)
but be aware: if you think TeX is difficult you will be surprised how difficult it is to design own font.
all you need to write Elvish and other Middle Earth languages...
To expand on Daniel’s answer: while METAFONT and so on were historically very important to the development of TeX, you would today want to map your script to the Private Use Area of Unicode and create an OpenType font for your conlang. (Depending on whether anyone but you will ever use it, also check out the ConScript fictional-language registry and try not to clash with anybody else there. In particular, the most likely kind of document to use your script would be a compendium of obscure conlangs.)
In an OpenType font, you can pick a code for your language and/or script that isn’t already being used or likely to be, then define any features it needs, such as ligatures, combining characters and text direction.
If you want to be able to enter your script in a text editor, you ought to begin by extending a free monospace (that is, character-cell) font and saving it under a new name. This is what the Free Tengwar Font Project did with FteeMonoTengwar (based on FreeMono).
You would then need to be able to enter it somehow. One simple way is to not put any PUA characters in your source document, but to write a LaTeX package with macros for each symbol in your writing system. Preferably short. Depending on how complicated the transliteration is, you might also be able to auto-transliterate from ASCII.
On Linux, you might define compose-key shortcuts. An alternative would be to click on the glyphs in a character map (such as
charmap.exe on Windows) or even to define your own keyboard layout.
When you have your OpenType font declared, you can load it as a font face or family using
fontspec. At that point, you can switch to that font whenever you change language. (XeLaTeX currently has better support for non-Western scripts than LuaLaTeX.) If you’re really going the whole hog, you might write a configuration file to get Babel or Polyglossia to support your conlang.
If you really, truly need compatibility with pdftex, FontForge can generate a Type 1 font, for which you would then need to define a mapping and a LaTeX package.