%
%                  ********** LAHYPH.TEX *************
% 
% Patterns for the latin language in modern spelling (u when u is needed and v
% when v is needed; ligatures \ae and \oe tolerated)
%
% Prepared by  Claudio Beccari
%              Politecnico di Torino
%              Torino, Italy
%              e-mail beccari@polito.it
%
% \versionnumber{1.2}   \versiondate{23 june 1994}
%
%
% 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, "Typsetting of ancient languages",
%             TUG vol.15, n.1, pp. 9-16 (1994) 
%
% In the preceding paper the code is described as file ITALAT.TEX; this is
% substancially the asme code, but the file ha been renamed LAHYPH.TEX
% in accordance with the ISO name for latin and the convention that all
% hyphenation pattern file names should be formaed by the agglutination of 
% two letter language ISO code and the abbreviation HYPH.
%
% A corresponding file (ITHYPH.TEX) has been extracted for eliminating the
% (few) patterns specific to latin and leave those specific to italian.
% Nonetheless this file hyphenates both languages as described in the above
% paper.
%
% This set of patterns is compatible with the existing sets of macros and 
% fonts for TeX and LaTeX that map the medieval latin ligatures \oe and \ae
% (and their capialized correspondent ones) to the original 128 character 
% sets.
% Latin does not have accented characters (the breve and macron accents are
% used only in grammars); those patterns that might serve only italian
% hyphenation do not refer to accented vowels (se the prologue to the
% ITHYPH.tex file). Should you use 256 character sets (real or virtual ones)
% then you need to map \oe and \ae to the suitable positions of the character
% table. For the Cork encoding see reference (1).
%
% 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. In particular remember that these patterns are for latin in
% modern spelling, not for medieval latin. If you have to deal with medieval
% latin you'd better get the hyphenation patterns prepared by Yannis 
% Haralambous (TUGboat, vol.13 n.4 (1992)).
% 
% For what concern perfixes and suffixes, the latter are generally separated
% accordind to "natuaral" syllabification, while the former are generally
% divided etimologically. In order to avoid an excessive number of patterns,
% care has been payed to some prefixes, especially "ex", "trans",
% "circum", "prae", etc., but this set of patterns is NOT capable of 
% separating the prefixes in all circumstances.
%
% In order to allow the composer to introduce soft discretionary hyphens, this
% file contains the redefinition of the underscore character (_) to be used
% as a soft discretionary hyphen, in contrast to \- that inserts a hard one;
% this means that, e.g., trans_ierat corresponds to the possible hyphenation
% trans-ie-rat, while trans\-ierat corresponds to trans-ierat.
% 
% Since the underscore is used (outside TeX math mode) quite often, for
% example in file names, in  labels, and other cross references,
% according to the composer's habits, the definition of the underscore with
% its
discretionary hyphen very easily breaks apart, giving raise to
% uncontrollable TeX errors. Therefore the underscore redefiniton is
% clearly marked AND COMMENTED, so that if you know what you are doing, you
% may uncomment it and use it.
%
% ============================================================================
% This software is released "as is" with no explicit or implicit guarantee of 
% any kind. It is given free of any charge and may be freely copied and 
% given to others without charging anything.
% ============================================================================
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Ligatures \ae e \oe
%
% \ae = 26 = ^^Z = ^^1a      %  128 character sets !!!!
% \AE = 29 = ^^] = ^^1d	     %
% \oe = 27 = ^^[ = ^^1b	     %	Change accordingly for 256 real or virtual
% \OE = 30 = ^^^ = ^^1e	     %  character sets     !!!!
%
% ... or eliminate the following macro (here and in the sequel) if suitable
% catcodes are already assigned:
%
\def\catcodeAE{\catcode 26  =11  \catcode 29  =11  \lccode 29 = 26
               \uccode  26 = 29  \lccode  26 = 26  \uccode 29 = 29
               \catcode 27  =11  \catcode 30  =11  \lccode 30 = 27
               \uccode  27 = 30  \lccode  27 = 27  \uccode 30 = 30}
%               
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%        Soft discretionary hyphens by means of the underscore
%
% ----> UNCOMMENT THE FOLLOWING 10 LINES IF YOU WANT THIS FACILITY <-----
%
%\toks255=\expandafter{\the\catcode`\@}
%\catcode`\@=11
%\def\allowhyphens{\penalty\@M\hskip\z@
%                  \discretionary{-}{}{}\penalty\@M\hskip\z@}
%\let\sb@=_ 
%\catcode`\_=13
%\def\psb@{\ifmmode \sb\else\allowhyphens\fi}
%\def_{\protect\psb@}
%\catcode`\@=\the\toks255
%
% P.S. You can move this definition to a personal option file
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Comment out the next line if you have another means for identifying the
% languages; for example, if you load these patterns through a file similar
% to lhyphen.tex, you might have assigned this set of patterns to a specific
% number; therefore either you substitute the cs. \italian with this number
% or you define \italian to this number. Or, may be, you use BABEL and the
% language number is associated with \l@italian. Fell free to adapt the
% file to your needs.
%
\newlanguage\italian
%
%---------------------------------------------------------------------------
% You can put the following lines in a personal option file
%
% Be sure that the language number is proprly defined, and that \catcodeAE
% is either well defined or eliminated.
%
\def\italiano{\language=\italian \righthyphenmin=2
              \catcodeAE \lccode`\'=`\'}
%
\def\latino{\italiano \lccode`\'=0}
%
%---------------------------------------------------------------------------
%
\begingroup             % So that declarations remain local 
%
\language\italian 	% See above
%
\catcodeAE              % See above
%
\lccode`\'=`\'          % Latin does not need this, but italian does.
                        % 
\let\ae=^^1a            % Shorhand for the medieval latin ligatures
\let\oe=^^1b		% 128 char. set; change accordingly for 256 char. sets
                        %
\patterns{
.a2b2s3  .a2b3l
.o2b3l   .o2b3m .o2b3r .o2b3s
.anti3	 .anti3m4n
.di2s3ci3ne
.circu2m3
.wa2g3n
.a2p3n
.ca4p5s
.para3i .para3u
.pre3i .pro3i
.ri3a .ri3e  .re3i  .ri3o  .ri3u
.su4b3lu     .su4b3r
2s3que. 2s3dem.
3p4si3c4
3p4neu1
\ae1    \oe1                              % Ligatures ae and oe
a1a   a2e    a2i    a2j    a1o   a2u  a2y
a2y3o a3i2a  a3i2e  a3i2o  a3i2u ae3u
e1a   e1e    e2i    e2j    e2o   e2u  e2y e3iu
i2a   i2e    i1i    i2o    i2u   io3i
o1a   o2e    o2i    o2j    o1o   o2u  o2y
o3i2a o3i2e  o3i2o  o3i2u
u2a   u2e    u2i    u2o    u1u   uo3u
1b2   2b3b   4b3d   2b3n   2b3t
      2b3s4a 2b3s4e 2b3s4i 2b3s4o 2b3s4u  2b3s4t   u2b3s4c
1c2   2c3c   2c3m   2c3n   2c3q  2c3s  2c3t  2c3z  2ch3h
1d2   2d3d   2d3g   2d3m   2d3s  2d3v  4d3w
1f2   2f3f   2f3t
1g2   2g3g   2g3d   2g3f   2g3m  2g3s  2g3v
1h2
1j2   2j3j
1k2   2k3k
1l2a  1l2e   1l2i   1l2j   1l2o 1l2u
      2l3l   l3f4t  1l'  2l4l3m 1l2\ae1 1l2\oe1
1m2   2m3m   2m3b   2m3p   2m3l 2m3n  2m3r   2m4p3s
      2m4p3t 4m3w
1n2a  1n2e   1n2i   1n2j   1n2o 1n2u  2n3n    2n1l
      n2g3n  2n1r   n2s3m  n2s3f  2n' 1n2\ae1 1n2\oe1
1p2   2p3p   2p3s   2p3n   2p3t 2p3z  2ph3p  2ph3t  2s3p2h
1q2   2q3q
1r2a  1r2e   1r2i   1r2j   1r2o 1r2u  1r2h   1r2\ae1 1r2\oe1
1s2   2s3s   2st3m  2s'
1t2   2t3t   4t3m   2t3n   1t'  4t3w  2t3z
1v2   2v3v
1w2   2w3w   wa4r
1x2a  1x2e   1x2i   1x2o   1x2u 2x3x  1x2\ae1  1x2\oe1
y2a   y2e    y2i    y2o    y2u
1z2   2z3z   2z3t   1z'
}
\endgroup
%
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
