• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

READMEH A D21-Apr-20105.4 KiB125100

croatian.lhH A D10-Sep-20108.3 KiB1,5471,542

czech.lhH A D10-Sep-201028 KiB4,6004,596

danish.lhH A D10-Sep-20107 KiB1,2021,198

dutch.lhH A D10-Sep-201039.4 KiB6,1846,180

english.lhH A D10-Sep-201027.8 KiB4,5164,511

engluk.lhH A D10-Sep-201055.7 KiB8,6188,613

esperanto.lhH A D10-Sep-201022.4 KiB581572

finnish.lhH A D10-Sep-20104.6 KiB304300

french.lhH A D10-Sep-201030.9 KiB1,3941,389

german.lhH A D10-Sep-201036.6 KiB586582

italian.lhH A D10-Sep-20103 KiB118114

magyar.lhH A D10-Sep-201023.2 KiB2,4582,453

norweg.lhH A D10-Sep-201039.6 KiB6,3196,315

polish.lhH A D10-Sep-201031.4 KiB4,1824,176

portugal.lhH A D10-Sep-20102.8 KiB122115

programming.lhH A D10-Sep-20101.1 KiB3329

russian.lhH A D10-Sep-201034.7 KiB6,1476,144

slovak.lhH A D10-Sep-201021.6 KiB2,7072,703

slovenia.lhH A D10-Sep-20107.4 KiB1,1421,138

spanish.lhH A D10-Sep-20106.8 KiB186182

swedish.lhH A D10-Sep-201022.9 KiB3,7893,786

uppersorbian.lhH A D10-Sep-20106 KiB1,3571,354

README

1Format of Lout hyphenation information files
2
3Jeffrey H. Kingston
422 December 1992
521 September 1994
66 June 1995
73 April 1996
8
9Basser Lout Version 3 incorporates automatic hyphenation using the
10method introduced by TeX (see Appendix H of the TeXBook by D. E. Knuth),
11with support for multilingual hyphenation.  No special action is required
12to install hyphenation unless it is desired to change the hyphenation
13information that controls it.
14
15There is one hyphenation information file for each language, and it is
16named in the langdef of that language.  For example:
17
18	langdef German Deutsch { german }
19
20(There will usually be other information between the hyphenation file
21name and the closing brace, not relevant here.)  This example means that
22unpacked Lout hyphenation file german.lh or its packed equivalent
23german.lp (see below) is to be used when hyphenating German words.  These
24files are kept in the Lout system hyphenation directory (this directory).  If
25a language is desired but no hyphenation information file is available, the
26file name may be replaced with -, and then the language will be defined but
27hyphenation in that language will never be attempted.  Another possibility
28is to include a placeholder file for the language (see below).
29
30The first time on any run that German hyphenation is required, Lout will
31search the directories of the hyphenation path for a binary file called
32german.lp, which contains a binary form of the hyphenation patterns in
33german.lh, modified so that the file may be shared by big-endian and
34little-endian machines.  If german.lp cannot be found, Lout then searches
35for the text file german.lh instead, and uses it to construct german.lp.
36To change the German hyphenation patterns, delete german.lp and modify
37german.lh; the rest is automatic.
38
39Alternatively, if lout is invoked with the -x flag and the langdef line
40above appears in its input, it will read german.lh and produce german.lp
41immediately.  This is intended for setting up: it is good to create all
42these packed files at setup time, since a subsequent lout run that needs them
43will not have write permission in the Lout system hyphenation directory.
44
45An unpacked Lout hyphenation information (.lh) file mainly contains a
46long list of TeX hyphenation patterns.  It must begin with either
47
48    Lout hyphenation information
49
50or
51    Lout hyphenation placeholder
52
53alone on the first line.  In the second case, it is understood that the
54file is a placeholder (i.e. a stub file which might be overwritten with
55a real file in the future), and Lout does not read any futher; the effect
56is that Lout will not hyphenate this language, but not complain about the
57absence of the file either.
58
59In the non-placeholder case, following the header line comes the "Classes:"
60heading followed by the character classes.  For example:
61
62    Classes:
63    @!$%^&*()_-+=~`{[}]:;'|<,.>?/0123456789
64    aA
65    bB
66    cC
67    ...
68    yY
69    zZ
70
71The hyphenation process treats the characters in each class as identical
72(so the classes above ensure that the distinction between upper and lower
73case is ignored).  By definition, the characters of the first class are
74"non-letters", and the characters of the remaining classes are "letters".
75Notice that these are actual characters, not character names:  hyphenation
76files are encoding-specific.
77
78Next comes the "Exceptions:" heading followed by the exceptions, which
79are words (composed of letters and "-" only) whose hyphenation is to be
80treated as a special case.  For example:
81
82    Exceptions:
83    ta-ble
84    phil-an-thropic
85
86These words may be hyphenated in the places shown by the "-" characters.
87Character classes are in effect here (Table will be hyphenated as Ta-ble).
88If there are no exceptions, "Exceptions:" may be omitted.
89
90Next comes an optional LengthLimit section, which tells Lout to ignore
91some patterns.  For example,
92
93    LengthLimit:
94    4
95
96means that patterns containing more than 4 letters (note that
97. counts as a letter) are to be ignored.  The purpose is to discard
98the least important patterns from files that are too large for Lout
99to handle otherwise.  None of the files actually use this at present,
100but hyphenation files seem to be getting larger and larger, and if
101any whoppers come along they might have to be trimmed in this way.
102
103Finally comes the "Patterns:" heading followed by the list of TeX
104hyphenation patterns.  Apart from the weighting digits, the patterns
105should contain only letters.  Lout understands some TeX escape sequences
106e.g. it will accept \^e anywhere in a hyphenation file as the ecircumflex
107character.
108
109The file may contain comments, which begin with % (either at the start
110of a line or after a white space character) and go to end of line.  The
111headings, classes, exceptions and patterns are separated by arbitrary
112white space.
113
114Briefly, hyphenation of a word works like this.  If the word contains a
115character not found in any character class, it will not be hyphenated.
116Otherwise the word is analysed into sequences of letters separated by
117sequences of non-letters.  Each sequence of five or more letters is
118then matched, either with an exception or else with the hyphenation
119patterns, and hyphenated.  The hyphen character "-" is treated specially.
120
121Extreme lengths were resorted to to compress the .lp file as much as
122possible.  Files significantly larger than german.lh are likely to cause
123Lout to abort with an error message.  Please contact jeff@it.usyd.edu.au
124if you have problems with this or anything else.
125