forked from Ladicle/tcardgen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
character.go
49 lines (40 loc) · 1.38 KB
/
character.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
package canvas
// This code is inspired by https://gist.github.com/bumcru/729632c7587f16c69d40a878c0bde750.
var (
spaceCharTable = map[rune]interface{}{
'\n': nil, '\t': nil, '\v': nil, ' ': nil, ' ': nil,
}
startBracketTable = map[rune]interface{}{
'(': nil, '{': nil, '[': nil, '<': nil,
'「': nil, '『': nil, '(': nil, '{': nil, '【': nil, '<': nil, '≪': nil, '[': nil,
}
endCharTable = map[rune]interface{}{
'、': nil, '。': nil, '.': nil, ',': nil,
'ぁ': nil, 'ぃ': nil, 'ぅ': nil, 'ぇ': nil, 'ぉ': nil,
'っ': nil, 'ゃ': nil, 'ゅ': nil, 'ょ': nil,
'ァ': nil, 'ィ': nil, 'ゥ': nil, 'ェ': nil, 'ォ': nil,
'ッ': nil, 'ャ': nil, 'ュ': nil, 'ョ': nil,
'ァ': nil, 'ィ': nil, 'ゥ': nil, 'ェ': nil, 'ォ': nil,
'ッ': nil, 'ャ': nil, 'ュ': nil, 'ョ': nil,
')': nil, '}': nil, ']': nil, '>': nil,
'」': nil, '』': nil, ')': nil, '}': nil, '】': nil, '>': nil, '≫': nil, ']': nil,
'・': nil, 'ー': nil, '―': nil, '-': nil,
':': nil, ';': nil, '/': nil, '/': nil,
'ゝ': nil, '々': nil, '!': nil, '?': nil, '!': nil, '?': nil,
}
)
func spaceChar(r rune) bool {
_, ok := spaceCharTable[r]
return ok
}
func oneByteChar(r rune) bool {
return len(string(r)) == 1
}
func startBracket(r rune) bool {
_, ok := startBracketTable[r]
return ok
}
func endChar(r rune) bool {
_, ok := endCharTable[r]
return ok
}