line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
#-*- perl -*- |
2
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
package Unicode::LineBreak; |
4
|
|
|
|
|
|
|
|
5
|
21
|
|
|
21
|
|
150
|
use constant { M => 4, D => 3, I => 2, P => 1,}; |
|
21
|
|
|
|
|
45
|
|
|
21
|
|
|
|
|
2193
|
|
6
|
21
|
|
|
|
|
2172
|
use constant { MANDATORY => M, DIRECT => D, INDIRECT => I, PROHIBITED => P, |
7
|
21
|
|
|
21
|
|
145
|
URGENT => 200,}; |
|
21
|
|
|
|
|
40
|
|
8
|
|
|
|
|
|
|
|
9
|
21
|
|
|
|
|
4416
|
use constant { ALLOW_BEFORE => 2, PROHIBIT_BEFORE => 1, |
10
|
|
|
|
|
|
|
BREAK_BEFORE => 2, # deprecated. |
11
|
21
|
|
|
21
|
|
142
|
FLAGS => (2 | 1) }; |
|
21
|
|
|
|
|
41
|
|
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
use constant { |
14
|
21
|
|
|
|
|
3863
|
AMBIGUOUS_CYRILLIC => [0x0401, 0x0410..0x044F, 0x0451, ], |
15
|
|
|
|
|
|
|
AMBIGUOUS_GREEK => [0x0391..0x03A9, 0x03B1..0x03C1, 0x03C3..0x03C9, ], |
16
|
|
|
|
|
|
|
AMBIGUOUS_LATIN => [0x00C6, 0x00D0, 0x00D8, 0x00DE, 0x00DF, 0x00E0, |
17
|
|
|
|
|
|
|
0x00E1, 0x00E6, 0x00E8, 0x00E9, 0x00EA, 0x00EC, 0x00ED, 0x00F0, |
18
|
|
|
|
|
|
|
0x00F2, 0x00F3, 0x00F8, 0x00F9, 0x00FA, 0x00FC, 0x00FE, 0x0101, |
19
|
|
|
|
|
|
|
0x0111, 0x0113, 0x011B, 0x0126, 0x0127, 0x012B, 0x0131, 0x0132, |
20
|
|
|
|
|
|
|
0x0133, 0x0138, 0x013F, 0x0140, 0x0141, 0x0142, 0x0144, 0x0148, |
21
|
|
|
|
|
|
|
0x0149, 0x014A, 0x014B, 0x014D, 0x0152, 0x0153, 0x0166, 0x0167, |
22
|
|
|
|
|
|
|
0x016B, 0x01CE, 0x01D0, 0x01D2, 0x01D4, 0x01D6, 0x01D8, 0x01DA, |
23
|
|
|
|
|
|
|
0x01DC, 0x0251, 0x0261, ], |
24
|
|
|
|
|
|
|
IDEOGRAPHIC_ITERATION_MARKS => [0x3005, 0x303B, 0x309D, 0x309E, 0x30FD, |
25
|
|
|
|
|
|
|
0x30FE, ], |
26
|
|
|
|
|
|
|
KANA_PROLONGED_SOUND_MARKS => [0x30FC, 0xFF70, ], |
27
|
|
|
|
|
|
|
KANA_SMALL_LETTERS => [0x3041, 0x3043, 0x3045, 0x3047, 0x3049, 0x3063, |
28
|
|
|
|
|
|
|
0x3083, 0x3085, 0x3087, 0x308E, |
29
|
|
|
|
|
|
|
0x3095, 0x3096, |
30
|
|
|
|
|
|
|
0x30A1, 0x30A3, 0x30A5, 0x30A7, 0x30A9, 0x30C3, |
31
|
|
|
|
|
|
|
0x30E3, 0x30E5, 0x30E7, 0x30EE, |
32
|
|
|
|
|
|
|
0x30F5, 0x30F6, |
33
|
|
|
|
|
|
|
0x31F0..0x31FF, 0xFF67..0xFF6F, ], |
34
|
|
|
|
|
|
|
MASU_MARK => [0x303C, ], |
35
|
|
|
|
|
|
|
QUESTIONABLE_NARROW_SIGNS => [0x00A2, 0x00A3, 0x00A5, 0x00A6, 0x00AC, |
36
|
|
|
|
|
|
|
0x00AF, ], |
37
|
21
|
|
|
21
|
|
145
|
}; |
|
21
|
|
|
|
|
44
|
|
38
|
|
|
|
|
|
|
use constant { |
39
|
|
|
|
|
|
|
AMBIGUOUS_ALPHABETICS => [ |
40
|
21
|
|
|
|
|
51
|
@{AMBIGUOUS_CYRILLIC()}, @{AMBIGUOUS_GREEK()}, |
|
21
|
|
|
|
|
81
|
|
41
|
21
|
|
|
|
|
377
|
@{AMBIGUOUS_LATIN()}, ], |
42
|
|
|
|
|
|
|
KANA_NONSTARTERS => [ |
43
|
21
|
|
|
|
|
62
|
@{IDEOGRAPHIC_ITERATION_MARKS()}, @{KANA_PROLONGED_SOUND_MARKS()}, |
|
21
|
|
|
|
|
49
|
|
44
|
21
|
|
|
|
|
56
|
@{KANA_SMALL_LETTERS()}, @{MASU_MARK()}, ] |
|
21
|
|
|
|
|
50
|
|
|
21
|
|
|
|
|
1962
|
|
45
|
21
|
|
|
21
|
|
148
|
}; |
|
21
|
|
|
|
|
47
|
|
46
|
|
|
|
|
|
|
use constant { |
47
|
21
|
|
|
|
|
2088
|
BACKWORD_GUILLEMETS => [ |
48
|
|
|
|
|
|
|
0x00AB, 0x2039, ], |
49
|
|
|
|
|
|
|
FORWARD_GUILLEMETS => [ |
50
|
|
|
|
|
|
|
0x00BB, 0x203A, ], |
51
|
|
|
|
|
|
|
BACKWORD_QUOTES => [ |
52
|
|
|
|
|
|
|
0x2018, 0x201C, ], |
53
|
|
|
|
|
|
|
FORWARD_QUOTES => [ |
54
|
|
|
|
|
|
|
0x2019, 0x201D, ], |
55
|
21
|
|
|
21
|
|
144
|
}; |
|
21
|
|
|
|
|
40
|
|
56
|
|
|
|
|
|
|
# obsoleted names. |
57
|
|
|
|
|
|
|
use constant { |
58
|
21
|
|
|
|
|
1822
|
LEFT_GUILLEMETS => BACKWORD_GUILLEMETS(), |
59
|
|
|
|
|
|
|
RIGHT_GUILLEMETS => FORWARD_GUILLEMETS(), |
60
|
|
|
|
|
|
|
LEFT_QUOTES => BACKWORD_QUOTES(), |
61
|
|
|
|
|
|
|
RIGHT_QUOTES => FORWARD_QUOTES(), |
62
|
21
|
|
|
21
|
|
143
|
}; |
|
21
|
|
|
|
|
51
|
|
63
|
|
|
|
|
|
|
|
64
|
|
|
|
|
|
|
use constant { |
65
|
21
|
|
|
|
|
1064
|
IDEOGRAPHIC_SPACE => [ 0x3000, ], |
66
|
21
|
|
|
21
|
|
142
|
}; |
|
21
|
|
|
|
|
40
|
|
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
1; |