summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/babel/lahyph.tex
blob: 6df4f77d4bf35d328f2a8d72bb04fba02c7052e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
%
%                  ********** lahyph.tex *************
%
% Copyright 1999 Claudio Beccari
%                [latin hyphenation patterns]
%
% -----------------------------------------------------------------
% IMPORTANT NOTICE:
%
% This program can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% -----------------------------------------------------------------
%
% Patterns for the latin language mainly in modern spelling
% (u when u is needed and v when v is needed); medieval spelling
% with the ligatures \ae and \oe  and the (uncial) lowercase `v'
% written as a `u' is also supported; apparently there is no conflict
% between the patterns of modern  Latin with those of medieval Latin.
%
% Support for font encoding OT1 with 128-character set and
% for font encoding T1 with a 256-character set.
%
% Prepared by  Claudio Beccari
%              Politecnico di Torino
%              Torino, Italy
%              e-mail beccari@polito.it
%
% 1999/03/10 Integration of `lahyph7.tex' and `lahyph8.tex' into
% one file `lahyph.tex' supporting fonts in OT1 and T1 encoding by
% Bernd Raichle using the macro code from `dehypht.tex' (this code
% is Copyright 1993,1994,1998,1999 Bernd Raichle/DANTE e.V.).
%
%
% \versionnumber{3.0}   \versiondate{1999/12/19}
%
% Information at after \endinput.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\message{Latin Hyphenation Patterns `lahyph' Version 3.0 <1999/12/19>}
%
%
% Next we define some commands which are used inside the patterns.
% To keep them local, we enclose the rest of the file in a group
% (The \patterns command globally changes the hyphenation trie!).
% These initial commands are by Bernd Raichle (see above)
%
\begingroup
%
% Make sure that doublequote is not active:
\catcode`\"=12
%
%
% Ligatures \ae and \oe in font encoding OT1
%
\catcode"1A=11 \lccode"1A="1A % \ae (^^Z)
\catcode"1D=11 \lccode"1D="1D % \AE (^^]) (not used)
\catcode"1B=11 \lccode"1B="1B % \oe (^^[)
\catcode"1E=11 \lccode"1E="1E % \OE (^^^) (not used)
%
% Define \ae and \oe as shorthands for medieval latin
% ligatures in font encoding OT1:
\def\ae{^^Z}
\def\oe{^^[}
%
%
% Then we have to define some macros depending on the TeX version.
% Therefore we have to distinguish TeX version 2.x and 3.x:
%
\ifnum`\@=`\^^40 % true => TeX 3.x
  %
  % For TeX 3:
  % ----------
  %
  % Ligatures \ae and \oe in font encoding T1
  %
  \catcode"E6=11 \lccode"E6="E6 % \ae
  \catcode"C6=11 \lccode"C6="E6 % \AE (not used)
  \catcode"F7=11 \lccode"F7="F7 % \oe
  \catcode"D7=11 \lccode"D7="F7 % \OE (not used)
  %
  % Ligatures \ae and \oe in font encoding T1 are ok:
  \def\n#1{#1}
  %
  % In the following definitions we use ??xy instead of ^^xy
  % to avoid errors when reading the macro definitions with
  % TeX 2.x (remember ^^e(6) is the comment character):
  %
  \catcode`\?=7
  %
  % Define \a and \o to be \ae resp. \oe in font encoding T1:
  \def\a{??e6} % \ae
  \def\o{??f7} % \oe
  %
  \catcode`\?=12
  %
\else
  %
  % For TeX 2:
  % ----------
  %
  % Ignore ligatures \ae and \oe in font encoding T1:
  \def\n#1{}
  %
  % Define \a and \o (= \ae, \oe in font encoding T1) to
  % signal an error:
  \def\a{\errmessage{Hyphenation pattern file corrupted!}}
  \def\o{\errmessage{Hyphenation pattern file corrupted!}}
  %
\fi
%
%
\lccode`'=`'
\patterns{%
2'2
.ab2s3  .a2b3l
.anti1  .anti3m2n
.ca4p3s .circu2m1
.co2n1iun
.di2s3cine
.e2x1
.o2b3                                % .o2b3l  .o2b3r .o2b3s
.para1i  .para1u
.pre1i   .pro1i
.su2b3lu .su2b3r
2s3que.  2s3dem.
3p2sic
3p2neu
\ae1 \oe1                            % Ligatures ae and oe (in OT1)
\n{\a1} \n{\o1}                      % Ligatures ae and oe (in T1)
a1ia a1ie  a1io  a1iu ae1a ae1o ae1u
e1iu
io1i
o1ia o1ie  o1io  o1iu
uo3u                                % quousque
1b   2bb   2bd   b2l   2bm  2bn  b2r  2bt  2bs  2b.
1c   2cc   c2h2  c2l   2cm  2cn  2cq  c2r  2cs  2ct  2cz  2c.
1d   2dd   2dg   2dm   d2r  2ds  2dv  2d.
1f   2ff   f2l   2fn   f2r  2ft  2f.
1g   2gg   2gd   2gf   g2l  2gm  g2n  g2r  2gs  2gv  2g.
1h   2hp   2ht   2h.
1j
1k   2kk   k2h2
1l   2lb   2lc   2ld   2lf  l3f2t 2lg 2lk  2ll  2lm  2ln  2lp  2lq  2lr
     2ls   2lt   2lv   2l.
1m   2mm   2mb   2mp   2ml  2mn  2mq  2mr  2mv  2m.
1n   2nb   2nc   2nd   2nf  2ng  2nl  2nm  2nn  2np  2nq  2nr  2ns
     n2s3m n2s3f 2nt   2nv  2nx  2n.
1p   p2h   p2l   2pn   2pp  p2r  2ps  2pt  2pz  2php 2pht 2p.
1qu2
1r   2rb   2rc   2rd   2rf  2rg  r2h  2rl  2rm  2rn  2rp  2rq  2rr  2rs  2rt
     2rv   2rz   2r.
1s2  2s3ph 2s3s  2stb  2stc 2std 2stf 2stg 2st3l     2stm 2stn 2stp 2stq
     2sts  2stt  2stv  2s.  2st.
1t   2tb   2tc   2td   2tf  2tg  t2h  t2l  t2r  2tm  2tn  2tp  2tq  2tt
     2tv   2t.
1v   v2l   v2r   2vv
1x   2xt   2xx   2x.
1z   2z.
% For medieval Latin
a1ua a1ue a1ui a1uo a1uu
e1ua e1ue e1ui e1uo e1uu
i1ua i1ue i1ui i1uo i1uu
o1ua o1ue o1ui o1uo o1uu
u1ua u1ue u1ui u1uo u1uu
%
a2l1ua a2l1ue a2l1ui a2l1uo a2l1uu
e2l1ua e2l1ue e2l1ui e2l1uo e2l1uu
i2l1ua i2l1ue i2l1ui i2l1uo i2l1uu
o2l1ua o2l1ue o2l1ui o2l1uo o2l1uu
u2l1ua u2l1ue u2l1ui u2l1uo u2l1uu
%
a2m1ua a2m1ue a2m1ui a2m1uo a2m1uu
e2m1ua e2m1ue e2m1ui e2m1uo e2m1uu
i2m1ua i2m1ue i2m1ui i2m1uo i2m1uu
o2m1ua o2m1ue o2m1ui o2m1uo o2m1uu
u2m1ua u2m1ue u2m1ui u2m1uo u2m1uu
%
a2n1ua a2n1ue a2n1ui a2n1uo a2n1uu
e2n1ua e2n1ue e2n1ui e2n1uo e2n1uu
i2n1ua i2n1ue i2n1ui i2n1uo i2n1uu
o2n1ua o2n1ue o2n1ui o2n1uo o2n1uu
u2n1ua u2n1ue u2n1ui u2n1uo u2n1uu
%
a2r1ua a2r1ue a2r1ui a2r1uo a2r1uu
e2r1ua e2r1ue e2r1ui e2r1uo e2r1uu
i2r1ua i2r1ue i2r1ui i2r1uo i2r1uu
o2r1ua o2r1ue o2r1ui o2r1uo o2r1uu
u2r1ua u2r1ue u2r1ui u2r1uo u2r1uu
%
%
}
\endgroup
%
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 For documentation see:
 C. Beccari, "Computer aided hyphenation for Italian and Modern
       Latin", TUG vol. 13, n. 1, pp. 23-33 (1992)

 see also

 C. Beccari, "Typesetting of ancient languages",
             TUG vol.15, n.1, pp. 9-16 (1994)

 In the former paper the code was described as being contained in file ITALAT.TEX;
 this is substantially the same code, but the file has been renamed LAHYPH.TEX
 in accordance with the ISO name for latin and the convention that all
 hyphenation pattern file names should be formed by the agglutination of
 two letter language ISO code and the abbreviation HYPH.

 A corresponding file (ITHYPH.TEX) has been extracted in order to eliminate
 the (few) patterns specific to latin and leave those specific to italian;
 ITHYPH.TEX has been further extended with many new patterns in order to
 cope with the many neologisms and technical terms with a foreign root.

 Should you find any word that gets hyphenated in a wrong way, please, AFTER
 CHECKING ON A RELIABLE MODERN DICTIONARY, report to the author, preferably
 by e-mail.

 Compared with the previous versions, this file has been extended so as to cope
 also with the medieval Latin spelling, where the letter `V' played the roles of both
 `U' and `V', as in the Roman times save that the Romans used only capitals, while
 in the middle ages the availability of soft writing supports and the necessity of
 copying book with a reasonable speed several scripts had evolved in (practically)
 all of which there was a lower case alphabet different from the upper case one,
 and where the lower case `v' had the rounded shape of our modern lower case `u',
 and where the Latin diphthongs `AE' and `OE', both in upper and lower case, where
 written as ligatures, not to mention the habit of substituting them with their sound,
 that is a simple `E'.

 According to Leon Battista Alberti, who in 1466 wrote a book on cryptography where
 he thoroughly analyzed the hyphenation of the Latin language of his (still medieval)
 times, the differences from the Tuscan language (the Italian language, as it was
 named at his time) were very limited, in particular for what concerns the handling
 of the ascending and descending diphthongs; in central and Northern Europe, and
 later on in north America, the Scholars perceived the above sound as made of two
 distinct vowels; the hyphenation of medieval Latin, therefore, was quite different
 in the northern countries compared to the southern ones, at least for what concerns
 these diphthongs. If you need hyphenation patterns for medieval Latin that suite you
 better according to the habits of northern Europe you should resort to the hyphenation
 patterns prepared by Yannis Haralambous (TUGboat, vol.13 n.4 (1992)).

 LOADING THE PATTERNS

 Use BABEL !

 BABEL implies a new hyphen.tex file that substitutes the default one; in
 the new hyphen.tex file, new definitions are given for selecting different
 languages and typesetting styles. During the initialization of LaTeX,
 babel reads another  file, language.dat, which contains the names of
 the desired languages and the corresponding pattern files. During
 document compilation babel seeks a language definition file such as
 french.ldf, italian.ldf, or the like, where programming shortcuts and
 typesetting style parameters and definitions are established. A latin.ldf
 is being prepared but to the present day it is not available.
 Therefore in a short while shortcuts will be available for latin as they are
 for german, and many other languages. The shortcut I believe is most necessary
 for Latin is a short command for inserting a discretionary break at the
 compound word boundary of compound words.

 1) Edit language.dat by adding a line such as this:

 latin lahyph.tex

 2) Run the initializer and rebuild the format file latex.fmt.

    If you use MiKTeX this is as simple as giving the line command

 makefmt latex

    or to click on Start|Programs|MiKTeX|Maintainance|Rebuild LaTeX format
    (or all formats).

    If you use VTeX you must resort to the format manager by clicking the
    suitable drop down menu item from the Menu bar.
    If you use other TeX/LaTeX systems, rebuild the format file latex.fmt
    according to the documentation of your system.


 PREFIXES AND SUFFIXES

 For what concerns prefixes and suffixes, the latter are generally separated
 according to "natural" syllabification, while the former are generally
 divided etimologically. In order to avoid an excessive number of patterns,
 care has been paid to some prefixes, especially "ex", "trans",
 "circum", "prae", but this set of patterns is NOT capable of separating
 the prefixes in all circumstances.

 In my first paper I suggested the definition of the underscore character,
 defined active, in order to perform the task; the latin.ldf file under
 preparation will define the double quote " as an active character that in Latin
 performs that task; the same double quote plays the role of the "fac totum"
 active character in virtually every other language, and in every language it
 does different things (unfortunately! but this is obviously due to the
 different specific requirements in each one of them). I hope that using latin.ldf
 under babel, even for typesetting Latin just as quotations within other documents
 with a different main language, it will be easy for the typesetter to take the
 habit of typing i.e. trans"ierat so as to have the possible hyphen points as
 trans-ie-rat (instead of tran-sie-rat).