Current File : //opt/RZphp81/includes/Net/UserAgent/Mobile/DoCoMo/ScreenInfo.php
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */

/**
 * PHP versions 4 and 5
 *
 * Copyright (c) 2008-2009 KUBO Atsuhiro <kubo@iteman.jp>,
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * @category   Networking
 * @package    Net_UserAgent_Mobile
 * @author     KUBO Atsuhiro <kubo@iteman.jp>
 * @copyright  2008-2009 KUBO Atsuhiro <kubo@iteman.jp>
 * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
 * @version    CVS: $Id: ScreenInfo.php,v 1.2 2009/06/23 08:06:58 kuboa Exp $
 * @link       http://www.nttdocomo.co.jp/service/imode/make/content/spec/screen_area/index.html
 * @since      File available since Release 1.0.0RC1
 */

// {{{ GLOBALS

$GLOBALS['NET_USERAGENT_MOBILE_DoCoMo_ScreenInfo_Instance'] = null;

// }}}
// {{{ Net_UserAgent_Mobile_DoCoMo_ScreenInfo

/**
 * The screen information class for DoCoMo.
 *
 * @category   Networking
 * @package    Net_UserAgent_Mobile
 * @author     KUBO Atsuhiro <kubo@iteman.jp>
 * @copyright  2008-2009 KUBO Atsuhiro <kubo@iteman.jp>
 * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
 * @version    Release: 1.0.0
 * @link       http://www.nttdocomo.co.jp/service/imode/make/content/spec/screen_area/index.html
 * @since      Class available since Release 1.0.0RC1
 */
class Net_UserAgent_Mobile_DoCoMo_ScreenInfo
{

    // {{{ properties

    /**#@+
     * @access public
     */

    /**#@-*/

    /**#@+
     * @access private
     */

    var $_data = array(

                       // i-mode compliant HTML 1.0
                       'D501I' => array(
                                        'width'  => 96,
                                        'height' => 72,
                                        'depth'  => 2,
                                        'color'  => 0
                                        ),
                       'F501I' => array(
                                        'width'  => 112,
                                        'height' => 84,
                                        'depth'  => 2,
                                        'color'  => 0
                                        ),
                       'N501I' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 2,
                                        'color'  => 0
                                        ),
                       'P501I' => array(
                                        'width'  => 96,
                                        'height' => 120,
                                        'depth'  => 2,
                                        'color'  => 0
                                        ),

                       // i-mode compliant HTML 2.0
                       'D502I' => array(
                                        'width'  => 96,
                                        'height' => 90,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'F502I' => array(
                                        'width'  => 96,
                                        'height' => 91,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'N502I' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 4,
                                        'color'  => 0
                                        ),
                       'P502I' => array(
                                        'width'  => 96,
                                        'height' => 117,
                                        'depth'  => 4,
                                        'color'  => 0
                                        ),
                       'NM502I' => array(
                                         'width'  => 111,
                                         'height' => 106,
                                         'depth'  => 2,
                                         'color'  => 0
                                         ),
                       'SO502I' => array(
                                         'width'  => 120,
                                         'height' => 120,
                                         'depth'  => 4,
                                         'color'  => 0
                                         ),
                       'F502IT' => array(
                                         'width'  => 96,
                                         'height' => 91,
                                         'depth'  => 256,
                                         'color'  => 1
                                         ),
                       'N502IT' => array(
                                         'width'  => 118,
                                         'height' => 128,
                                         'depth'  => 256,
                                         'color'  => 1
                                         ),
                       'SO502IWM' => array(
                                           'width'  => 120,
                                           'height' => 113,
                                           'depth'  => 256,
                                           'color'  => 1
                                           ),
                       'SH821I' => array(
                                         'width'  => 96,
                                         'height' => 78,
                                         'depth'  => 256,
                                         'color'  => 1
                                         ),
                       'N821I' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 4,
                                        'color'  => 0
                                        ),
                       'P821I' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 4,
                                        'color'  => 0
                                        ),
                       'D209I' => array(
                                        'width'  => 96,
                                        'height' => 90,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'ER209I' => array(
                                         'width'  => 120,
                                         'height' => 72,
                                         'depth'  => 2,
                                         'color'  => 0
                                         ),
                       'F209I' => array(
                                        'width'  => 96,
                                        'height' => 91,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'KO209I' => array(
                                         'width'  => 96,
                                         'height' => 96,
                                         'depth'  => 256,
                                         'color'  => 1
                                         ),
                       'N209I' => array(
                                        'width'  => 108,
                                        'height' => 82,
                                        'depth'  => 4,
                                        'color'  => 0
                                        ),
                       'P209I' => array(
                                        'width'  => 96,
                                        'height' => 87,
                                        'depth'  => 4,
                                        'color'  => 0
                                        ),
                       'P209IS' => array(
                                         'width'  => 96,
                                         'height' => 87,
                                         'depth'  => 256,
                                         'color'  => 1
                                         ),
                       'R209I' => array(
                                        'width'  => 96,
                                        'height' => 72,
                                        'depth'  => 4,
                                        'color'  => 0
                                        ),
                       'P651PS' => array(
                                         'width'  => 96,
                                         'height' => 87,
                                         'depth'  => 4,
                                         'color'  => 0
                                         ),
                       'R691I' => array(
                                        'width'  => 96,
                                        'height' => 72,
                                        'depth'  => 4,
                                        'color'  => 0
                                        ),
                       'F671I' => array(
                                        'width'  => 120,
                                        'height' => 126,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'F210I' => array(
                                        'width'  => 96,
                                        'height' => 113,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'N210I' => array(
                                        'width'  => 118,
                                        'height' => 113,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'P210I' => array(
                                        'width'  => 96,
                                        'height' => 91,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'KO210I' => array(
                                         'width'  => 96,
                                         'height' => 96,
                                         'depth'  => 256,
                                         'color'  => 1
                                         ),

                       // i-mode compliant HTML 3.0
                       'F503I' => array(
                                        'width'  => 120,
                                        'height' => 130,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'F503IS' => array(
                                         'width'  => 120,
                                         'height' => 130,
                                         'depth'  => 4096,
                                         'color'  => 1
                                         ),
                       'P503I' => array(
                                        'width'  => 120,
                                        'height' => 130,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'P503IS' => array(
                                         'width'  => 120,
                                         'height' => 130,
                                         'depth'  => 256,
                                         'color'  => 1
                                         ),
                       'N503I' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 4096,
                                        'color'  => 1
                                        ),
                       'N503IS' => array(
                                         'width'  => 118,
                                         'height' => 128,
                                         'depth'  => 4096,
                                         'color'  => 1
                                         ),
                       'SO503I' => array(
                                         'width'  => 120,
                                         'height' => 113,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'SO503IS' => array(
                                          'width'  => 120,
                                          'height' => 113,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'D503I' => array(
                                        'width'  => 132,
                                        'height' => 126,
                                        'depth'  => 4096,
                                        'color'  => 1
                                        ),
                       'D503IS' => array(
                                         'width'  => 132,
                                         'height' => 126,
                                         'depth'  => 4096,
                                         'color'  => 1
                                         ),
                       'D210I' => array(
                                        'width'  => 96,
                                        'height' => 91,
                                        'depth'  => 256,
                                        'color'  => 1
                                        ),
                       'SO210I' => array(
                                         'width'  => 120,
                                         'height' => 113,
                                         'depth'  => 256,
                                         'color'  => 1
                                         ),
                       'F211I' => array(
                                        'width'  => 96,
                                        'height' => 113,
                                        'depth'  => 4096,
                                        'color'  => 1
                                        ),
                       'D211I' => array(
                                        'width'  => 100,
                                        'height' => 91,
                                        'depth'  => 4096,
                                        'color'  => 1
                                        ),
                       'N211I' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 4096,
                                        'color'  => 1
                                        ),
                       'N211IS' => array(
                                         'width'  => 118,
                                         'height' => 128,
                                         'depth'  => 4096,
                                         'color'  => 1
                                         ),
                       'P211I' => array(
                                        'width'  => 120,
                                        'height' => 130,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P211IS' => array(
                                         'width'  => 120,
                                         'height' => 130,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'SO211I' => array(
                                         'width'  => 120,
                                         'height' => 112,
                                         'depth'  => 4096,
                                         'color'  => 1
                                         ),
                       'R211I' => array(
                                        'width'  => 96,
                                        'height' => 98,
                                        'depth'  => 4096,
                                        'color'  => 1
                                        ),
                       'SH251I' => array(
                                         'width'  => 120,
                                         'height' => 130,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'SH251IS' => array(
                                          'width'  => 176,
                                          'height' => 187,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'R692I' => array(
                                        'width'  => 96,
                                        'height' => 98,
                                        'depth'  => 4096,
                                        'color'  => 1
                                        ),

                       // i-mode compliant HTML 3.0
                       // (FOMA 2001/2002/2101V)
                       'N2001' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 4096,
                                        'color'  => 1
                                        ),
                       'N2002' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P2002' => array(
                                        'width'  => 118,
                                        'height' => 128,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'D2101V' => array(
                                         'width'  => 120,
                                         'height' => 130,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P2101V' => array(
                                         'width'  => 163,
                                         'height' => 182,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SH2101V' => array(
                                          'width'  => 800,
                                          'height' => 600,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'T2101V' => array(
                                         'width'  => 176,
                                         'height' => 144,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),

                       // i-mode compliant HTML 4.0
                       'D504I' => array(
                                        'width'  => 132,
                                        'height' => 144,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F504I' => array(
                                        'width'  => 132,
                                        'height' => 136,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'F504IS' => array(
                                         'width'  => 132,
                                         'height' => 136,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'N504I' => array(
                                        'width'  => 160,
                                        'height' => 180,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'N504IS' => array(
                                         'width'  => 160,
                                         'height' => 180,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'SO504I' => array(
                                         'width'  => 120,
                                         'height' => 112,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'P504I' => array(
                                        'width'  => 132,
                                        'height' => 144,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P504IS' => array(
                                         'width'  => 132,
                                         'height' => 144,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'D251I' => array(
                                        'width'  => 132,
                                        'height' => 144,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'D251IS' => array(
                                         'width'  => 132,
                                         'height' => 144,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'F251I' => array(
                                        'width'  => 132,
                                        'height' => 140,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'N251I' => array(
                                        'width'  => 132,
                                        'height' => 140,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'N251IS' => array(
                                         'width'  => 132,
                                         'height' => 140,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'P251IS' => array(
                                         'width'  => 132,
                                         'height' => 144,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'F671IS' => array(
                                         'width'  => 160,
                                         'height' => 120,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'F212I' => array(
                                        'width'  => 132,
                                        'height' => 136,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'SO212I' => array(
                                         'width'  => 120,
                                         'height' => 112,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'F661I' => array(
                                        'width'  => 132,
                                        'height' => 136,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'F672I' => array(
                                        'width'  => 160,
                                        'height' => 120,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'SO213I' => array(
                                         'width'  => 120,
                                         'height' => 112,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'SO213IS' => array(
                                          'width'  => 120,
                                          'height' => 112,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'SO213IWR' => array(
                                           'width'  => 120,
                                           'height' => 112,
                                           'depth'  => 65536,
                                           'color'  => 1
                                           ),

                       // i-mode compliant HTML 4.0
                       // (FOMA 2051/2102V/2701 etc.)
                       'F2051' => array(
                                        'width'  => 176,
                                        'height' => 182,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'N2051' => array(
                                        'width'  => 176,
                                        'height' => 198,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P2102V' => array(
                                         'width'  => 176,
                                         'height' => 198,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P2102V' => array(
                                         'width'  => 176,
                                         'height' => 198,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'F2102V' => array(
                                         'width'  => 176,
                                         'height' => 182,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'N2102V' => array(
                                         'width'  => 176,
                                         'height' => 198,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'N2701' => array(
                                        'width'  => 176,
                                        'height' => 198,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'NM850IG' => array(
                                          'width'  => 176,
                                          'height' => 144,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'NM705I' => array(
                                         'width'  => 231,
                                         'height' => 235,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),
                       'NM706I' => array(
                                         'width'  => 231,
                                         'height' => 235,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),

                       // i-mode compliant HTML 5.0 (505i etc.)
                       'D505I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SO505I' => array(
                                         'width'  => 256,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SH505I' => array(
                                         'width'  => 240,
                                         'height' => 252,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N505I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F505I' => array(
                                        'width'  => 240,
                                        'height' => 268,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'P505I' => array(
                                        'width'  => 240,
                                        'height' => 266,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'D505IS' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P505IS' => array(
                                         'width'  => 240,
                                         'height' => 266,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'N505IS' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SO505IS' => array(
                                          'width'  => 240,
                                          'height' => 256,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'SH505IS' => array(
                                          'width'  => 240,
                                          'height' => 252,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'F505IGPS' => array(
                                           'width'  => 240,
                                           'height' => 268,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'D252I' => array(
                                        'width'  => 176,
                                        'height' => 198,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SH252I' => array(
                                         'width'  => 240,
                                         'height' => 252,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P252I' => array(
                                        'width'  => 132,
                                        'height' => 144,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'N252I' => array(
                                        'width'  => 132,
                                        'height' => 140,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P252IS' => array(
                                         'width'  => 132,
                                         'height' => 144,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'D506I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F506I' => array(
                                        'width'  => 240,
                                        'height' => 268,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N506I' => array(
                                        'width'  => 240,
                                        'height' => 295,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'P506IC' => array(
                                         'width'  => 240,
                                         'height' => 266,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'SH506IC' => array(
                                          'width'  => 240,
                                          'height' => 252,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'SO506IC' => array(
                                          'width'  => 240,
                                          'height' => 256,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'N506IS' => array(
                                         'width'  => 240,
                                         'height' => 295,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SO506I' => array(
                                         'width'  => 240,
                                         'height' => 256,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SO506IS' => array(
                                          'width'  => 240,
                                          'height' => 256,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'N506IS2' => array(
                                          'width'  => 240,
                                          'height' => 295,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'P506ICII' => array(
                                           'width'  => 240,
                                           'height' => 266,
                                           'depth'  => 65536,
                                           'color'  => 1
                                           ),
                       'D253I' => array(
                                        'width'  => 176,
                                        'height' => 198,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N253I' => array(
                                        'width'  => 160,
                                        'height' => 180,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P253I' => array(
                                        'width'  => 132,
                                        'height' => 144,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'D253IWM' => array(
                                          'width'  => 220,
                                          'height' => 144,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'P253IS' => array(
                                         'width'  => 132,
                                         'height' => 144,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'P213I' => array(
                                        'width'  => 132,
                                        'height' => 144,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),

                       // i-mode compliant HTML 5.0
                       // (FOMA 900i etc.)
                       'F900I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N900I' => array(
                                        'width'  => 240,
                                        'height' => 269,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P900I' => array(
                                        'width'  => 240,
                                        'height' => 266,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'SH900I' => array(
                                         'width'  => 240,
                                         'height' => 252,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'F900IT' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P900IV' => array(
                                         'width'  => 240,
                                         'height' => 266,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N900IS' => array(
                                         'width'  => 240,
                                         'height' => 269,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'D900I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F900IC' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'F880IES' => array(
                                          'width'  => 240,
                                          'height' => 256,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'N900IL' => array(
                                         'width'  => 240,
                                         'height' => 269,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'N900IG' => array(
                                         'width'  => 240,
                                         'height' => 269,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'SH901IC' => array(
                                          'width'  => 240,
                                          'height' => 252,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'F901IC' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N901IC' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'D901I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'P901I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'F700I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SH700I' => array(
                                         'width'  => 240,
                                         'height' => 252,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N700I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P700I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'F700IS' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SH700IS' => array(
                                          'width'  => 240,
                                          'height' => 252,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'SA700IS' => array(
                                          'width'  => 240,
                                          'height' => 252,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),

                       'SH901IS' => array(
                                          'width'  => 240,
                                          'height' => 252,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'F901IS' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'D901IS' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P901IS' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'N901IS' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'P901ITV' => array(
                                          'width'  => 240,
                                          'height' => 270,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'SH851I' => array(
                                         'width'  => 240,
                                         'height' => 252,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P851I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'F881IES' => array(
                                          'width'  => 240,
                                          'height' => 256,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'D701I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'N701I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'P701ID' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'D701IWM' => array(
                                          'width'  => 230,
                                          'height' => 240,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'N701IECO' => array(
                                           'width'  => 240,
                                           'height' => 270,
                                           'depth'  => 65536,
                                           'color'  => 1
                                           ),
                       'SA800I' => array(
                                         'width'  => 240,
                                         'height' => 252,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'L600I' => array(
                                        'width'  => 170,
                                        'height' => 189,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'N600I' => array(
                                        'width'  => 176,
                                        'height' => 180,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'L601I' => array(
                                        'width'  => 170,
                                        'height' => 189,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'M702IS' => array(
                                         'width'  => 240,
                                         'height' => 267,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'M702IG' => array(
                                         'width'  => 240,
                                         'height' => 267,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'L602I' => array(
                                        'width'  => 170,
                                        'height' => 189,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),

                       // i-mode compliant HTML 6.0
                       // (FOMA 902i etc.)
                       'F902I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'D902I' => array(
                                        'width'  => 230,
                                        'height' => 320,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N902I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'P902I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SH902I' => array(
                                         'width'  => 240,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SO902I' => array(
                                         'width'  => 240,
                                         'height' => 256,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SH902IS' => array(
                                          'width'  => 240,
                                          'height' => 240,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'P902IS' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N902IS' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'D902IS' => array(
                                         'width'  => 230,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'F902IS' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SO902IWP+' => array(
                                            'width'  => 240,
                                            'height' => 256,
                                            'depth'  => 262144,
                                            'color'  => 1
                                            ),
                       'SH902ISL' => array(
                                           'width'  => 240,
                                           'height' => 240,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'N902IX' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N902IL' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P702I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N702ID' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'F702ID' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SH702ID' => array(
                                          'width'  => 240,
                                          'height' => 240,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'D702I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SO702I' => array(
                                         'width'  => 240,
                                         'height' => 256,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'D702IBCL' => array(
                                           'width'  => 230,
                                           'height' => 240,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'SA702I' => array(
                                         'width'  => 240,
                                         'height' => 252,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'SH702IS' => array(
                                          'width'  => 240,
                                          'height' => 240,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'N702IS' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'P702ID' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'D702IF' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'D851IWM' => array(
                                          'width'  => 230,
                                          'height' => 320,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'F882IES' => array(
                                          'width'  => 240,
                                          'height' => 256,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'N601I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'D800IDS' => array(
                                          'width'  => 230,
                                          'height' => 240,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'P703IMYU' => array(
                                           'width'  => 240,
                                           'height' => 270,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'F883I' => array(
                                        'width'  => 240,
                                        'height' => 256,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'F883IS' => array(
                                         'width'  => 240,
                                         'height' => 256,
                                         'depth'  => 65536,
                                         'color'  => 1
                                         ),
                       'P704IMYU' => array(
                                           'width'  => 240,
                                           'height' => 270,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'L704I' => array(
                                        'width'  => 240,
                                        'height' => 280,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'L705I' => array(
                                        'width'  => 240,
                                        'height' => 280,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'L705IX' => array(
                                         'width'  => 240,
                                         'height' => 280,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'L852I' => array(
                                        'width'  => 240,
                                        'height' => 298,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'L706IE' => array(
                                         'width'  => 240,
                                         'height' => 280,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'L01A' => array(
                                       'width'  => 240,
                                       'height' => 350,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'L03A' => array(
                                       'width'  => 240,
                                       'height' => 280,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),

                       // i-mode compliant HTML 7.0
                       // (FOMA 903i etc.)
                       'SH903I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P903I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N903I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'D903I' => array(
                                        'width'  => 230,
                                        'height' => 320,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F903I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SO903I' => array(
                                         'width'  => 240,
                                         'height' => 368,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'D903ITV' => array(
                                          'width'  => 230,
                                          'height' => 320,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'F903IX' => array(
                                         'width'  => 230,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P903ITV' => array(
                                          'width'  => 240,
                                          'height' => 350,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'SH903ITV' => array(
                                           'width'  => 240,
                                           'height' => 320,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'F903IBSC' => array(
                                           'width'  => 230,
                                           'height' => 240,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'P903IX' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SO903ITV' => array(
                                           'width'  => 240,
                                           'height' => 368,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'N703ID' => array(
                                         'width'  => 240,
                                         'height' => 270,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'F703I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'P703I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'D703I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SH703I' => array(
                                         'width'  => 240,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SH703I' => array(
                                         'width'  => 240,
                                         'height' => 240,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N703IMYU' => array(
                                           'width'  => 240,
                                           'height' => 270,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'SO703I' => array(
                                         'width'  => 240,
                                         'height' => 368,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P904I' => array(
                                        'width'  => 240,
                                        'height' => 350,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'D904I' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F904I' => array(
                                        'width'  => 240,
                                        'height' => 352,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N904I' => array(
                                        'width'  => 240,
                                        'height' => 352,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SH904I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P704I' => array(
                                        'width'  => 240,
                                        'height' => 270,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'D704I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SH704I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N704IMYU' => array(
                                           'width'  => 240,
                                           'height' => 270,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'F704I' => array(
                                        'width'  => 230,
                                        'height' => 240,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SO704I' => array(
                                         'width'  => 240,
                                         'height' => 368,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'F883IES' => array(
                                          'width'  => 240,
                                          'height' => 256,
                                          'depth'  => 65536,
                                          'color'  => 1
                                          ),
                       'F883IESS' => array(
                                           'width'  => 240,
                                           'height' => 256,
                                           'depth'  => 65536,
                                           'color'  => 1
                                           ),
                       'F801I' => array(
                                        'width'  => 240,
                                        'height' => 352,
                                        'depth'  => 65536,
                                        'color'  => 1
                                        ),
                       'F705I' => array(
                                        'width'  => 240,
                                        'height' => 352,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'D705I' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'D705IMYU' => array(
                                           'width'  => 240,
                                           'height' => 240,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'SH705I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SH705I2' => array(
                                          'width'  => 240,
                                          'height' => 320,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'SH706IE' => array(
                                          'width'  => 240,
                                          'height' => 320,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'F05A' => array(
                                       'width'  => 240,
                                       'height' => 352,
                                       'depth'  => 65536,
                                       'color'  => 1
                                       ),
 
                       // i-mode compliant HTML 7.1
                       // (FOMA 905i etc.)
                       'SH905I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),
                       'D905I' => array(
                                        'width'  => 240,
                                        'height' => 352,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N905I' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'P905I' => array(
                                        'width'  => 240,
                                        'height' => 350,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F905I' => array(
                                        'width'  => 240,
                                        'height' => 352,
                                        'depth'  => 16777216,
                                        'color'  => 1
                                        ),
                       'SO905I' => array(
                                         'width'  => 240,
                                         'height' => 368,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),
                       'N905IMYU' => array(
                                           'width'  => 240,
                                           'height' => 320,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'N905IBIZ' => array(
                                           'width'  => 240,
                                           'height' => 320,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'SH905ITV' => array(
                                           'width'  => 240,
                                           'height' => 320,
                                           'depth'  => 16777216,
                                           'color'  => 1
                                           ),
                       'SO905ICS' => array(
                                           'width'  => 240,
                                           'height' => 368,
                                           'depth'  => 16777216,
                                           'color'  => 1
                                           ),
                       'F905IBIZ' => array(
                                           'width'  => 240,
                                           'height' => 352,
                                           'depth'  => 16777216,
                                           'color'  => 1
                                           ),
                       'P905ITV' => array(
                                          'width'  => 240,
                                          'height' => 350,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'P705I' => array(
                                        'width'  => 240,
                                        'height' => 350,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N705I' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N705IMYU' => array(
                                           'width'  => 240,
                                           'height' => 320,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'P705IMYU' => array(
                                           'width'  => 240,
                                           'height' => 350,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'SO705I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P705ICL' => array(
                                          'width'  => 240,
                                          'height' => 350,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'F884I' => array(
                                        'width'  => 240,
                                        'height' => 364,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F884IES' => array(
                                          'width'  => 240,
                                          'height' => 282,
                                          'depth'  => 262144,
                                          'color'  => 1
                                          ),
                       'N906IL' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N706I' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SO706I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'P706IMYU' => array(
                                           'width'  => 240,
                                           'height' => 350,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'N706IE' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N706I2' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'N03A' => array(
                                       'width'  => 240,
                                       'height' => 320,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'N05A' => array(
                                       'width'  => 240,
                                       'height' => 320,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'F07A' => array(
                                       'width'  => 240,
                                       'height' => 256,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),

                       // i-mode compliant HTML 7.2
                       // (FOMA 906i etc.)
                       'P906I' => array(
                                        'width'  => 240,
                                        'height' => 350,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SO906I' => array(
                                         'width'  => 240,
                                         'height' => 368,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),
                       'SH906I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),
                       'N906IMYU' => array(
                                           'width'  => 240,
                                           'height' => 320,
                                           'depth'  => 262144,
                                           'color'  => 1
                                           ),
                       'F906I' => array(
                                        'width'  => 240,
                                        'height' => 352,
                                        'depth'  => 16777216,
                                        'color'  => 1
                                        ),
                       'N906I' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SH906ITV' => array(
                                           'width'  => 240,
                                           'height' => 320,
                                           'depth'  => 16777216,
                                           'color'  => 1
                                           ),
                       'F706I' => array(
                                        'width'  => 240,
                                        'height' => 352,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'SH706I' => array(
                                         'width'  => 240,
                                         'height' => 320,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),
                       'P706IE' => array(
                                         'width'  => 240,
                                         'height' => 350,
                                         'depth'  => 262144,
                                         'color'  => 1
                                         ),
                       'SH706IW' => array(
                                          'width'  => 240,
                                          'height' => 320,
                                          'depth'  => 16777216,
                                          'color'  => 1
                                          ),
                       'F01A' => array(
                                       'width'  => 240,
                                       'height' => 352,
                                       'depth'  => 16777216,
                                       'color'  => 1
                                       ),
                       'F02A' => array(
                                       'width'  => 240,
                                       'height' => 352,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'F03A' => array(
                                       'width'  => 240,
                                       'height' => 352,
                                       'depth'  => 16777216,
                                       'color'  => 1
                                       ),
                       'F04A' => array(
                                       'width'  => 240,
                                       'height' => 352,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'F06A' => array(
                                       'width'  => 240,
                                       'height' => 352,
                                       'depth'  => 16777216,
                                       'color'  => 1
                                       ), 
                       'P01A' => array(
                                       'width'  => 240,
                                       'height' => 350,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'P02A' => array(
                                       'width'  => 240,
                                       'height' => 350,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'P03A' => array(
                                       'width'  => 240,
                                       'height' => 350,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'P04A' => array(
                                       'width'  => 240,
                                       'height' => 350,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'P05A' => array(
                                       'width'  => 240,
                                       'height' => 350,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'P06A' => array(
                                       'width'  => 240,
                                       'height' => 350,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'P10A' => array(
                                       'width'  => 240,
                                       'height' => 350,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'SH01A' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 16777216,
                                        'color'  => 1
                                        ),
                       'SH02A' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 16777216,
                                        'color'  => 1
                                        ),
                       'SH03A' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 16777216,
                                        'color'  => 1
                                        ),
                       'SH04A' => array(
                                        'width'  => 240,
                                        'height' => 320,
                                        'depth'  => 16777216,
                                        'color'  => 1
                                        ),
                       'N01A' => array(
                                       'width'  => 240,
                                       'height' => 320,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'N02A' => array(
                                       'width'  => 240,
                                       'height' => 320,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),
                       'N04A' => array(
                                       'width'  => 240,
                                       'height' => 320,
                                       'depth'  => 262144,
                                       'color'  => 1
                                       ),

                       // i-mode browser 2.0
                       'P07A3' => array(
                                        'width'  => 480,
                                        'height' => 662,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'P08A3' => array(
                                        'width'  => 480,
                                        'height' => 662,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'P09A3' => array(
                                        'width'  => 480,
                                        'height' => 662,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N06A3' => array(
                                        'width'  => 480,
                                        'height' => 640,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N08A3' => array(
                                        'width'  => 480,
                                        'height' => 640,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'N09A3' => array(
                                        'width'  => 480,
                                        'height' => 640,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F08A3' => array(
                                        'width'  => 480,
                                        'height' => 648,
                                        'depth'  => 262144,
                                        'color'  => 1
                                        ),
                       'F09A3' => array(
                                        'width'  => 480,
                                        'height' => 648,
                                        'depth'  => 16777216,
                                        'color'  => 1
                                        ),
                       'SH05A3' => array(
                                         'width'  => 480,
                                         'height' => 592,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),
                       'SH06A3' => array(
                                         'width'  => 480,
                                         'height' => 592,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         ),
                       'SH07A3' => array(
                                         'width'  => 480,
                                         'height' => 592,
                                         'depth'  => 16777216,
                                         'color'  => 1
                                         )
                       );

    /**#@-*/

    /**#@+
     * @access public
     */

    // }}}
    // {{{ singleton()

    /**
     * Returns the Net_UserAgent_Mobile_DoCoMo_Screen instance if it exists. If it
     * not exists, a new instance of Net_UserAgent_Mobile_DoCoMo_Screen will be
     * created and returned.
     *
     * @return Net_UserAgent_Mobile_DoCoMo_ScreenInfo
     * @static
     */
    function &singleton()
    {
        if (@is_null($GLOBALS['NET_USERAGENT_MOBILE_DoCoMo_ScreenInfo_Instance'])) {
            $GLOBALS['NET_USERAGENT_MOBILE_DoCoMo_ScreenInfo_Instance'] = &new Net_UserAgent_Mobile_DoCoMo_ScreenInfo();
        }

        return $GLOBALS['NET_USERAGENT_MOBILE_DoCoMo_ScreenInfo_Instance'];
    }

    // }}}
    // {{{ get()

    /**
     * Gets the screen information of a given model.
     *
     * @param string $model
     * @return array
     */
    function get($model)
    {
        return $this->_data[ strtoupper($model) ];
    }

    /**#@-*/

    /**#@+
     * @access private
     */

    // }}}
    // {{{ constructor

    /**
     * Creates the screen information by a given XML file if DOCOMO_MAP environment
     * variable exists.
     */
    function Net_UserAgent_Mobile_DoCoMo_ScreenInfo()
    {
        if (!array_key_exists('DOCOMO_MAP', $_SERVER)) {
            return;
        }

        // using the specified XML data
        do {
            if (!function_exists('xml_parser_create')
                || !is_readable($_SERVER['DOCOMO_MAP'])
                ) {
                break;
            }

            $xml = file_get_contents($_SERVER['DOCOMO_MAP']);
            if ($xml === false) {
                break;
            }

            $parser = xml_parser_create();
            if ($parser === false) {
                break;
            }

            xml_parse_into_struct($parser, $xml, $values, $indexes);
            if (!xml_parser_free($parser)) {
                break;
            }

            if (array_key_exists('OPT', $indexes)) {
                unset($indexes['OPT']);
            }

            $data = array();
            foreach ($indexes as $modelName => $modelIndexes) {
                $data[$modelName] = array();
                foreach ($values[ $modelIndexes[0] ]['attributes']
                         as $attributeName => $attributeValue
                         ) {
                    $data[$modelName][ strtolower($attributeName) ] = $attributeValue;
                }
            }

            $this->_data = $data;
        } while (false);
    }

    /**#@-*/

    // }}}
}

// }}}

/*
 * Local Variables:
 * mode: php
 * coding: iso-8859-1
 * tab-width: 4
 * c-basic-offset: 4
 * c-hanging-comment-ender-p: nil
 * indent-tabs-mode: nil
 * End:
 */