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

Changeset 4171


Ignore:
Timestamp:
Sep 26, 2007, 9:58:32 PM (12 years ago)
Author:
tsubasa
Message:

絵文字コンバータ内で既存クラスからwebコード参照を行うように改善

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/tsubasa/prj_cmd/setup/script/option-convert_ktai_emoji.php

    r4156 r4171  
    1 <?php
     1<?php
    22/**
    33 * @copyright 2005-2007 OpenPNE Project
     
    2929    break;
    3030case 'e':
    31     convert_e_emoji_img($input_path, $output_path);
     31        convert_e_emoji_img($input_path, $output_path);
    3232    break;
    3333case 's':
    34     convert_s_emoji_img($input_path, $output_path);
     34        convert_s_emoji_img($input_path, $output_path);
    3535    break;
    3636default:
     
    5858                    $emoji_bin = pack("C*", 0xF9, $code);
    5959                }
    60                 if((0xF9B1 <= $code) && ($code <= 0xF9FC)) {
    61                     $emoji_code = $code - 0xF9B0 + 176;
    62                     $emoji_num = 'i' . $emoji_code;
    63                 }else{
    64                     $emoji_num = str_replace('%', '', emoji_escape_i($emoji_bin));
    65                 }
     60                $emoji_num = mbereg_replace('[\[\]\:]', '', emoji_escape_i($emoji_bin));
    6661                if (!empty($emoji_num)) {
    6762                    $input_emoji = $input_path . $file;
     
    9489                    $emoji_bin = pack("C*" , $code >> 8, $code % 256);
    9590                }
    96                 $emoji_num = str_replace('%', '', emoji_escape_ez($emoji_bin));
     91                $emoji_num = mbereg_replace('[\[\]\:]', '', emoji_escape_e($emoji_bin));
    9792                if (!empty($emoji_num)){
    9893                    $input_emoji = $input_path . $file;
     
    114109        while (($file = readdir($input_dir)) !== false) {
    115110            if (array_pop(explode('.', $file)) == 'gif') {
    116                 $emoji_num = get_s_emoji_number(basename($file,'.gif'));
    117                 if ($emoji_num != 0){
     111                $emoji_num = get_s_emoji_num(basename($file,'.gif'));
     112                if ($emoji_num != ''){
    118113                    $input_emoji = $input_path . $file;
    119                     $output_emoji = $output_path . 's' .  $emoji_num . '.gif';
     114                    $output_emoji = $output_path . str_replace(':', '', $emoji_num) . '.gif';
    120115                    copy($input_emoji,$output_emoji);
    121116                }
     
    124119    }
    125120}
    126 function get_s_emoji_number($file_basename)
     121
     122function get_s_emoji_num($file_basename)
    127123{
    128124    $pattern_g = "/G[0-9a-z]+/";
     
    133129    $pattern_q = "/Q[0-9a-z]+/";
    134130   
    135     $emoji_num = 0;
     131    $web1 = $web2 = 0;
    136132   
    137133    $pattern_num = "/[0-9a-z]+/";
    138134    preg_match($pattern_num,$file_basename,$result);
    139    
     135    $web2 = hexdec($result[0]);
     136       
    140137    if (preg_match($pattern_g,$file_basename)) {
    141         $group = hexdec($result[0]) - 32;
     138        $web1 = ord('G');
    142139    }else if (preg_match($pattern_e,$file_basename)) {
    143         $group = hexdec($result[0]) + 90 - 32;
     140        $web1 = ord('E');
    144141    }else if (preg_match($pattern_f,$file_basename)) {
    145         $group = hexdec($result[0]) + 180 - 32;
     142        $web1 = ord('F');
    146143    }else if (preg_match($pattern_o,$file_basename)) {
    147         $group = hexdec($result[0]) + 270 - 32;
     144        $web1 = ord('O');
    148145    }else if (preg_match($pattern_p,$file_basename)) {
    149         $group = hexdec($result[0]) + 347 - 32;
     146        $web1 = ord('P');
    150147    }else if (preg_match($pattern_q,$file_basename)) {
    151         $group = hexdec($result[0]) + 423 - 32;
     148        $web1 = ord('Q');
    152149    }
    153150   
    154     return $group;
     151    $emoji_code = OpenPNE_KtaiEmoji::getInstance();
     152    $code = $emoji_code->get_emoji_code4emoji(pack('c5', 0x1b, 0x24, $web1, $web2, 0x0f), 's');
     153       
     154    return $code;
    155155   
    156156}
     157
    157158?>
Note: See TracChangeset for help on using the changeset viewer.