forked from testerUse21/kanatools-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKanaAppraiser_3.java
More file actions
232 lines (190 loc) · 7.44 KB
/
KanaAppraiser_3.java
File metadata and controls
232 lines (190 loc) · 7.44 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
package com.mariten.kanatools;
/**
* Confirms whether a given character is amongst certain types of Japanese text or not.
*/
public class KanaAppraiser
{
// Character set lower/upper bound definitions
//// Bounds for Hiragana
public static final char ZENKAKU_HIRAGANA_FIRST = 'ぁ'; // U+3041
public static final char ZENKAKU_HIRAGANA_LAST_FOR_CONVERT = 'ん'; // U+3093
public static final char ZENKAKU_HIRAGANA_LAST = 'ゖ'; // U+3096
//// Bounds for Katakana
public static final char HANKAKU_KATAKANA_FIRST = 'ヲ'; // U+FF66
public static final char HANKAKU_KATAKANA_LAST = 'ン'; // U+FF9D
public static final char ZENKAKU_KATAKANA_FIRST = 'ァ'; // U+30A1
public static final char ZENKAKU_KATAKANA_LAST_FOR_CONVERT = 'ン'; // U+30F3
public static final char ZENKAKU_KATAKANA_LAST = 'ヺ'; // U+30FA
//// Bounds for Punctuation (kutoten)
public static final char HANKAKU_PUNCTUATION_FIRST = '。'; // U+FF61
public static final char HANKAKU_PUNCTUATION_LAST = '゚'; // U+FF9F
public static final char HANKAKU_PUNCTUATION_ONBIKI = 'ー'; // U+FF70
public static final char ZENKAKU_PUNCTUATION_FIRST = '、'; // U+3001
public static final char ZENKAKU_PUNCTUATION_LAST = '〜'; // U+301C
public static final char ZENKAKU_PUNCTUATION_HG_FIRST = '゛'; // U+309B
public static final char ZENKAKU_PUNCTUATION_HG_LAST = 'ゞ'; // U+309E
public static final char ZENKAKU_PUNCTUATION_KK_FIRST = '・'; // U+30FB
public static final char ZENKAKU_PUNCTUATION_KK_LAST = 'ヾ'; // U+30FE
//// Bounds for Numeric
public static final char HANKAKU_NUMBER_FIRST = '0'; // U+0030
public static final char HANKAKU_NUMBER_LAST = '9'; // U+0039
public static final char ZENKAKU_NUMBER_FIRST = '0'; // U+FF10
public static final char ZENKAKU_NUMBER_LAST = '9'; // U+FF19
//// Bounds for Alphabetic
public static final char HANKAKU_LETTER_UPPER_FIRST = 'A'; // U+0041
public static final char HANKAKU_LETTER_UPPER_LAST = 'Z'; // U+005A
public static final char HANKAKU_LETTER_LOWER_FIRST = 'a'; // U+0061
public static final char HANKAKU_LETTER_LOWER_LAST = 'z'; // U+007A
public static final char ZENKAKU_LETTER_UPPER_FIRST = 'A'; // U+FF21
public static final char ZENKAKU_LETTER_UPPER_LAST = 'Z'; // U+FF3A
public static final char ZENKAKU_LETTER_LOWER_FIRST = 'a'; // U+FF41
public static final char ZENKAKU_LETTER_LOWER_LAST = 'z'; // U+FF5A
// Bounds for All Alphanumeric and Symbol ASCII
public static final char HANKAKU_SPACE = ' '; // U+0020
public static final char HANKAKU_ASCII_FIRST = '!'; // U+0021
public static final char HANKAKU_ASCII_LAST = '~'; // U+007E
public static final char ZENKAKU_SPACE = ' '; // U+3000
public static final char ZENKAKU_ASCII_FIRST = '!'; // U+FF01
public static final char ZENKAKU_ASCII_LAST = '~'; // U+FF5E
//{{{ boolean isZenkakuHiragana(char)
public static boolean isZenkakuHiragana(char eval_char)
{
if(eval_char >= ZENKAKU_HIRAGANA_FIRST
&& eval_char <= ZENKAKU_HIRAGANA_LAST) {
return true;
}
return false;
}
//}}}
//{{{ boolean isZenkakuHiraganaWithKatakanaEquivalent(char)
public static boolean isZenkakuHiraganaWithKatakanaEquivalent(char eval_char)
{
if(eval_char >= ZENKAKU_HIRAGANA_FIRST
&& eval_char <= ZENKAKU_HIRAGANA_LAST_FOR_CONVERT) {
return true;
}
return false;
}
//}}}
//{{{ boolean isHankakuKatakana(char)
public static boolean isHankakuKatakana(char eval_char)
{
if(eval_char >= HANKAKU_KATAKANA_FIRST
&& eval_char <= HANKAKU_KATAKANA_LAST
&& eval_char != HANKAKU_PUNCTUATION_ONBIKI) {
return true;
}
return false;
}
//}}}
//{{{ boolean isZenkakuKatakana(char)
public static boolean isZenkakuKatakana(char eval_char)
{
if(eval_char >= ZENKAKU_KATAKANA_FIRST
&& eval_char <= ZENKAKU_KATAKANA_LAST) {
return true;
}
return false;
}
//}}}
//{{{ boolean isZenkakuKatakanaWithHiraganaEquivalent(char)
public static boolean isZenkakuKatakanaWithHiraganaEquivalent(char eval_char)
{
if(eval_char >= ZENKAKU_KATAKANA_FIRST
&& eval_char <= ZENKAKU_KATAKANA_LAST_FOR_CONVERT) {
return true;
}
return false;
}
//}}}
//{{{ boolean isHankakuKutoten(char)
public static boolean isHankakuKutoten(char eval_char)
{
if(eval_char >= HANKAKU_PUNCTUATION_FIRST
&& eval_char <= HANKAKU_PUNCTUATION_LAST
&& !isHankakuKatakana(eval_char)) {
return true;
}
return false;
}
//}}}
//{{{ boolean isZenkakuKutoten(char)
public static boolean isZenkakuKutoten(char eval_char)
{
if((eval_char >= ZENKAKU_PUNCTUATION_FIRST && eval_char <= ZENKAKU_PUNCTUATION_LAST)
|| (eval_char >= ZENKAKU_PUNCTUATION_HG_FIRST && eval_char <= ZENKAKU_PUNCTUATION_HG_LAST)
|| (eval_char >= ZENKAKU_PUNCTUATION_KK_FIRST && eval_char <= ZENKAKU_PUNCTUATION_KK_LAST)) {
return true;
}
return false;
}
//}}}
//{{{ boolean isHankakuNumber(char)
public static boolean isHankakuNumber(char eval_char)
{
if(eval_char >= HANKAKU_NUMBER_FIRST
&& eval_char <= HANKAKU_NUMBER_LAST) {
return true;
}
return false;
}
//}}}
//{{{ boolean isZenkakuNumber(char)
public static boolean isZenkakuNumber(char eval_char)
{
if(eval_char >= ZENKAKU_NUMBER_FIRST
&& eval_char <= ZENKAKU_NUMBER_LAST) {
return true;
}
return false;
}
//}}}
//{{{ boolean isHankakuLetter(char)
public static boolean isHankakuLetter(char eval_char)
{
if(eval_char >= HANKAKU_LETTER_UPPER_FIRST
&& eval_char <= HANKAKU_LETTER_UPPER_LAST) {
return true;
}
if(eval_char >= HANKAKU_LETTER_LOWER_FIRST
&& eval_char <= HANKAKU_LETTER_LOWER_LAST) {
return true;
}
return false;
}
//}}}
//{{{ boolean isZenkakuLetter(char)
public static boolean isZenkakuLetter(char eval_char)
{
if(eval_char >= ZENKAKU_LETTER_UPPER_FIRST
&& eval_char <= ZENKAKU_LETTER_UPPER_LAST) {
return true;
}
if(eval_char >= ZENKAKU_LETTER_LOWER_FIRST
&& eval_char <= ZENKAKU_LETTER_LOWER_LAST) {
return true;
}
return false;
}
//}}}
//{{{ boolean isHankakuAscii(char)
public static boolean isHankakuAscii(char eval_char)
{
if(eval_char >= HANKAKU_ASCII_FIRST
&& eval_char <= HANKAKU_ASCII_LAST) {
return true;
}
return false;
}
//}}}
//{{{ boolean isZenkakuAscii(char)
public static boolean isZenkakuAscii(char eval_char)
{
if(eval_char >= ZENKAKU_ASCII_FIRST
&& eval_char <= ZENKAKU_ASCII_LAST) {
return true;
}
return false;
}
//}}}
}