Provided by: libunicode-linebreak-perl_0.0.20131101-1_amd64 bug

NAME

       Unicode::LineBreak~[ja] - UAX #14 Unicode XXXXXXXXX

SYNOPSIS

           use Unicode::LineBreak;
           $lb = Unicode::LineBreak->new();
           $broken = $lb->break($string);

DESCRIPTION

       Unicode::LineBreak XXUnicode XXXXXX14 [UAX #14] XXXX Unicode XXXXXXXXXXXXXXX
       XXXXXXXXXXXXXXX11 [UAX #11] XXXXXX East_Asian_Width XXXXXXXXXX

   XX
       XXXXXXXXXXXXX

       XXXXXmandatory breakXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [UAX #14] XXXXXXXXXXXXXXXXXdirect
       breakXXXXXXXindirect breakXXXXXX

       XXXXXXXXXalphabetic charactersXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
       XXXXXXXXXideographic charactersXXXXXXXXXXXXXXXXXXXX [UAX #14] XXXXXXXXXXXXXXXX AL
       XXXXXXXXXXXXXXXX ID XXXXXXX (XXXXXXXXXXXXXXXXXXXXXXXX)X
       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
       XXXXXXXXXwideXXXXXXnarrowXXXXXXXXXXXnonspacingXXXXXXXXXXXXX 2 XX1 XX0 XXXXXX
       XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX

PUBLIC INTERFACE

   XXXX
       new ([KEY => VALUE, ...])
           XXXXXXXX KEY => VALUE XXXXXXX "XXXXX" XXXX

       break (STRING)
           XXXXXXXXXXX Unicode XXX STRING XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX

       break_partial (STRING)
           XXXXXXXXXXX break() XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXSTRING XXX "undef" XXXXX

       config (KEY)
       config (KEY => VALUE, ...)
           XXXXXXXXXXX XXXXXXXXXXXXX KEY => VALUE XXXXXXX "XXXXX" XXXX

       copy
           XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX

   XXXXX
       breakingRule (BEFORESTR, AFTERSTR)
           XXXXXXXXXXX XXX BEFORESTR X AFTERSTR XXXXXXXXXXXXX XXXXXXX "XX" XXXX

           X: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXbreak() XXXXXXXXXXXXXX

       context ([Charset => CHARSET], [Language => LANGUAGE])
           XXX XXXXXXXX CHARSET XXXXXXXX LANGUAGE XXXXXXXXXX/XXXXXXXXX

   XXXXX
       "new"X"config" XXXXXXXXXXXXXXXXXXX XXXXX ([E])XXXXXXXXXX ([G]) (Unicode::GCString~[ja]
       XXX)XXXXXX ([L]) XXXXXXXXXXX

       BreakIndent => "YES" | "NO"
           [L] XXX SPACE XXX (XXXXX) XXXXXXXXXXXX [UAX #14] X SPACE XXXXXXXXXXXXXXXXX XXXX "YES"X

           X: XXXXXXXXXXXX 1.011 XXXXXXX

       CharMax => NUMBER
           [L] XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX XXXX 998X 0 XXXXXXX

       ColMin => NUMBER
           [L] XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX 0X

       ColMax => NUMBER
           [L] XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX 76X

       "Urgent" XXXXXXXX "XXXXXXXXXXX" XXXX

       ComplexBreaking => "YES" | "NO"
           [L] XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX "YES"X

       Context => CONTEXT
           [E][L] XX/XXXXXXXXXXX XXXXXXXX "EASTASIAN" X "NONEASTASIAN"X XXXXXX "NONEASTASIAN"X

           "EASTASIAN" XXXXXEast_Asian_Width XXXXX (A) XXXXXXXXXXXXXXXXXXXXX AI XXXXXXXXX (ID)
           XXXXX

           "NONEASTASIAN" XXXXXEast_Asian_Width XXXXX (A) XXXXXXXXXXXXXXXXXXXXX AI XXXXXXXXX (AL)
           XXXXX

       EAWidth => "[" ORD "=>" PROPERTY "]"
       EAWidth => "undef"
           [E] XXXXXX East_Asian_Width XXXXXXXXX ORD XXXX UCS XXXXXXXXXXXXXXXXXXX PROPERTY X
           East_Asian_Width XXXXXXXXXXXX ("XX" XXX)X XXXXXXXXXXXXXXXXX "undef"
           XXXXXXXXXXXXXXXXXXXXXXXX

           XXXXXXEast_Asian_width XXXXXXXXXXX "XXXXXXXXX" XXXX

       Format => METHOD
           [L] XXXXXXXXXXXXXXXXXX

           "SIMPLE"
               XXXXXX XXXXXXXXXXXXXXXXXX

           "NEWLINE"
               "Newline" XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX

           "TRIM"
               XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX

           "undef"
               XXXXXX (XXXXXX)X

           XXXXXXXXXX
               "XXXX" XXXX

       HangulAsAL => "YES" | "NO"
           [L] XXXXXXXXXXXXXXXXXconjoining jamoXXXXXXXXXX (AL) XXXX XXXX "NO"X

       LBClass => "[" ORD "=>" CLASS "]"
       LBClass => "undef"
           [G][L] XXXXXXXXXXX (XX) XXXXXXX ORD XXXX UCS XXXXXXXXXXXXXXXXXXX CLASS XXXXXXXXXXXX
           ("XX" XXX)X XXXXXXXXXXXXXXXXX "undef" XXXXXXXXXXXXXXXXXXXXXXXX

           XXXXXXXXXXXXXXXXXXXX "XXXXXXXXX" XXXX

       LegacyCM => "YES" | "NO"
           [G][L] XXXXXXXXXXXXXXXXXXXXXX (ID) XXXX Unicode 5.0 XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX
           "YES"X

       Newline => STRING
           [L] XXXXXXXXX Unicode XXXX XXXX "\n"X

       Prep => METHOD
           [L] XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX METHOD XXXXXXXXXXXXXX

           "NONBREAKURI"
               URI XXXXXXX

           "BREAKURI"
               URI XXXXXXXXXXXXXXXXX XXXX [CMOS] X 6.17 XX 17.11 XXXXX

           "[" REGEX, SUBREF "]"
               XXXX REGEX XXXXXXXXXXXSUBREF XXXXXXXXXXXXXXXXXX XXX "XXXXXXXXXXX" XXXX

           "undef"
               XXXXXXXXXXXXXXXXXXXX

       Sizing => METHOD
           [L] XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX

           "UAX11"
               XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX

           "undef"
               XXXXXXXXXXXXXXX (Unicode::GCString XX) XXXXXX

           XXXXXXXXXX
               "XXXXXXX" XXXX

           "ColMax"X"ColMin"X"EAWidth" XXXXXXXXX

       Urgent => METHOD
           [L] XXXXXXXXXXXXXXXX XXXXXXXXXXXXX

           "CROAK"
               XXXXXXXXXXXXXXXX

           "FORCE"
               XXXXXXXXXXXXXXXXX

           "undef"
               XXXXXX XXXXXXXXXXXXXX

           XXXXXXXXXX
               "XXXXXXXXXXX" XXXX

       ViramaAsJoiner => "YES" | "NO"
           [G] XXXXXXX (XXXXXXXXXXXXXXXXXXXXXXXXX) XXXXXXXXXXXXXXX XXXX "YES"X X: XXXXXXXXXXXX
           2011.001_29 XXXXXXX XXXXXXXXX "NO" XXXXXXXX XXXX[UAX #29]
           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

   XX
       "EA_Na", "EA_N", "EA_A", "EA_W", "EA_H", "EA_F"
           [UAX #11] XXXXXX 6 XX East_Asian_Width XXXX X (Na)XXX (N)XXX (A)XX (W)XXX (H)XXX (F)X

       "EA_Z"
           XXXXXXXXXX East_Asian_Width XXXXX

           X: XXXXXXXXXXXXXXXXXXXXXXXXXXXX [UAX #11] XXXXXXXX

       "LB_BK", "LB_CR", "LB_LF", "LB_NL", "LB_SP", "LB_OP", "LB_CL", "LB_CP", "LB_QU", "LB_GL",
       "LB_NS", "LB_EX", "LB_SY", "LB_IS", "LB_PR", "LB_PO", "LB_NU", "LB_AL", "LB_HL", "LB_ID",
       "LB_IN", "LB_HY", "LB_BA", "LB_BB", "LB_B2", "LB_CB", "LB_ZW", "LB_CM", "LB_WJ", "LB_H2",
       "LB_H3", "LB_JL", "LB_JV", "LB_JT", "LB_SG", "LB_AI", "LB_CJ", "LB_SA", "LB_XX", "LB_RI"
           [UAX #14] XXXXXX 40 XXXXXXX (XX)X

           X: XXX CP XUnicode 5.2.0XXXXXXXX XXX HL X CJ XUnicode 6.1.0XXXXXXXX XXX RI X Unicode
           6.2.0XXXXXXXX

       "MANDATORY", "DIRECT", "INDIRECT", "PROHIBITED"
           XXXXXXXX 4 XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

       "Unicode::LineBreak::SouthEastAsian::supported"
           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX XXXXXXX "undef"X

           X: XXXXXXXXXXXXXXXXXXXXXXXXXXX

       "UNICODE_VERSION"
           XXXXXXXXXXXX Unicode XXXXXXXXXXX

CUSTOMIZATION

   XXXX
       "Format" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 3 XXXXXXXXXXXXXXXX

           $XXX = &XXXXXX(SELF, EVENT, STR);

       SELF X Unicode::LineBreak XXXXXXXEVENT XXXXXXXXXXXXXXXXXXXXXSTR XXXXXXXXXXXX Unicode
       XXXXXXX

           EVENT |XXXXX           |STR
           -----------------------------------------------------------------
           "sot" |XXXXXX         |XXXXXXX
           "sop" |XXXXXX         |XXXXXX
           "sol" |XXXXXX         |XXXXXXX
           ""    |XXXXX           |XXX (XXXXXXXXXX)
           "eol" |XXXX             |XXXXXXXXXXX
           "eop" |XXXX             |XXXXXXXXXXX
           "eot" |XXXXXX         |XXXXXXXXXXX (XXX)
           -----------------------------------------------------------------

       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"undef" XXXXXXX XXX"sot"X"sop"X"sol"
       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

       XX: XXXXXXXXXXXXXXXXXXXXXXX Unicode::GCString~[ja] XXX

       XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

           sub fmt {
               if ($_[1] =~ /^eo/) {
                   return "\n";
               }
               return undef;
           }
           my $lb = Unicode::LineBreak->new(Format => \&fmt);
           $output = $lb->break($text);

   XXXXXXXXXXX
       XXXXXXXXXXXXX CharMaxXColMaxXColMin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "Urgent"
       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 2 XXXXXXXXXXXXXXXX

           @XXX = &XXXXXX(SELF, STR);

       SELF X Unicode::LineBreak XXXXXXXSTR XXXXXX Unicode XXXX

       XXXXXXXXXXX STR XXXXXXXXXXXXXXXXXXXXXX

       XX: XXXXXXXXXXXXXXXXXXXXXXX Unicode::GCString~[ja] XXX

       XXXXXXXXXXXXXXXXXX (XXXXXXX) XXXXXXXXXXXXXXXXXXXXXXXXX

           sub hyphenize {
               return map {$_ =~ s/yl$/yl-/; $_} split /(\w+?yl(?=\w))/, $_[1];
           }
           my $lb = Unicode::LineBreak->new(Urgent => \&hyphenize);
           $output = $lb->break("Methionylthreonylthreonylglutaminylarginyl...");

       "Prep" XXXXXX [REGEX, SUBREF] XXXXXXXXXXXXXXXXXXXX 2 XXXXXXXXXXXXXXXX

           @XXX = &XXXXXX(SELF, STR);

       SELF X Unicode::LineBreak XXXXXXXSTR X REGEX XXXXXXXXXXX Unicode XXXX

       XXXXXXXXXXX STR XXXXXXXXXXXXXXXXXXXXXX

       XXXXXXXXXXXHTTP URL X [CMOS] XXXXXXXXXXXX

           my $url = qr{http://[\x21-\x7E]+}i;
           sub breakurl {
               my $self = shift;
               my $str = shift;
               return split m{(?<=[/]) (?=[^/]) |
                              (?<=[^-.]) (?=[-~.,_?\#%=&]) |
                              (?<=[=&]) (?=.)}x, $str;
           }
           my $lb = Unicode::LineBreak->new(Prep => [$url, \&breakurl]);
           $output = $lb->break($string);

       XXXXX

       Unicode::LineBreak XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX

       XXXXXXXXXXXXXXXXXXXXX

           sub paraformat {
               my $self = shift;
               my $action = shift;
               my $str = shift;

               if ($action eq 'sot' or $action eq 'sop') {
                   $self->{'line'} = '';
               } elsif ($action eq '') {
                   $self->{'line'} = $str;
               } elsif ($action eq 'eol') {
                   return "\n";
               } elsif ($action eq 'eop') {
                   if (length $self->{'line'}) {
                       return "\n\n";
                   } else {
                       return "\n";
                   }
               } elsif ($action eq 'eot') {
                   return "\n";
               }
               return undef;
           }
           my $lb = Unicode::LineBreak->new(Format => \&paraformat);
           $output = $lb->break($string);

   XXXXXXX
       "Sizing" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 XXXXXXXXXXXXXXXX

           $XX = &XXXXXX(SELF, LEN, PRE, SPC, STR);

       SELF X Unicode::LineBreak XXXXXXXLEN XXXXXXXXXXXXPRE XXXXX Unicode XXXXSPC XXXXXXXXXXXSTR
       XXXXX Unicode XXXX

       XXXXXXX "PRE.SPC.STR" XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX"ColMin" XXXXXXXX
       "ColMax" XXXXXXXXXXXXXXXXXXXXXX

       XX: XXXXXXXXXXXXXXXXXXXXXXX Unicode::GCString~[ja] XXX

       XXXXXXXXXXXXX 8 XXXXXXXXXXXXXXXXXXXXXXX

           sub tabbedsizing {
               my ($self, $cols, $pre, $spc, $str) = @_;

               my $spcstr = $spc.$str;
               while ($spcstr->lbc == LB_SP) {
                   my $c = $spcstr->item(0);
                   if ($c eq "\t") {
                       $cols += 8 - $cols % 8;
                   } else {
                       $cols += $c->columns;
                   }
                   $spcstr = $spcstr->substr(1);
               }
               $cols += $spcstr->columns;
               return $cols;
           };
           my $lb = Unicode::LineBreak->new(LBClass => [ord("\t") => LB_SP],
                                            Sizing => \&tabbedsizing);
           $output = $lb->break($string);

   XXXXXXXXX
       "LBClass" XXXXXXXX "EAWidth" XXXXXXXXXXXXXXXXX (XX) X East_Asian_Width
       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

       XXXXX

       XXXXXXXXXXX

       XXXXXXXXXXXXXXXXXXXXXXXXXXX (NS XXX CJ) XXXX XXXXX LBClass XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
       (ID) XXXXX

       "KANA_NONSTARTERS() => LB_ID"
           XXXXXXXXX

       "IDEOGRAPHIC_ITERATION_MARKS() => LB_ID"
           XXXXXXXXXXXXX U+3005 XXXXXXU+303B XXXXXU+309D XXXXXXXXXU+309E XXXXXXXX (XX)XU+30FD
           XXXXXXXXXU+30FE XXXXXXXX (XX)X

           XXXXXXXXXXXXXX

       "KANA_SMALL_LETTERS() => LB_ID"
       "KANA_PROLONGED_SOUND_MARKS() => LB_ID"
           XXXXXX XXXXXX U+3041 X, U+3043 X, U+3045 X, U+3047 X, U+3049 X, U+3063 X, U+3083 X,
           U+3085 X, U+3087 X, U+308E X, U+3095 X, U+3096 XX XXXXXX U+30A1 X, U+30A3 X, U+30A5 X,
           U+30A7 X, U+30A9 X, U+30C3 X, U+30E3 X, U+30E5 X, U+30E7 X, U+30EE X, U+30F5 X, U+30F6
           XX XXXXXXX U+31F0 X - U+31FF XX XXXXXX (XXXX) U+FF67 X - U+FF6F XX

           XXXXX U+30FC XXXXXU+FF70 XXXX (XXXX)X

           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[JIS X 4051] 6.1.1X[JLREQ] 3.1.7 X
           [UAX14] XXXX

           XXU+3095 X, U+3096 X, U+30F5 X, U+30F6 X XXXXXXXXXXXX

       "MASU_MARK() => LB_ID"
           U+303C XXXXX

           XXXXXXXXXXXXXXXXX "XX" X "XX" XXXXXXXXXXXX

           XXXXXXX [UAX #14] XXXXXXXX (NS) XXXXXXXX[JIS X 4051] X [JLREQ] XXXXXXX (13) X cl-19
           (ID XXX) XXXXXXX

       XXXXXX

       XXXXXXXXXXXXXXXXXX (QU) XXXX

       "BACKWARD_QUOTES() => LB_OP, FORWARD_QUOTES() => LB_CL"
           XXXX (XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX) XXXXXXXX 9 XXXXXXXXXXX (X X)
           XXXXXXX 9 XXXXXXX (X X) XXXXX

       "FORWARD_QUOTES() => LB_OP, BACKWARD_QUOTES() => LB_CL"
           XXXXX (XXXXXXXXXXXXXXXX) XXX9 XXXXXXX (X X) XXXXXXX9 XXXXXXXXXXX (X X) XXXXXXXXXX

       "BACKWARD_GUILLEMETS() => LB_OP, FORWARD_GUILLEMETS() => LB_CL"
           XXXXXXXXXXXXXXXXXXXXXXXXXXXX (X X) XXXXXXXXXXXXXX (X X) XXXXXXXXXX

       "FORWARD_GUILLEMETS() => LB_OP, BACKWARD_GUILLEMETS() => LB_CL"
           XXXXXXXXXXXXXXXXXXXXX (X X) XXXXXXXXXXXXXX (X X) XXXXXXXXXX

       XXXXXXXXXXXXXXXXXXXXXXXXXXX9 XXXXXXXX XXXXXXX (X X X X) XXXXXXXXXXXXXXXXX

       XXXX

       "IDEOGRAPHIC_SPACE() => LB_BA"
           U+3000 XXXXXXXXXXXXXXXXX XXXXXXXXXXXX

       "IDEOGRAPHIC_SPACE() => LB_ID"
           XXXXXXXXXXXXXXXX Unicode 6.2XXXXXXXXXXXXXXXX

       "IDEOGRAPHIC_SPACE() => LB_SP"
           XXXXXXXXXXXXXXXXXXXXXXXXX

       East_Asian_Width XX

       XXXXXXXXXXXXXXXXXXXXXXXXXXXX (A) X East_Asian_Width XXXXXXXXXXXXXXXXXXXXXX "EASTASIAN"
       XXXXXXXXXXXXX "EAWidth => [ AMBIGUOUS_"*"() => EA_N ]" XXXXXXXXXXXXXXXXXXXXXXXXXXX

       "AMBIGUOUS_ALPHABETICS() => EA_N"
           XXXXXXXXX East_Asian_Width XX N (XX) XXXXXXX

       "AMBIGUOUS_CYRILLIC() => EA_N"
       "AMBIGUOUS_GREEK() => EA_N"
       "AMBIGUOUS_LATIN() => EA_N"
           XX (A) XXXXXXXXXXXXXXXXXXXXXXXXXX (N) XXXXXXX

       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUnicode XXXXXX (F) XXXXXXXXXXXXXX (Na)
       XXXXXXXXXXXXXXXXEAWidth XXXXXXXXXXXXXXXXXXXXXXXXXXX "EASTASIAN" XXXXXXXXXXXX

       "QUESTIONABLE_NARROW_SIGNS() => EA_A"
           U+00A2 XXXXXXU+00A3 XXXXXXU+00A5 XXX (XXXXXX)XU+00A6 XXXXU+00AC XXXU+00AF XXXXX

   XXXXXX
       "new" XXXXXXX "config" XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX
       Unicode/LineBreak/Defaults.pmX XXX Unicode/LineBreak/Defaults.pm.sample XXXXXXXX

BUGS

       XXXXXXXXXXXXXXXXXXXXXXXXX

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

VERSION

       $VERSION XXXXXXXXXXX

   XXXXXX
       2012.06
           •   eawidth() XXXXXXXXXX XXXX "columns" in Unicode::GCString XXXXXXXXXXX

           •   lbclass() XXXXXXXXXX "lbc" in Unicode::GCString X "lbcext" in Unicode::GCString
               XXXXXXXX

   XXXXXXX
       XXXXXXXXXXXXXXXXXXXXXUnicode XX 6.3.0XXXXX

       XXXXXXXXXXXXXX UAX14-C2 XXXXXXXXXXX

IMPLEMENTATION NOTES

       •   XXXXXXXXXXXX NS XXXXXX ID XXXXXXXXXXX

       •   XXXXXXXXXXXXXXXXXXX ID XXXXXX AL XXXXXXXXXXX

       •   AI XXXXXXXXX AL X ID XXXXXXXXXXXXXXX

       •   CB XXXXXXXXXXXXXXX

       •   CJ XXXXXXXXXXX NS XXXXXXXXXXXXXXXXXXXXXXXX

       •   XXXXXXXXXXXXXXXXXXXXXXXXX SA XXXXXXXXX AL XXXXXX XXXXGrapheme_Cluster_Break XXXXX
           Extend X SpacingMark XXXXXX CM XXXXXX

       •   SG X XX XXXXXXXXX AL XXXXXX

       •   XXX UCS XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

               XX               | UAX #14    | UAX #11    | XX
               -------------------------------------------------------------
               U+20A0..U+20CF     | PR [*1]    | N [*2]     | XXXX
               U+3400..U+4DBF     | ID         | W          | CJKXX
               U+4E00..U+9FFF     | ID         | W          | CJKXX
               U+D800..U+DFFF     | AL (SG)    | N          | XXXXX
               U+E000..U+F8FF     | AL (XX)    | F X N (A) | XXXX
               U+F900..U+FAFF     | ID         | W          | CJKXX
               U+20000..U+2FFFD   | ID         | W          | CJKXX
               U+30000..U+3FFFD   | ID         | W          | XXX
               U+F0000..U+FFFFD   | AL (XX)    | F X N (A) | XXXX
               U+100000..U+10FFFD | AL (XX)    | F X N (A) | XXXX
               XXXXXXXX   | AL (XX)    | N          | XXXXXX
                                  |            |            | XXXXXX
               -------------------------------------------------------------
               [*1] U+20A7 XXXXX (PO)XU+20B6 XXXXXXXXXXX
                 (PO) XXXX
               [*2] U+20A9 XXXXX (H)XU+20AC XXXXX (F X N (A)) X
                 XXX

       •   XXXXXXXXX MnXMeXCcXCfXZlXZp XXXXXXXXXXXXXXXXXXXXXXXXXX

REFERENCES

       [CMOS]
           The Chicago Manual of Style, 15th edition.  University of Chicago Press, 2003.

       [JIS X 4051]
           JIS X 4051:2004 XXXXXXXXXX.  XXXXXX, 2004.

       [JLREQ]
           XXXXX.  XXXXXXXXXX, W3C XXXXX 2012X4X3X.
           <http://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/>.

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

       [UAX #14]
           A. Freytag and A. Heninger (eds.) (2008-2013).  Unicode Standard Annex #14: Unicode
           Line Breaking Algorithm, Revisions 22-32.  <http://unicode.org/reports/tr14/>.

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

SEE ALSO

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

AUTHOR

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