Text::Hyphen - determine positions for hyphens inside words
This module implements Knuth-Liang algorithm to find positions inside words where it is possible to insert hyphens to break a line.
The original Knuth patterns for English language are built-in. If you need to hyphenate other languages, please see Text::Hyphen::* modules on CPAN.
use Text::Hyphen; my $hyphenator = new Text::Hyphen; print $hyp->hyphenate('representation', '-'); # prints rep-re-sen-ta-tion print map "($_)", $hyp->hyphenate('multiple'); # prints "(mul)(ti)(ple)"
This version does not export anything and uses OOP interface.
Creates the hyphenator object.
You can pass several options:
Minimum length of word to be hyphenated. Shorter words are returned right away. Defaults to 5 for English.
Minimal prefix to leave without any hyphens. Defaults to 2 for English.
Minimal suffix to leave wothout any hyphens. Defaults to 2 for English.
If $delim is undefined then in list context this method will break the word into pieces on hyphenation positions and return the list of the pieces. In scalar context it will return the $word with "-" inserted into suggested hyphenation positions.
If $delim is defined this methods returns the $word with $delim inserted into hyphenation positions.
Basically, it tries to DWIM.
<kappa at cpan.org>
This code is hoste don Github, please see https://github.com/kappa/Text-Hyphen.
Please report any bugs or feature requests to GitHub issues.
You can also look for information at:
Donald Knuth and Frank Liang for the algorithm.
Alexander Lebedev for all his valuable work on russian ispell dictionaries and russian hyphenation patterns. See his archive at ftp://scon155.phys.msu.ru/pub/russian/.
Ned Batchelder for his public domain Python implementation of Knuth-Liang algorithm available at http://nedbatchelder.com/code/modules/hyphenate.html.
Copyright 2008-2015 Alex Kapranoff.
This is free software; you can redistribute it and/or modify it under the terms GNU General Public License version 3.