@@ -16,27 +16,79 @@ $hanKakuB = 'ーアイウエオカキクケコサシスセソ';
16
16
$ hanKakuC = 'タチツテトナニヌネノハヒフヘホマ ' ;
17
17
$ hanKakuD = 'ミムメモヤユヨラリルレロワン゙゚ ' ;
18
18
19
+ echo $ zenKakuA . ' => ' . mb_convert_kana ($ zenKakuA , 'AZKH ' , 'utf-8 ' ), "\n" ;
20
+ echo $ zenKakuB . ' => ' . mb_convert_kana ($ zenKakuB , 'azkh ' , 'utf-8 ' ), "\n" ;
21
+ echo $ zenKakuC . ' => ' . mb_convert_kana ($ zenKakuC , 'azkh ' , 'utf-8 ' ), "\n" ;
22
+ echo $ zenKakuD . ' => ' . mb_convert_kana ($ zenKakuD , 'azkh ' , 'utf-8 ' ), "\n" ;
23
+ echo $ zenKakuE . ' => ' . mb_convert_kana ($ zenKakuE , 'azkh ' , 'utf-8 ' ), "\n" ;
24
+ echo $ zenKakuF . ' => ' . mb_convert_kana ($ zenKakuF , 'azkh ' , 'utf-8 ' ), "\n\n" ;
19
25
20
- echo $ zenKakuA . ' => ' . mb_convert_kana ($ zenKakuA , 'AZKH ' , 'utf-8 ' );
21
- echo "\n" ;
22
- echo $ zenKakuB . ' => ' . mb_convert_kana ($ zenKakuB , 'azkh ' , 'utf-8 ' );
23
- echo "\n" ;
24
- echo $ zenKakuC . ' => ' . mb_convert_kana ($ zenKakuC , 'azkh ' , 'utf-8 ' );
25
- echo "\n" ;
26
- echo $ zenKakuD . ' => ' . mb_convert_kana ($ zenKakuD , 'azkh ' , 'utf-8 ' );
27
- echo "\n" ;
28
- echo $ zenKakuE . ' => ' . mb_convert_kana ($ zenKakuE , 'azkh ' , 'utf-8 ' );
29
- echo "\n" ;
30
- echo $ zenKakuF . ' => ' . mb_convert_kana ($ zenKakuF , 'azkh ' , 'utf-8 ' );
31
- echo "\n" ;
32
- echo "\n" ;
33
- echo $ hanKakuA . ' => ' . mb_convert_kana ($ hanKakuA , 'AZKH ' , 'utf-8 ' );
34
- echo "\n" ;
35
- echo $ hanKakuB . ' => ' . mb_convert_kana ($ hanKakuB , 'AZKH ' , 'utf-8 ' );
36
- echo "\n" ;
37
- echo $ hanKakuC . ' => ' . mb_convert_kana ($ hanKakuC , 'AZKH ' , 'utf-8 ' );
38
- echo "\n" ;
39
- echo $ hanKakuD . ' => ' . mb_convert_kana ($ hanKakuD , 'AZKH ' , 'utf-8 ' );
26
+ echo $ hanKakuA . ' => ' . mb_convert_kana ($ hanKakuA , 'AZKH ' , 'utf-8 ' ), "\n" ;
27
+ echo $ hanKakuB . ' => ' . mb_convert_kana ($ hanKakuB , 'AZKH ' , 'utf-8 ' ), "\n" ;
28
+ echo $ hanKakuC . ' => ' . mb_convert_kana ($ hanKakuC , 'AZKH ' , 'utf-8 ' ), "\n" ;
29
+ echo $ hanKakuD . ' => ' . mb_convert_kana ($ hanKakuD , 'AZKH ' , 'utf-8 ' ), "\n\n" ;
30
+
31
+ echo "Convert ASCII letter to full-width: A -> " , bin2hex (mb_convert_kana ("\x00A " , 'A ' , 'UTF-16BE ' )), "\n" ;
32
+ echo "Convert ASCII letter to full-width: A -> " , bin2hex (mb_convert_kana ("\x00A " , 'R ' , 'UTF-16BE ' )), "\n" ;
33
+ echo "Convert ASCII numeral to full-width: 1 -> " , bin2hex (mb_convert_kana ("\x001 " , 'N ' , 'UTF-16BE ' )), "\n" ;
34
+ echo "Convert ASCII space to full-width: " , bin2hex (mb_convert_kana ("\x00 " , 'S ' , 'UTF-16BE ' )), "\n\n" ;
35
+
36
+ echo "Convert hankaku kana to zenkaku kana: \n" ;
37
+ echo "Using 'glue' mode: \n" ;
38
+ echo bin2hex (mb_convert_kana ("\xFF\x76\xFF\x9E" , 'KV ' , 'UTF-16BE ' )), "\n" ;
39
+ echo bin2hex (mb_convert_kana ("\xFF\x73\xFF\x9E" , 'KV ' , 'UTF-16BE ' )), "\n" ;
40
+ echo bin2hex (mb_convert_kana ("\xFF\x8A\xFF\x9F" , 'KV ' , 'UTF-16BE ' )), "\n" ;
41
+ echo bin2hex (mb_convert_kana ("\xFF\x8A\x00A " , 'KV ' , 'UTF-16BE ' )), "\n" ;
42
+ echo bin2hex (mb_convert_kana ("\xFF\x76\xFF\x9E" , 'HV ' , 'UTF-16BE ' )), "\n" ;
43
+ echo bin2hex (mb_convert_kana ("\xFF\x8A\xFF\x9F" , 'HV ' , 'UTF-16BE ' )), "\n" ;
44
+ echo bin2hex (mb_convert_kana ("\xFF\x8A\x00A " , 'HV ' , 'UTF-16BE ' )), "\n" ;
45
+ echo "Not using 'glue' mode: \n" ;
46
+ echo bin2hex (mb_convert_kana ("\xFF\x70" , 'K ' , 'UTF-16BE ' )), "\n" ;
47
+ echo bin2hex (mb_convert_kana ("\xFF\x70" , 'H ' , 'UTF-16BE ' )), "\n\n" ;
48
+
49
+ echo "Convert selected punctuation/symbols to full-width and back: \n" ;
50
+ echo bin2hex (mb_convert_kana ("\x00\x5C\x00\xA5\x00\x7E\x20\x3E\x00\x27\x00\x22" , 'M ' , 'UTF-16BE ' )), "\n" ;
51
+ echo bin2hex (mb_convert_kana ("\xFF\xE5\xFF\x3C\xFF\xE3\x20\x3E\x20\x18\x20\x19\x20\x1C\x20\x1D" , 'm ' , 'UTF-16BE ' )), "\n\n" ;
52
+
53
+ echo "Convert various full-width characters to half-width: \n" ;
54
+ echo bin2hex (mb_convert_kana ("\xFF\x01" , 'a ' , 'UTF-16BE ' )), "\n" ;
55
+ echo bin2hex (mb_convert_kana ("\xFF\x21" , 'r ' , 'UTF-16BE ' )), "\n" ;
56
+ echo bin2hex (mb_convert_kana ("\xFF\x10" , 'n ' , 'UTF-16BE ' )), "\n" ;
57
+ echo bin2hex (mb_convert_kana ("\x30\x00" , 's ' , 'UTF-16BE ' )), "\n" ;
58
+ echo bin2hex (mb_convert_kana ("\x22\x12" , 'a ' , 'UTF-16BE ' )), "\n\n" ;
59
+
60
+ echo "Convert full-width kana to half-width: \n" ;
61
+ echo bin2hex (mb_convert_kana ("\x30\x41" , 'h ' , 'UTF-16BE ' )), "\n" ;
62
+ echo bin2hex (mb_convert_kana ("\x30\x01" , 'h ' , 'UTF-16BE ' )), "\n" ;
63
+ echo bin2hex (mb_convert_kana ("\x30\x02" , 'h ' , 'UTF-16BE ' )), "\n" ;
64
+ echo bin2hex (mb_convert_kana ("\x30\x0C" , 'h ' , 'UTF-16BE ' )), "\n" ;
65
+ echo bin2hex (mb_convert_kana ("\x30\x0D" , 'h ' , 'UTF-16BE ' )), "\n" ;
66
+ echo bin2hex (mb_convert_kana ("\x30\x9B" , 'h ' , 'UTF-16BE ' )), "\n" ;
67
+ echo bin2hex (mb_convert_kana ("\x30\x9C" , 'h ' , 'UTF-16BE ' )), "\n" ;
68
+ echo bin2hex (mb_convert_kana ("\x30\xFC" , 'h ' , 'UTF-16BE ' )), "\n" ;
69
+ echo bin2hex (mb_convert_kana ("\x30\xFB" , 'h ' , 'UTF-16BE ' )), "\n" ;
70
+ echo bin2hex (mb_convert_kana ("\x30\x01" , 'k ' , 'UTF-16BE ' )), "\n" ;
71
+ echo bin2hex (mb_convert_kana ("\x30\x02" , 'k ' , 'UTF-16BE ' )), "\n" ;
72
+ echo bin2hex (mb_convert_kana ("\x30\x0C" , 'k ' , 'UTF-16BE ' )), "\n" ;
73
+ echo bin2hex (mb_convert_kana ("\x30\x0D" , 'k ' , 'UTF-16BE ' )), "\n" ;
74
+ echo bin2hex (mb_convert_kana ("\x30\x9B" , 'k ' , 'UTF-16BE ' )), "\n" ;
75
+ echo bin2hex (mb_convert_kana ("\x30\x9C" , 'k ' , 'UTF-16BE ' )), "\n" ;
76
+ echo bin2hex (mb_convert_kana ("\x30\xFC" , 'k ' , 'UTF-16BE ' )), "\n" ;
77
+ echo bin2hex (mb_convert_kana ("\x30\xFB" , 'k ' , 'UTF-16BE ' )), "\n" ;
78
+ echo "Including one which will expand to two codepoints: \n" ;
79
+ echo bin2hex (mb_convert_kana ("\x30\x52" , 'h ' , 'UTF-16BE ' )), "\n\n" ;
80
+
81
+ echo "Convert full-width hiragana to full-width katakana: \n" ;
82
+ echo bin2hex (mb_convert_kana ("\x30\x41" , 'C ' , 'UTF-16BE ' )), "\n" ;
83
+ echo bin2hex (mb_convert_kana ("\x30\x9D" , 'C ' , 'UTF-16BE ' )), "\n" ;
84
+ echo bin2hex (mb_convert_kana ("\x30\x9E" , 'C ' , 'UTF-16BE ' )), "\n\n" ;
85
+
86
+ echo "Convert full-width katakana to full-width hiragana: \n" ;
87
+ echo bin2hex (mb_convert_kana ("\x30\xA1" , 'c ' , 'UTF-16BE ' )), "\n" ;
88
+ echo bin2hex (mb_convert_kana ("\x30\xFD" , 'c ' , 'UTF-16BE ' )), "\n" ;
89
+ echo bin2hex (mb_convert_kana ("\x30\xFE" , 'c ' , 'UTF-16BE ' )), "\n\n" ;
90
+
91
+ echo bin2hex (mb_convert_kana ("\x00\x00" , 'A ' , 'UTF-16BE ' )), "\n" ;
40
92
?>
41
93
--EXPECT--
42
94
ァアィイゥウェエォオカガキギク => ァアィイゥウェエォオカガキギク
@@ -50,6 +102,68 @@ echo $hanKakuD . ' => ' . mb_convert_kana($hanKakuD, 'AZKH', 'utf-8');
50
102
ーアイウエオカキクケコサシスセソ => ーアイウエオカキクケコサシスセソ
51
103
タチツテトナニヌネノハヒフヘホマ => タチツテトナニヌネノハヒフヘホマ
52
104
ミムメモヤユヨラリルレロワン゙゚ => ミムメモヤユヨラリルレロワン゛゜
105
+
106
+ Convert ASCII letter to full-width: A -> ff21
107
+ Convert ASCII letter to full-width: A -> ff21
108
+ Convert ASCII numeral to full-width: 1 -> ff11
109
+ Convert ASCII space to full-width: 3000
110
+
111
+ Convert hankaku kana to zenkaku kana:
112
+ Using 'glue' mode:
113
+ 30ac
114
+ 30f4
115
+ 30d1
116
+ 30cf0041
117
+ 304c
118
+ 3071
119
+ 306f0041
120
+ Not using 'glue' mode:
121
+ 30fc
122
+ 30fc
123
+
124
+ Convert selected punctuation/symbols to full-width and back:
125
+ ffe5ffe5ffe3ffe32019201d
126
+ 005c005c007e007e0027002700220022
127
+
128
+ Convert various full-width characters to half-width:
129
+ 0021
130
+ 0041
131
+ 0030
132
+ 0020
133
+ 002d
134
+
135
+ Convert full-width kana to half-width:
136
+ ff67
137
+ ff64
138
+ ff61
139
+ ff62
140
+ ff63
141
+ ff9e
142
+ ff9f
143
+ ff70
144
+ ff65
145
+ ff64
146
+ ff61
147
+ ff62
148
+ ff63
149
+ ff9e
150
+ ff9f
151
+ ff70
152
+ ff65
153
+ Including one which will expand to two codepoints:
154
+ ff79ff9e
155
+
156
+ Convert full-width hiragana to full-width katakana:
157
+ 30a1
158
+ 30fd
159
+ 30fe
160
+
161
+ Convert full-width katakana to full-width hiragana:
162
+ 3041
163
+ 309d
164
+ 309e
165
+
166
+ 0000
53
167
--CREDITS--
54
168
Jason Easter <easter@phpug-wuerzburg.de>
55
169
PHPUG Würzburg <phpug-wuerzburg.de>
0 commit comments