RILLIC() =E<gt> EA_N>

=item C<AMBIGUOUS_GREEK() =E<gt> EA_N>

=item C<AMBIGUOUS_LATIN() =E<gt> EA_N>

曖昧 (A) の幅を持つキリル、ギリシア、ラテン用字系の文字を中立 (N) の文字と扱う。

=back

いっぽう、東アジアの符号化文字集合に対する多くの実装でたびたび広い文字に描画されてきたにもかかわらず、Unicode 標準では全角 (F) の互換文字を持つがゆえに狭い (Na) 文字とされている文字が若干ある。L<EAWidth> オプションに以下のように指定することで、これらの文字を C<"EASTASIAN"> 文脈で広い文字と扱える。

=over 4

=item C<QUESTIONABLE_NARROW_SIGNS() =E<gt> EA_A>

U+00A2 セント記号、U+00A3 ポンド記号、U+00A5 円記号 (または元記号)、U+00A6 破断線、U+00AC 否定、U+00AF マクロン。

=back

=head2 設定ファイル

L</new> メソッドおよび L</config> メソッドのオプション引数の組み込み初期値は、 設定ファイルで上書きできる。
F<Unicode/LineBreak/Defaults.pm>。
詳細は F<Unicode/LineBreak/Defaults.pm.sample> を読んでほしい。

=head1 BUGS

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

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

=head1 VERSION

$VERSION 変数を参照してほしい。

=head2 非互換な変更

=over 4

=item 2012.06

=over 4

=item *

eawidth() メソッドを廃止した。
代わりに L<Unicode::GCString/columns> が使えるかもしれない。

=item *

lbclass() メソッドを廃止した。
L<Unicode::GCString/lbc> や L<Unicode::GCString/lbcext>
を使ってほしい。

=back

=back

=head2 標準への適合性

このモジュールで用いている文字の特性値は、Unicode 標準 8.0.0版による。

このモジュールでは、実装水準 UAX14-C2 を実装しているつもり。

=head1 IMPLEMENTATION NOTES

=over 4

=item *

一部の表語文字的な文字を NS として扱うか ID として扱うかを選べる。

=item *

ハングル音節およびハングル連結チャモを ID として扱うか AL として扱うかを選べる。

=item *

AI に分類される文字を AL と ID のどちらに解決するかを選べる。

=item *

CB に分類される文字は解決しない。

=item *

CJ に分類される文字は常に NS に解決する。より柔軟な手直しの機構が提供される。

=item *

東南アジアの表記体系の単語分節に対応しない場合は、
SA に分類される文字は AL に解決する。
ただし、Grapheme_Cluster_Break 特性の値が Extend か SpacingMark である文字は CM に解決する。

=item *

SG や XX に分類される文字は AL に解決する。

=item *

以下の UCS の範囲にあるコードポイントは、文字が割り当てられていなくても決まった特性値を持つ。

    範囲               | UAX #14    | UAX #11    | 説明
    -------------------------------------------------------------
    U+20A0..U+20CF     | PR [*1]    | N [*2]     | 通貨記号
    U+3400..U+4DBF     | ID         | W          | CJK漢字
    U+4E00..U+9FFF     | ID         | W          | CJK漢字
    U+D800..U+DFFF     | AL (SG)    | N          | サロゲート
    U+E000..U+F8FF     | AL (XX)    | F か N (A) | 私用領域
    U+F900..U+FAFF     | ID         | W          | CJK漢字
    U+20000..U+2FFFD   | ID         | W          | CJK漢字
    U+30000..U+3FFFD   | ID         | W          | 古漢字
    U+F0000..U+FFFFD   | AL (XX)    | F か N (A) | 私用領域
    U+100000..U+10FFFD | AL (XX)    | F か N (A) | 私用領域
    その他未割り当て   | AL (XX)    | N          | 未割り当て、
                       |            |            | 予約、非文字
    -------------------------------------------------------------
    [*1] U+20A7 ペセタ記号 (PO)、U+20B6 トゥール・リーヴル記号 
      (PO)、U+20BB スカンディナヴィア・マルク記号 (PO)、U+20BE
      ラリ記号 (PO) を除く。
    [*2] U+20A9 ウォン記号 (H)、U+20AC ユーロ記号 (F か N (A)) を
      除く。

=item *

一般カテゴリ特性が Mn、Me、Cc、Cf、Zl、Zp のいずれかである文字は、前進を伴わない文字とみなす。

=back

=head1 REFERENCES

=over 4

=item [CMOS]

I<The Chicago Manual of Style>, 15th edition.
University of Chicago Press, 2003.

=item [JIS X 4051]

JIS X 4051:2004
I<日本語文書の組版方法>.
日本規格協会, 2004.

=item [JLREQ]

阿南康宏他.
I<日本語組版処理の要件>, 
W3C 技術ノート 2012年4月3日.
L<http://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/>.

=begin comment

=item [Kubota]

久保田智広 (2001-2002).
文字幅問題, I<Unicode (ユニコード) と中日韓 (CJK) エンコーディングとの相互運用の問題>.
L<http://web.archive.org/web/people.debian.org/~kubota/unicode-symbols-width2.html.ja>.

=end comment

=item [UAX #11]

A. Freytag (ed.) (2008-2009).
I<Unicode Standard Annex #11: East Asian Width>, Revisions 17-19.
L<http://unicode.org/reports/tr11/>.

=item [UAX #14]

A. Freytag and A. Heninger (eds.) (2008-2015).
I<Unicode Standard Annex #14: Unicode Line Breaking Algorithm>, Revisions 22-35.
L<http://unicode.org/reports/tr14/>.

=item [UAX #29]

Mark Davis (ed.) (2009-2013).
I<Unicode Standard Annex #29: Unicode Text Segmentation>, Revisions 15-23.
L<http://www.unicode.org/reports/tr29/>.

=back

=head1 SEE ALSO

L<Text::LineFold~[ja]>,
L<Text::Wrap>,
L<Unicode::GCString~[ja]>.

=head1 AUTHOR

Copyright (C) 2009-2018 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.

=cut
