/
lbo-rules.go
83 lines (78 loc) · 1.36 KB
/
lbo-rules.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// Copyright (C) 2023 Takayuki Sato. All Rights Reserved.
// This program is free software under MIT License.
// See the file LICENSE in this distribution for more details.
package linebreak
var lboBreaks = []rune{
0x0a, // LF
0x0d, // CR
}
// https://en.wikipedia.org/wiki/Line_breaking_rules_in_East_Asian_languages
var lboBefores = []rune{
0x0028, // (
0x005B, // [
0x007B, // {
0x00AB, // «
0x3008, // 〈
0x300A, // 《
0x300C, // 「
0x300E, // 『
0x3010, // 【
0x3014, // 〔
0x3016, // 〖
0x3018, // 〘
0x301D, // 〝
0xFF5F, // ⦅
}
var lboAfters = []rune{
0x0021, // !
0x0029, // )
0x002C, // ,
0x002E, // .
0x002F, // /
0x003A, // :
0x003B, // ;
0x003F, // ?
0x30A0, // ゠
0x30A1, // ァ
0x30A3, // ィ
0x30A5, // ゥ
0x30A7, // ェ
0x30A9, // ォ
0x30C3, // ッ
0x30E3, // ャ
0x30E5, // ュ
0x30E7, // ョ
0x30EE, // ヮ
0x30F5, // ヵ
0x30F6, // ヶ
0x3041, // ぁ
0x3043, // ぃ
0x3045, // ぅ
0x3047, // ぇ
0x3049, // ぉ
0x3063, // っ
0x3083, // ゃ
0x3085, // ゅ
0x3087, // ょ
0x308E, // ゎ
0x3095, // ゕ
0x3096, // ゖ
0x30FC, // ー
0x3001, // 、
0x3002, // 。
0x3005, // 々
0x3008, // 〈
0x3009, // 〉
0x300A, // 《
0x300B, // 》
0x300C, // 「
0x300D, // 」
0x300E, // 』
0x300F, // 】
0x3015, // 〕
0x3017, // 〗
0x3019, // 〙
0x301F, // 〟
0xFF09, // )
0xFF5D, // }
}