---
name: "POD2::JA::Text::LineFold"
section: "3pm"
platform: "linux"
package: "perl-unicode-linebreak"
version: "2019.001-10"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/POD2::JA::Text::LineFold"
---

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

プレインテキストの行折り

## 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.
