';
var $_auTypeDBuiltInIcons;
function setOutputFormat($format = ''){
$this->_format = $format;
}
function &singleton(){
if(!isset($GLOBALS['AU_BUILT-IN_CONVERTOR'])){
$GLOBALS['AU_BUILT-IN_CONVERTOR'] =& new AuBuiltInIconConvertor();
/*
参考
http://www.au.kddi.com/ezfactory/tec/spec/3.html
タイプD EZweb絵文字一覧【タイプD】 [ダウンロード: PDF形式1.4MB]
http://www.au.kddi.com/ezfactory/tec/spec/img/typeD.pdf
*/
$GLOBALS['AU_BUILT-IN_CONVERTOR']->_auTypeDBuiltInIcons = array(
1 => 'F659', 2 => 'F65A', 3 => 'F65B', 4 => 'F748', 5 => 'F749',
6 => 'F74A', 7 => 'F74B', 8 => 'F74C', 9 => 'F74D', 10 => 'F74E',
11 => 'F74F', 12 => 'F69A', 13 => 'F6EA', 14 => 'F796', 15 => 'F65E',
16 => 'F65F', 17 => 'F750', 18 => 'F751', 19 => 'F752', 20 => 'F753',
21 => 'F754', 22 => 'F755', 23 => 'F756', 24 => 'F757', 25 => 'F797',
26 => 'F758', 27 => 'F759', 28 => 'F75A', 29 => 'F75B', 30 => 'F75C',
31 => 'F75D', 32 => 'F75E', 33 => 'F75F', 34 => 'F760', 35 => 'F761',
36 => 'F762', 37 => 'F763', 38 => 'F764', 39 => 'F765', 40 => 'F766',
41 => 'F767', 42 => 'F768', 43 => 'F769', 44 => 'F660', 45 => 'F693',
46 => 'F7B1', 47 => 'F661', 48 => 'F6EB', 49 => 'F77C', 50 => 'F6D3',
51 => 'F7B2', 52 => 'F69B', 53 => 'F6EC', 54 => 'F76A', 55 => 'F76B',
56 => 'F77D', 57 => 'F798', 58 => 'F654', 59 => 'F77E', 60 => 'F662',
61 => 'F76C', 62 => 'F76D', 63 => 'F76E', 64 => 'F76F', 65 => 'F69C',
66 => 'F770', 67 => 'F780', 68 => 'F6D4', 69 => 'F663', 70 => 'F771',
71 => 'F772', 72 => 'F6ED', 73 => 'F773', 74 => 'F6B8', 75 => 'F640',
76 => 'F644', 77 => 'F64E', 78 => 'F6B9', 79 => 'F7AC', 80 => 'F6D5',
81 => 'F774', 82 => 'F775', 83 => 'F674', 84 => 'F7AD', 85 => 'F7B3',
86 => 'F6D6', 87 => 'F799', 88 => 'F776', 89 => 'F777', 90 => 'F790',
91 => 'F675', 92 => 'F781', 93 => 'F7B4', 94 => 'F6EE', 95 => 'F664',
96 => 'F694', 97 => 'F782', 98 => 'F65C', 99 => 'F642', 100 => 'F783',
101 => 'F784', 102 => 'F785', 103 => 'F786', 104 => 'F6EF', 105 => 'F787',
106 => 'F676', 107 => 'F665', 108 => 'F6FA', 109 => 'F79A', 110 => 'F6F0',
111 => 'F79B', 112 => 'F684', 113 => 'F6BD', 114 => 'F79C', 115 => 'F79D',
116 => 'F6D7', 117 => 'F778', 118 => 'F779', 119 => 'F6F1', 120 => 'F6F2',
121 => 'F788', 122 => 'F677', 123 => 'F79E', 124 => 'F6F3', 125 => 'F68A',
126 => 'F79F', 127 => 'F791', 128 => 'F792', 129 => 'F6F4', 130 => 'F7A0',
131 => 'F789', 132 => 'F77A', 133 => 'F6A7', 134 => 'F6BA', 135 => 'F7A1',
136 => 'F77B', 137 => 'F78A', 138 => 'F6F5', 139 => 'F7A2', 140 => 'F6D8',
141 => 'F6D9', 142 => 'F78B', 143 => 'F678', 144 => 'F6A8', 145 => 'F6F6',
146 => 'F685', 147 => 'F78C', 148 => 'F68B', 149 => 'F679', 150 => 'F7A3',
151 => 'F7AE', 152 => 'F7A4', 153 => 'F7AF', 154 => 'F7B0', 155 => 'F6F7',
156 => 'F686', 157 => 'F78D', 158 => 'F67A', 159 => 'F793', 160 => 'F69D',
161 => 'F7A5', 162 => 'F7A6', 163 => 'F6DA', 164 => 'F7A7', 165 => 'F6F8',
166 => 'F6F9', 167 => 'F666', 168 => 'F68C', 169 => 'F68D', 170 => 'F6A1',
171 => 'F7A8', 172 => 'F68E', 173 => 'F7A9', 174 => 'F7AA', 175 => 'F7AB',
176 => 'F655', 177 => 'F656', 178 => 'F657', 179 => 'F658', 180 => 'F6FB',
181 => 'F6FC', 182 => 'F740', 183 => 'F741', 184 => 'F742', 185 => 'F743',
186 => 'F744', 187 => 'F745', 188 => 'F746', 189 => 'F747', 190 => 'F641',
191 => 'F65D', 192 => 'F667', 193 => 'F668', 194 => 'F669', 195 => 'F66A',
196 => 'F66B', 197 => 'F66C', 198 => 'F66D', 199 => 'F66E', 200 => 'F66F',
201 => 'F670', 202 => 'F671', 203 => 'F672', 204 => 'F673', 205 => 'F67B',
206 => 'F67C', 207 => 'F67D', 208 => 'F67E', 209 => 'F680', 210 => 'F681',
211 => 'F682', 212 => 'F683', 213 => 'F78E', 214 => 'F78F', 215 => 'F687',
216 => 'F688', 217 => 'F689', 218 => 'F643', 219 => 'F68F', 220 => 'F690',
221 => 'F691', 222 => 'F692', 223 => 'F645', 224 => 'F695', 225 => 'F696',
226 => 'F697', 227 => 'F698', 228 => 'F699', 229 => 'F646', 230 => 'F647',
231 => 'F69E', 232 => 'F69F', 233 => 'F6A0', 234 => 'F6A2', 235 => 'F6A3',
236 => 'F6A4', 237 => 'F6A5', 238 => 'F6A6', 239 => 'F6A9', 240 => 'F6AA',
241 => 'F6AB', 242 => 'F6AC', 243 => 'F6AD', 244 => 'F6AE', 245 => 'F6AF',
246 => 'F648', 247 => 'F6B0', 248 => 'F6B1', 249 => 'F6B2', 250 => 'F6B3',
251 => 'F6B4', 252 => 'F6B5', 253 => 'F6B6', 254 => 'F6B7', 255 => 'F6BB',
256 => 'F6BC', 257 => 'F649', 258 => 'F64A', 259 => 'F64B', 260 => 'F64C',
261 => 'F64D', 262 => 'F6BE', 263 => 'F6BF', 264 => 'F6C0', 265 => 'F64F',
266 => 'F650', 267 => 'F651', 268 => 'F652', 269 => 'F653', 270 => 'F6C1',
271 => 'F6C2', 272 => 'F6C3', 273 => 'F6C4', 274 => 'F6C5', 275 => 'F6C6',
276 => 'F6C7', 277 => 'F6C8', 278 => 'F6C9', 279 => 'F6CA', 280 => 'F6CB',
281 => 'F6CC', 282 => 'F6CD', 283 => 'F6CE', 284 => 'F6CF', 285 => 'F6D0',
286 => 'F6D1', 287 => 'F6D2', 288 => 'F6DB', 289 => 'F6DC', 290 => 'F6DD',
291 => 'F6DE', 292 => 'F6DF', 293 => 'F6E0', 294 => 'F6E1', 295 => 'F6E2',
296 => 'F6E3', 297 => 'F6E4', 298 => 'F794', 299 => 'F795', 300 => 'F6E5',
301 => 'F6E6', 302 => 'F6E7', 303 => 'F6E8', 304 => 'F6E9', 305 => 'F7B5',
306 => 'F7B6', 307 => 'F7B7', 308 => 'F7B8', 309 => 'F7B9', 310 => 'F7BA',
311 => 'F7BB', 312 => 'F7BC', 313 => 'F7BD', 314 => 'F7BE', 315 => 'F7BF',
316 => 'F7C0', 317 => 'F7C1', 318 => 'F7C2', 319 => 'F7C3', 320 => 'F7C4',
321 => 'F7C5', 322 => 'F7C6', 323 => 'F7C7', 324 => 'F7C8', 325 => 'F7C9',
326 => 'F7CA', 327 => 'F7CB', 328 => 'F7CC', 329 => 'F7CD', 330 => 'F7CE',
331 => 'F7CF', 332 => 'F7D0', 333 => 'F7D1', 334 => 'F7E5', 335 => 'F7E6',
336 => 'F7E7', 337 => 'F7E8', 338 => 'F7E9', 339 => 'F7EA', 340 => 'F7EB',
341 => 'F7EC', 342 => 'F7ED', 343 => 'F7EE', 344 => 'F7EF', 345 => 'F7F0',
346 => 'F7F1', 347 => 'F7F2', 348 => 'F7F3', 349 => 'F7F4', 350 => 'F7F5',
351 => 'F7F6', 352 => 'F7F7', 353 => 'F7F8', 354 => 'F7F9', 355 => 'F7FA',
356 => 'F7FB', 357 => 'F7FC', 358 => 'F340', 359 => 'F341', 360 => 'F342',
361 => 'F343', 362 => 'F344', 363 => 'F345', 364 => 'F346', 365 => 'F347',
366 => 'F348', 367 => 'F349', 368 => 'F34A', 369 => 'F34B', 370 => 'F34C',
371 => 'F34D', 372 => 'F34E', 342 => 'F7ED', 343 => 'F7EE', 344 => 'F7EF',
345 => 'F7F0', 346 => 'F7F1', 347 => 'F7F2', 348 => 'F7F3', 349 => 'F7F4',
350 => 'F7F5', 351 => 'F7F6', 352 => 'F7F7', 353 => 'F7F8', 354 => 'F7F9',
355 => 'F7FA', 356 => 'F7FB', 357 => 'F7FC', 358 => 'F340', 359 => 'F341',
360 => 'F342', 361 => 'F343', 362 => 'F344', 363 => 'F345', 364 => 'F346',
365 => 'F347', 366 => 'F348', 367 => 'F349', 368 => 'F34A', 369 => 'F34B',
370 => 'F34C', 371 => 'F34D', 372 => 'F34E', 373 => 'F34F', 374 => 'F350',
375 => 'F351', 376 => 'F352', 377 => 'F353', 378 => 'F354', 379 => 'F355',
380 => 'F356', 381 => 'F357', 382 => 'F358', 383 => 'F359', 384 => 'F35A',
385 => 'F35B', 386 => 'F35C', 387 => 'F35D', 388 => 'F35E', 389 => 'F35F',
390 => 'F360', 391 => 'F361', 392 => 'F362', 393 => 'F363', 394 => 'F364',
395 => 'F365', 396 => 'F366', 397 => 'F367', 398 => 'F368', 399 => 'F369',
400 => 'F36A', 401 => 'F36B', 402 => 'F36C', 403 => 'F36D', 404 => 'F36E',
405 => 'F36F', 406 => 'F370', 407 => 'F371', 408 => 'F372', 409 => 'F373',
410 => 'F374', 411 => 'F375', 412 => 'F376', 413 => 'F377', 414 => 'F378',
415 => 'F379', 416 => 'F37A', 417 => 'F37B', 418 => 'F37C', 419 => 'F37D',
420 => 'F37E', 421 => 'F380', 422 => 'F381', 423 => 'F382', 424 => 'F383',
425 => 'F384', 426 => 'F385', 427 => 'F386', 428 => 'F387', 429 => 'F388',
430 => 'F389', 431 => 'F38A', 432 => 'F38B', 433 => 'F38C', 434 => 'F38D',
435 => 'F38E', 436 => 'F38F', 437 => 'F390', 438 => 'F391', 439 => 'F392',
440 => 'F393', 441 => 'F394', 442 => 'F395', 443 => 'F396', 444 => 'F397',
445 => 'F398', 446 => 'F399', 447 => 'F39A', 448 => 'F39B', 449 => 'F39C',
450 => 'F39D', 451 => 'F39E', 452 => 'F39F', 453 => 'F3A0', 454 => 'F3A1',
455 => 'F3A2', 456 => 'F3A3', 457 => 'F3A4', 458 => 'F3A5', 459 => 'F3A6',
460 => 'F3A7', 461 => 'F3A8', 462 => 'F3A9', 463 => 'F3AA', 464 => 'F3AB',
465 => 'F3AC', 466 => 'F3AD', 467 => 'F3AE', 468 => 'F3AF', 469 => 'F3B0',
470 => 'F3B1', 471 => 'F3B2', 472 => 'F3B3', 473 => 'F3B4', 474 => 'F3B5',
475 => 'F3B6', 476 => 'F3B7', 477 => 'F3B8', 478 => 'F3B9', 479 => 'F3BA',
480 => 'F3BB', 481 => 'F3BC', 482 => 'F3BD', 483 => 'F3BE', 484 => 'F3BF',
485 => 'F3C0', 486 => 'F3C1', 487 => 'F3C2', 488 => 'F3C3', 489 => 'F3C4',
490 => 'F3C5', 491 => 'F3C6', 492 => 'F3C7', 493 => 'F3C8', 494 => 'F3C9',
495 => 'F3CA', 496 => 'F3CB', 497 => 'F3CC', 498 => 'F3CD', 499 => 'F3CE',
500 => 'F7D2', 501 => 'F7D3', 502 => 'F7D4', 503 => 'F7D5', 504 => 'F7D6',
505 => 'F7D7', 506 => 'F7D8', 507 => 'F7D9', 508 => 'F7DA', 509 => 'F7DB',
510 => 'F7DC', 511 => 'F7DD', 512 => 'F7DE', 513 => 'F7DF', 514 => 'F7E0',
515 => 'F7E1', 516 => 'F7E2', 517 => 'F7E3', 518 => 'F7E4', 700 => 'F3CF',
701 => 'F3D0', 702 => 'F3D1', 703 => 'F3D2', 704 => 'F3D3', 705 => 'F3D4',
706 => 'F3D5', 707 => 'F3D6', 708 => 'F3D7', 709 => 'F3D8', 710 => 'F3D9',
711 => 'F3DA', 712 => 'F3DB', 713 => 'F3DC', 714 => 'F3DD', 715 => 'F3DE',
716 => 'F3DF', 717 => 'F3E0', 718 => 'F3E1', 719 => 'F3E2', 720 => 'F3E3',
721 => 'F3E4', 722 => 'F3E5', 723 => 'F3E6', 724 => 'F3E7', 725 => 'F3E8',
726 => 'F3E9', 727 => 'F3EA', 728 => 'F3EB', 729 => 'F3EC', 730 => 'F3ED',
731 => 'F3EE', 732 => 'F3EF', 733 => 'F3F0', 734 => 'F3F1', 735 => 'F3F2',
736 => 'F3F3', 737 => 'F3F4', 738 => 'F3F5', 739 => 'F3F6', 740 => 'F3F7',
741 => 'F3F8', 742 => 'F3F9', 743 => 'F3FA', 744 => 'F3FB', 745 => 'F3FC',
746 => 'F440', 747 => 'F441', 748 => 'F442', 749 => 'F443', 750 => 'F444',
751 => 'F445', 752 => 'F446', 753 => 'F447', 754 => 'F448', 755 => 'F449',
756 => 'F44A', 757 => 'F44B', 758 => 'F44C', 759 => 'F44D', 760 => 'F44E',
761 => 'F44F', 762 => 'F450', 763 => 'F451', 764 => 'F452', 765 => 'F453',
766 => 'F454', 767 => 'F455', 768 => 'F456', 769 => 'F457', 770 => 'F458',
771 => 'F459', 772 => 'F45A', 773 => 'F45B', 774 => 'F45C', 775 => 'F45D',
776 => 'F45E', 777 => 'F45F', 778 => 'F460', 779 => 'F461', 780 => 'F462',
781 => 'F463', 782 => 'F464', 783 => 'F465', 784 => 'F466', 785 => 'F467',
786 => 'F468', 787 => 'F469', 788 => 'F46A', 789 => 'F46B', 790 => 'F46C',
791 => 'F46D', 792 => 'F46E', 793 => 'F46F', 794 => 'F470', 795 => 'F471',
796 => 'F472', 797 => 'F473', 798 => 'F474', 799 => 'F475', 800 => 'F476',
801 => 'F477', 802 => 'F478', 803 => 'F479', 804 => 'F47A', 805 => 'F47B',
806 => 'F47C', 807 => 'F47D', 808 => 'F47E', 809 => 'F480', 810 => 'F481',
811 => 'F482', 812 => 'F483', 813 => 'F484', 814 => 'F485', 815 => 'F486',
816 => 'F487', 817 => 'F488', 818 => 'F489', 819 => 'F48A', 820 => 'F48B',
821 => 'F48C', 822 => 'F48D'
);
}
return $GLOBALS['AU_BUILT-IN_CONVERTOR'];
}
function convert($text){
$unPackedNumberArray = unpack("C*", $text);
$count = 0;
$returnString = '';
while ($firstByte = @$unPackedNumberArray[++$count]) {
if(!isset($unPackedNumberArray[($count + 1)])){
$returnString .= pack("C", $firstByte);
return $returnString;
}
switch ($firstByte) {
//AU Built-In Iconの可能性
case 0xF3:
case 0xF4:
case 0xF6:
case 0xF7:
$secondByte = $unPackedNumberArray[($count + 1)];
$hexString = dechex($firstByte) . dechex($secondByte);
foreach ($this->_auTypeDBuiltInIcons as $auBuiltInIconID => $sjisHex){
//AU Built-In Icon
if(strtoupper($hexString) == $sjisHex){
$returnString .= sprintf($this->_format, $auBuiltInIconID);
$count++;
}
}
break;
default:
/*
参考
http://euc.jp/i18n/charcode.ja.html
1.2 シフトJIS(MS漢字コード)
http://www.kishugiken.co.jp/cn/code04c.html
シフトJISコード表
*/
if(
((0x81 <= $firstByte) && ($firstByte <= 0x9F)) ||
((0xE0 <= $firstByte) && ($firstByte <= 0xFC))
){
//マルチバイト
$secondByte = $unPackedNumberArray[++$count];
$returnString .= pack("C", $firstByte) . pack("C", $secondByte);
}else{
//シングルバイト
$returnString .= pack("C", $firstByte);
}
break;
}
}
return $returnString;
}
}
?>
convert('AUのSJIS絵文字が含まれている文字列を設定して下さい。のフォーマットに従って絵文字を変換します');
?>