POD2::JA::Text::LineFold(3)

NAME
Text::LineFold~[ja] - プレインテキストの行折り

SYNOPSIS
    use Text::LineFold;
    $lf = Text::LineFold->new();

    # 行折りする
    $folded = $lf->fold($string, 'PLAIN');
    $indented = $lf->fold(' ' x 8, ' ' x 4, $string);

    # 行折りを戻す
    $unfolded = $lf->unfold($string, 'FIXED');

DESCRIPTION
Text::LineFold は、プレインテキストの行折りをしたり行折りを戻したりする。 電子メールメッセージを主眼に置いており、RFC 3676 の flowed 形式にも対応する。

  公開インタフェース

new ([KEY => VALUE, ...])
    コンストラクタ。 KEY => VALUE の対については config メソッドを参照。

$self->config (KEY)
$self->config ([KEY => VAL, ...])
    インスタンスメソッド。 設定を取得または更新する。以下の KEY => VALUE 対を指定できる。

    Charset => CHARSET
        入力文字列を符号化しているキャラクタセット。 文字列または MIME::Charset~[ja] オブジェクト。 初期値は "UTF-8"。

    Language => LANGUAGE
        Charset オプションとともに、言語/地域の文脈を決めるのに使える。 初期値は "XX"。 "Context" in Unicode::LineBreak~[ja] オプションも参照。

    Newline => STRING
        改行の文字列。 初期値は "\n"。

    OutputCharset => CHARSET
        fold()/unfold() の結果を符号化するキャラクタセット。 文字列または MIME::Charset~[ja] オブジェクト。 特殊値 "_UNICODE_" を指定すると、結果は Unicode 文字列となる。 初期値は Charset オプションの値。

    TabSize => NUMBER
        タブストップの桁数。 0 を指定すると、タブストップを無視する。 初期値は 8。

    BreakIndent
    CharMax
    ColMax
    ColMin
    ComplexBreaking
    EAWidth
    HangulAsAL
    LBClass
    LegacyCM
    Prep
    Urgent
        "オプション" in Unicode::LineBreak~[ja] を参照。

$self->fold (STRING, [METHOD])
$self->fold (INITIAL_TAB, SUBSEQUENT_TAB, STRING, ...)
    インスタンスメソッド。 文字列 STRING を行折りする。 行末の余分な空白文字や水平タブ文字を除去し、 改行の文字列を Newline オプションで指定したものに置き換え、 テキスト末尾に改行がなければ追加する。 水平タブ文字は TabSize オプションによる幅のタブストップと見なす。

    ひとつめの形式では、METHOD 引数に以下のオプションを指定できる。

    "FIXED"
        ">" で始まる行は行折りしない。 段落は空行で分かたれる。

    "FLOWED"
        RFC 3676 で定義される "Format=Flowed; DelSp=Yes" 形式。

    "PLAIN"
        初期の方法。すべての行を行折りする。

    ふたつめの形式は、"wrap()" in Text::Wrap に似ている。 すべての行を行折りする。段落の先頭には INITIAL_TAB を、ほかの行の先頭には SUBSEQUENT_TAB を挿入する。

$self->unfold (STRING, METHOD)
    文字列 STRING の行折りされた段落をつなぎ直してそれを返す。

    METHOD 引数には以下のオプションを指定できる。

    "FIXED"
        初期の方法。 ">" で始まる行はつなぎ直さない。 空行を段落の区切りとみなす。

    "FLOWED"
        RFC 3676 で定義される "Format=Flowed; DelSp=Yes" 形式をつなぎ直す。

    "FLOWEDSP"
        RFC 3676 で定義される "Format=Flowed; DelSp=No" 形式をつなぎ直す。

BUGS
バグやバグのような動作は開発者に教えてください。

CPAN Request Tracker: <http://rt.cpan.org/Public/Dist/Display.html?Name=Unicode-LineBreak>.

VERSION
$VERSION 変数を見てほしい。

SEE ALSO
Unicode::LineBreak~[ja], Text::Wrap.

AUTHOR
Copyright (C) 2009-2012 Hatuka*nezumi - IKEDA Soji <hatuka(at)nezumi.nu>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.