ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/work/tsubasa/prj_cmd/setup/script/option-convert_ktai_emoji.php @ 4028

Last change on this file since 4028 was 4028, checked in by tsubasa, 14 years ago

softbank絵文字コンバータ作成中
既存のwebコードとのマッチ機能(?)を使いたい。

File size: 4.8 KB
Line 
1<?php
2/**
3 * @copyright 2005-2007 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7require_once './config.inc.php';
8require_once OPENPNE_WEBAPP_DIR . '/init.inc';
9
10$carrier = $argv[1];
11$input_path = $argv[2];
12$output_path = $argv[3];
13
14if (empty($carrier) || empty($input_path)) {
15        exit('carrier and input_path are must paramater');
16} elseif (is_dir($input_path) === false) {
17        exit('input_path is not directory');
18}
19
20if (empty($output_path)) {
21        $output_path = OPENPNE_PUBLIC_HTML_DIR .  '/skin/default/img/emoji/' . $carrier . '/';
22} elseif (is_dir($output_path) === false) {
23        exit('output_path is not directory');
24}
25
26switch ($carrier) {
27case 'i':
28    convert_i_emoji_img($input_path, $output_path);
29    break;
30case 'e':
31    convert_e_emoji_img($input_path, $output_path);
32    break;
33case 's':
34    convert_s_emoji_img($input_path, $output_path);
35    break;
36default:
37    exit('carrier is not valid');
38    break;
39}
40
41function convert_i_emoji_img($input_path, $output_path)
42{
43    $input_dir = opendir($input_path);
44
45    if ($input_dir !== false && $output_dir !== false) {
46        while (($file = readdir($input_dir)) !== false) {
47                if (array_pop(explode('.', $file)) == 'gif') {
48                        $code = hexdec('0x' . basename($file, '.gif'));
49                if ((0xF89F <= $code) && ($code <= 0xF8FC) ||
50                    (0xF940 <= $code) && ($code <= 0xF949) ||
51                    (0xF950 <= $code) && ($code <= 0xF952) ||
52                    (0xF955 <= $code) && ($code <= 0xF957) ||
53                    (0xF95B <= $code) && ($code <= 0xF95E) ||
54                    (0xF972 <= $code) && ($code <= 0xF97E) ||
55                    (0xF980 <= $code) && ($code <= 0xF9B0)) {
56                    $emoji_bin = pack("C*", $code >> 8, $code % 256);
57                } else {
58                    $emoji_bin = pack("C*", 0xF9, $code);
59                }
60                $emoji_num = str_replace('%', '', emoji_escape_i($emoji_bin));
61                if (!empty($emoji_num)) {
62                    $input_emoji = $input_path . $file;
63                    $output_emoji = $output_path .  $emoji_num . '.gif';
64                    copy($input_emoji, $output_emoji);
65                }
66                }
67        }
68    }
69
70    return false;
71}
72
73function convert_e_emoji_img($input_path, $output_path)         //AU
74{
75    $input_dir = opendir($input_path);
76
77    if ($input_dir !== false && $output_dir !== false) {
78        while (($file = readdir($input_dir)) !== false) {
79            if (array_pop(explode('.', $file)) == 'gif') {
80                $code = hexdec('0x' . basename($file, '.gif'));
81                if ((0xF340 <= $code) && ($code <= 0xF37E) ||
82                    (0xF380 <= $code) && ($code <= 0xF3FC) ||
83                    (0xF440 <= $code) && ($code <= 0xF47E) ||
84                    (0xF480 <= $code) && ($code <= 0xF493) ||
85                    (0xF640 <= $code) && ($code <= 0xF67E) ||
86                    (0xF680 <= $code) && ($code <= 0xF6FC) ||
87                    (0xF740 <= $code) && ($code <= 0xF77E) ||
88                    (0xF780 <= $code) && ($code <= 0xF7FC)) {
89                    $emoji_bin = pack("C*" , $code >> 8, $code % 256);
90                }
91                $emoji_num = str_replace('%', '', emoji_escape_ez($emoji_bin));
92                if (!empty($emoji_num)){
93                    $input_emoji = $input_path . $file;
94                    $output_emoji = $output_path . $emoji_num . '.gif';
95                    copy($input_emoji, $output_emoji);
96                }
97            }
98        }
99    }
100
101    return false;
102}
103
104function convert_s_emoji_img($input_path, $output_path) //SoftBank
105{
106    $input_dir = opendir($input_path);
107   
108    if ($input_dir !== false && $output_dir !== false) {
109        while (($file = readdir($input_dir)) !== false) {
110//        var_dump($file);
111            if (array_pop(explode('.', $file)) == 'gif') {
112                $code = hexdec('0x' . basename($file, '.gif'));
113                if ((0xF741 <= $code) && ($code <= 0xF77E) ||
114                    (0xF780 <= $code) && ($code <= 0xF79B) ||
115                    (0xF7A1 <= $code) && ($code <= 0xF7F3) ||
116                    (0xF941 <= $code) && ($code <= 0xF97E) ||
117                    (0xF980 <= $code) && ($code <= 0xF99B) ||
118                    (0xF9A1 <= $code) && ($code <= 0xF9ED) ||
119                    (0xFB41 <= $code) && ($coce <= 0xFB7E) ||
120                    (0xFB80 <= $code) && ($code <= 0xFB8D) ||
121                    (0xFBA1 <= $code) && ($code <= 0xFBD7)) {
122                    $emoji_bin = pack("C*" , $code >> 8 , $code % 256);//‚±‚±‚ªì‚ê‚ê‚΂¨‚¯[;
123                }
124                $emoji_num = str_replace('%', '', emoji_escape_sb($emoji_bin));
125                if (!empty($emoji_num)){
126                    $input_emoji = $input_path . $file;
127                    $output_emoji = $output_path . $emoji_num . '.gif';
128                    copy($input_emoji,$output_emoji);
129                }
130            }
131        }
132    }
133}
134?>
Note: See TracBrowser for help on using the repository browser.