Text::LineFold~[ja] − プ レ イ ン テ キ ス ト の 行 折 り
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');
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" 形 式 を つ な ぎ 直 す 。
バ グ や バ グ の よ う な 動 作 は 開 発 者 に 教 え て く だ さ い 。
CPAN Request Tracker: <http://rt.cpan.org/Public/Dist/Display.html?Name=Unicode−LineBreak>.
$VERSION 変 数 を 見 て ほ し い 。
Unicode::LineBreak~[ja], Text::Wrap.
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.