The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

TeX::Hyphen -- hyphenate words using TeX's patterns

SYNOPSIS

        use TeX::Hyphen;
        my $hyp = new TeX::Hyphen 'file' => 'hyphen.tex',
                'style' => 'czech', leftmin => 2,
                rightmin => 2;

        # my $hyp = new TeX::Hyphen "hyphen.tex";

        my $word = "representation";
        my @points = $hyp->hyphenate($word);
        print $hyp->visualize($word), "\n";

DESCRIPTION

Constructor new() creates a new Hyphen object and loads the file with patterns into memory. Then you can ask it for hyphenation of a word by calling a method of this object. If no file is specified, the default Donald E. Knuth's hyphen.tex, that is included in this module, is used instead.

Arguments to constructor

You can pass arguments to the new() call as hash, possible options are

file

Name of the file with the patters. It will be loaded and the resulting object will be able to hyphenate according to patterns in that file.

For convenience and backward compatibility, the file name can also be specified as the first (odd) parameter to new().

style

Various languages use special shortcuts to specify the patterns. Instead of doing the full TeX expansion, we use Perl code to parse the patterns. The style option loads TeX::Hyphen::name_of_the_style module and uses the parsing functions found in it.

Currently, the default czech (which also works for English alright) and german are available. See the TeX::Hyphen::czech man page for more information, especially if you want to support other languages/styles.

leftmin

The minimum starting substring which will not be hyphenated. This overrides the default specified in the style file.

rightmin

The minimum ending substring which will not be hyphenated. This overrides the default specified in the style file.

Methods that are supported

Method hyphenate() returns list of places where the word can be divided, so

        $hyp->visualize('representation')

returns list (3, 5, 8, 10).

Method visualize() can be used to show these points, so

        $hyp->visualize('representation')
        

should return rep-re-sen-ta-tion, at least for English patterns.

Variables $TeX::Hyphen::LEFTMIN and $TeX::Hyphen::RIGHTMIN can be used to restrict minimal starting and ending substring where it is not possible to hyphenate. They both default to 2 but should be changed to match the paratemers used to generate the patterns.

Variable $TeX::Hyphen::DEBUG can be set to see some statistics and processing.

The file with hyphenation patterns may contain \' and \v accents, used in the Czech (and other) languages.

CHANGES

0.110 Tue Dec 11 14:26:15 MET 2001

Support for more languages made modular, code for German parsing provided by Slaven Rezic.

0.101 Wed Nov 3 16:06:02 MET 1999

Parsing of patterns extended to allow other styles as well -- Spanish pattern file provided by Adrian Perez Jorge.

0.10 Fri Dec 11 10:58:01 MET 1998

Bug fixes concering LEFTMIN and RIGHTMIN values and use of exceptions (thanks go to Vladimir Volovich).

0.06 Mon Jul 21 18:53:26 MET DST 1997

Exception table handling added -- error spotted by Jon Orwant.

0.05 Wed Jul 9 14:49:42 MET DST 1997

Added the default hyphen.tex into the module and possibility to call the constructior without argument to get this default pattern file.

0.04 Wed Apr 9 15:41:32 MET DST 1997

Hash lookup made faster.

Method TeX::Hyphen::visualize() only takes one argument, it calls hyphenate().

0.03 Sun Feb 16 13:55:26 MET 1997

Hash lookup made faster.

Original name Hyphen chaged to TeX::Hyphen.

VERSION

0.140

SEE ALSO

perl(1), TeX::Hyphen::czech.

AUTHOR

(c) 1997--2002 Jan Pazdziora, adelton@fi.muni.cz at Faculty of Informatics, Masaryk University, Brno