Lingua::ZH::Wrap - Wrap Chinese text
This document describes version 0.03 of Lingua::ZH::Wrap, released July 25, 2004.
use Lingua::ZH::Wrap; $initial_tab = "\t"; # Tab before first line $subsequent_tab = ""; # All other lines flush left print wrap( $initial_tab, $subsequent_tab, @lines );
use Lingua::ZH::Wrap qw(wrap $columns $overflow); $columns = 75; # Change columns $overflow = 1; # Chinese char may occupy 76th col print wrap( '', '', @lines );
Lingua::ZH::Wrap::wrap() is a very simple paragraph formatter. It formats a single paragraph at a time by breaking lines at Chinese character boundries.
Indentation is controlled for the first line (
$initial_tab) and all subsequent lines (
$subsequent_tab) independently. Please note:
$subsequent_tab are the literal strings that will be used: it is unlikely you would want to pass in a number.
Lingua::ZH::Wrap::wrap() has a number of variables that control its behavior.
Lines are wrapped at
$Lingua::ZH::Wrap::columns columns; if a Chinese character just extends columns by one byte, it will be wrapped into the next line, unless
$Lingua::ZH::Wrap::overflow is set to a true value.
The algorithm doesn't care about breaking non-Chinese words. Also, if you pass in strings encoded unicode, it will currently first decode into
Big5, do the conversion, then convert back.
Patches are, of course, very welcome; in particular, I'd like to use Lingua::ZH::TaBE to avoid beginning-of-line punctuations, as well as employing other semantic-sensitive formatting techniques.
Autrijus Tang <firstname.lastname@example.org>
Copyright 2003, 2004 by Autrijus Tang <email@example.com>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.