I write a dictionary of artificial language. Where is any tutorial how creating new language. I have 12 unicode characters and 2 characters in two different representations and normal romna and greek characters. (join 2 glyphs for example o+' = ó) Some characters have dots on top (similar i or 2 dot) and ogonek (similar cedila?).
1 Answer
From TeX's viewpoint, a "language" is only a set of hyphenation patterns to allow the processor's paragraph breaking algorithm to do its typesetting job: hyphenating a paragraph. So, once you have figured out the phonotactics of your conlang, you only need to define a set of hyphenation patterns as the argument of a \patterns
command (and an optional list of \hyphenation
exceptions), and define it as the next \language
for the iniTeX's/LuaTeX processor. So, for instance, for lilipu, the following lilihyph.tex
file may be made:
\begingroup
\lefthyphenmin=2 \righthyphenmin=2
\catcode`\'=11 % the glottal stop ' is a consonant!
\patterns{1k 1l 1m 1p 1v 1'}
\endgroup
\endinput
The details of this operation are explained in Appendix H of the TeXbook.
Now, how do you activate the "language" depends on your format and engine: LaTeX and eTeX (the now fashionable formats), on pdf[enc]TeX, XeTeX or LuaTeX (the Unicode aware engines) have slightly different approaches; so your mileage may vary. To add your language hyphenation file For LaTeX and bplain you need to edit the language.dat
file and add the line
lilipu lilihyph.tex
for eTeX based formats you need to edit the language.def
file
\addlanguage{lilipu}{lilihyph.tex}{}{2}{2}
Then you may use babel's or etex's interface to activate your language settings.
In terms of experimenting, I strongly recommend you to use the Plain format with the LuaTeX engine: LuaTeX is fully Unicode aware, and loads hyphenation patterns directly, without going to reassemble the formats.
-
hyphenation is not == language. Where is new characters, where are specyfic signs. Look at greek language or spanisch 180 rotate ? or ,. in greek Aug 12, 2017 at 8:13
-
I know that a language is not a set of hyphenation patterns: language is history, community, and what not... I'm only pointing out to you that for the job of this particular computer program (typeset books) a "language" is reduced to a set of hyphenation patterns, if any, between its glyphs, if the script is phonetic, and if it allows for syllabification.– jarnoszAug 12, 2017 at 19:20
-
The symbols/glyphs for your conlang are defined in the fonts, so you need another program to design and manage the glyphs for your script. Metafont was designed to do it, but it is slightly less useful these days of outline fonts; so perhaps you need something like fontforge. And maybe a good Unicode engine (XeTeX, LuaTeX) may come in handy to let you handle a large set of glyphs for your conlang in print, since TeX/metafont can only handle 256 glyphs at a time.– jarnoszAug 12, 2017 at 19:22
-
not exactly, language is whole, typography too <<>> number, ?! etc Aug 14, 2017 at 12:40
-
again: you get all the glyphs from the fonts; setting up the fonts is another issue.– jarnoszMay 19, 2018 at 17:48
babel
docs under “Creating a language” help? What “new unicode characters” means?