I wonder where I can find and proofread the babel hyphenation rules. Would it be possible to learn from those hyphenation rules (for example for a student of a language) where to place a hyphen?
Frank Liang's thesis started on the assumption that no simple set of rules for hyphenating American English can be laid down.
So he started backwards: from a list of already hyphenated words, he distilled a set of patterns that, together with an algorithm based on them, fully hyphenates the 700 more common words in English and finds no wrong hyphenation point (albeit not all of them) in several thousands of words.
Thinking of learning the rules from the 4447 (if I counted well) patterns in
hyphen.tex is hopeless. British English has 8527 patterns, go figure! A similar situation is for Polish, which has 4053 patterns listed.
The situation is much different for languages such as Italian. An Italian having to decide how to hyphenate a word like conundro (which is not found in any dictionary, as far as I know; I made it up as a calque from conundrum) would have no difficulty in choosing for
This is because Italian syllables have a strict structure; consonant clusters are not arbitrary and, apart from words imported recently, follow a rather easy set of rules that allow for a similarly simple hyphenation pattern file. The file lists 348 patterns, but most of them are there for “technical” words that usually are hyphenated etymologically rather than by the standard rules for common words. For instance we find
that's used for hyphenating
dis-cine-tico (technical words, for ‘dyskinesia’ and ‘dyskinetic’), whereas the
sc group is usually indivisible, because it mostly denotes the digram corresponding to the English
When Claudio Beccari wrote the first set of patterns for Italian, he implemented only the basic rules, resulting in a very short file. Since then, patterns have been added just to cope with less common words that have consonant clusters different from those resulting from the old phonetic rules. Just to make an example, the cluster
pl is not typical of middle age Italian: Latin plica became Italian piega. In modern Italian we have also plico, that was retroformed later.
In a recent TeX distribution, the pattern file for Czech (and Slovak) is
and lists 3636 patterns. Those for Icelandic are 4188, stored in
Proving they're correct can be done only by checking with a list of already hyphenated words, I'm afraid. Many patterns mean “difficult to state” rules, so words can slip off the patterns and give wrong or missing hyphenation points.
An example is manuscript that slips off the patterns for American English.