source: tmp/version-2_5-test/data/module/Net/UserAgent/Mobile/DoCoMo/ScreenInfo.php @ 18609

Revision 18609, 106.9 KB checked in by kajiwara, 14 years ago (diff)

正式版にナイトリービルド版をマージしてみるテスト

Line 
1<?php
2/* vim: set expandtab tabstop=4 shiftwidth=4: */
3
4/**
5 * PHP versions 4 and 5
6 *
7 * Copyright (c) 2008-2009 KUBO Atsuhiro <kubo@iteman.jp>,
8 * All rights reserved.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions are met:
12 *
13 *     * Redistributions of source code must retain the above copyright
14 *       notice, this list of conditions and the following disclaimer.
15 *     * Redistributions in binary form must reproduce the above copyright
16 *       notice, this list of conditions and the following disclaimer in the
17 *       documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 *
31 * @category   Networking
32 * @package    Net_UserAgent_Mobile
33 * @author     KUBO Atsuhiro <kubo@iteman.jp>
34 * @copyright  2008-2009 KUBO Atsuhiro <kubo@iteman.jp>
35 * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
36 * @version    CVS: $Id: ScreenInfo.php,v 1.2 2009/06/23 08:06:58 kuboa Exp $
37 * @link       http://www.nttdocomo.co.jp/service/imode/make/content/spec/screen_area/index.html
38 * @since      File available since Release 1.0.0RC1
39 */
40
41// {{{ GLOBALS
42
43$GLOBALS['NET_USERAGENT_MOBILE_DoCoMo_ScreenInfo_Instance'] = null;
44
45// }}}
46// {{{ Net_UserAgent_Mobile_DoCoMo_ScreenInfo
47
48/**
49 * The screen information class for DoCoMo.
50 *
51 * @category   Networking
52 * @package    Net_UserAgent_Mobile
53 * @author     KUBO Atsuhiro <kubo@iteman.jp>
54 * @copyright  2008-2009 KUBO Atsuhiro <kubo@iteman.jp>
55 * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
56 * @version    Release: 1.0.0
57 * @link       http://www.nttdocomo.co.jp/service/imode/make/content/spec/screen_area/index.html
58 * @since      Class available since Release 1.0.0RC1
59 */
60class Net_UserAgent_Mobile_DoCoMo_ScreenInfo
61{
62
63    // {{{ properties
64
65    /**#@+
66     * @access public
67     */
68
69    /**#@-*/
70
71    /**#@+
72     * @access private
73     */
74
75    var $_data = array(
76
77                       // i-mode compliant HTML 1.0
78                       'D501I' => array(
79                                        'width'  => 96,
80                                        'height' => 72,
81                                        'depth'  => 2,
82                                        'color'  => 0
83                                        ),
84                       'F501I' => array(
85                                        'width'  => 112,
86                                        'height' => 84,
87                                        'depth'  => 2,
88                                        'color'  => 0
89                                        ),
90                       'N501I' => array(
91                                        'width'  => 118,
92                                        'height' => 128,
93                                        'depth'  => 2,
94                                        'color'  => 0
95                                        ),
96                       'P501I' => array(
97                                        'width'  => 96,
98                                        'height' => 120,
99                                        'depth'  => 2,
100                                        'color'  => 0
101                                        ),
102
103                       // i-mode compliant HTML 2.0
104                       'D502I' => array(
105                                        'width'  => 96,
106                                        'height' => 90,
107                                        'depth'  => 256,
108                                        'color'  => 1
109                                        ),
110                       'F502I' => array(
111                                        'width'  => 96,
112                                        'height' => 91,
113                                        'depth'  => 256,
114                                        'color'  => 1
115                                        ),
116                       'N502I' => array(
117                                        'width'  => 118,
118                                        'height' => 128,
119                                        'depth'  => 4,
120                                        'color'  => 0
121                                        ),
122                       'P502I' => array(
123                                        'width'  => 96,
124                                        'height' => 117,
125                                        'depth'  => 4,
126                                        'color'  => 0
127                                        ),
128                       'NM502I' => array(
129                                         'width'  => 111,
130                                         'height' => 106,
131                                         'depth'  => 2,
132                                         'color'  => 0
133                                         ),
134                       'SO502I' => array(
135                                         'width'  => 120,
136                                         'height' => 120,
137                                         'depth'  => 4,
138                                         'color'  => 0
139                                         ),
140                       'F502IT' => array(
141                                         'width'  => 96,
142                                         'height' => 91,
143                                         'depth'  => 256,
144                                         'color'  => 1
145                                         ),
146                       'N502IT' => array(
147                                         'width'  => 118,
148                                         'height' => 128,
149                                         'depth'  => 256,
150                                         'color'  => 1
151                                         ),
152                       'SO502IWM' => array(
153                                           'width'  => 120,
154                                           'height' => 113,
155                                           'depth'  => 256,
156                                           'color'  => 1
157                                           ),
158                       'SH821I' => array(
159                                         'width'  => 96,
160                                         'height' => 78,
161                                         'depth'  => 256,
162                                         'color'  => 1
163                                         ),
164                       'N821I' => array(
165                                        'width'  => 118,
166                                        'height' => 128,
167                                        'depth'  => 4,
168                                        'color'  => 0
169                                        ),
170                       'P821I' => array(
171                                        'width'  => 118,
172                                        'height' => 128,
173                                        'depth'  => 4,
174                                        'color'  => 0
175                                        ),
176                       'D209I' => array(
177                                        'width'  => 96,
178                                        'height' => 90,
179                                        'depth'  => 256,
180                                        'color'  => 1
181                                        ),
182                       'ER209I' => array(
183                                         'width'  => 120,
184                                         'height' => 72,
185                                         'depth'  => 2,
186                                         'color'  => 0
187                                         ),
188                       'F209I' => array(
189                                        'width'  => 96,
190                                        'height' => 91,
191                                        'depth'  => 256,
192                                        'color'  => 1
193                                        ),
194                       'KO209I' => array(
195                                         'width'  => 96,
196                                         'height' => 96,
197                                         'depth'  => 256,
198                                         'color'  => 1
199                                         ),
200                       'N209I' => array(
201                                        'width'  => 108,
202                                        'height' => 82,
203                                        'depth'  => 4,
204                                        'color'  => 0
205                                        ),
206                       'P209I' => array(
207                                        'width'  => 96,
208                                        'height' => 87,
209                                        'depth'  => 4,
210                                        'color'  => 0
211                                        ),
212                       'P209IS' => array(
213                                         'width'  => 96,
214                                         'height' => 87,
215                                         'depth'  => 256,
216                                         'color'  => 1
217                                         ),
218                       'R209I' => array(
219                                        'width'  => 96,
220                                        'height' => 72,
221                                        'depth'  => 4,
222                                        'color'  => 0
223                                        ),
224                       'P651PS' => array(
225                                         'width'  => 96,
226                                         'height' => 87,
227                                         'depth'  => 4,
228                                         'color'  => 0
229                                         ),
230                       'R691I' => array(
231                                        'width'  => 96,
232                                        'height' => 72,
233                                        'depth'  => 4,
234                                        'color'  => 0
235                                        ),
236                       'F671I' => array(
237                                        'width'  => 120,
238                                        'height' => 126,
239                                        'depth'  => 256,
240                                        'color'  => 1
241                                        ),
242                       'F210I' => array(
243                                        'width'  => 96,
244                                        'height' => 113,
245                                        'depth'  => 256,
246                                        'color'  => 1
247                                        ),
248                       'N210I' => array(
249                                        'width'  => 118,
250                                        'height' => 113,
251                                        'depth'  => 256,
252                                        'color'  => 1
253                                        ),
254                       'P210I' => array(
255                                        'width'  => 96,
256                                        'height' => 91,
257                                        'depth'  => 256,
258                                        'color'  => 1
259                                        ),
260                       'KO210I' => array(
261                                         'width'  => 96,
262                                         'height' => 96,
263                                         'depth'  => 256,
264                                         'color'  => 1
265                                         ),
266
267                       // i-mode compliant HTML 3.0
268                       'F503I' => array(
269                                        'width'  => 120,
270                                        'height' => 130,
271                                        'depth'  => 256,
272                                        'color'  => 1
273                                        ),
274                       'F503IS' => array(
275                                         'width'  => 120,
276                                         'height' => 130,
277                                         'depth'  => 4096,
278                                         'color'  => 1
279                                         ),
280                       'P503I' => array(
281                                        'width'  => 120,
282                                        'height' => 130,
283                                        'depth'  => 256,
284                                        'color'  => 1
285                                        ),
286                       'P503IS' => array(
287                                         'width'  => 120,
288                                         'height' => 130,
289                                         'depth'  => 256,
290                                         'color'  => 1
291                                         ),
292                       'N503I' => array(
293                                        'width'  => 118,
294                                        'height' => 128,
295                                        'depth'  => 4096,
296                                        'color'  => 1
297                                        ),
298                       'N503IS' => array(
299                                         'width'  => 118,
300                                         'height' => 128,
301                                         'depth'  => 4096,
302                                         'color'  => 1
303                                         ),
304                       'SO503I' => array(
305                                         'width'  => 120,
306                                         'height' => 113,
307                                         'depth'  => 65536,
308                                         'color'  => 1
309                                         ),
310                       'SO503IS' => array(
311                                          'width'  => 120,
312                                          'height' => 113,
313                                          'depth'  => 65536,
314                                          'color'  => 1
315                                          ),
316                       'D503I' => array(
317                                        'width'  => 132,
318                                        'height' => 126,
319                                        'depth'  => 4096,
320                                        'color'  => 1
321                                        ),
322                       'D503IS' => array(
323                                         'width'  => 132,
324                                         'height' => 126,
325                                         'depth'  => 4096,
326                                         'color'  => 1
327                                         ),
328                       'D210I' => array(
329                                        'width'  => 96,
330                                        'height' => 91,
331                                        'depth'  => 256,
332                                        'color'  => 1
333                                        ),
334                       'SO210I' => array(
335                                         'width'  => 120,
336                                         'height' => 113,
337                                         'depth'  => 256,
338                                         'color'  => 1
339                                         ),
340                       'F211I' => array(
341                                        'width'  => 96,
342                                        'height' => 113,
343                                        'depth'  => 4096,
344                                        'color'  => 1
345                                        ),
346                       'D211I' => array(
347                                        'width'  => 100,
348                                        'height' => 91,
349                                        'depth'  => 4096,
350                                        'color'  => 1
351                                        ),
352                       'N211I' => array(
353                                        'width'  => 118,
354                                        'height' => 128,
355                                        'depth'  => 4096,
356                                        'color'  => 1
357                                        ),
358                       'N211IS' => array(
359                                         'width'  => 118,
360                                         'height' => 128,
361                                         'depth'  => 4096,
362                                         'color'  => 1
363                                         ),
364                       'P211I' => array(
365                                        'width'  => 120,
366                                        'height' => 130,
367                                        'depth'  => 65536,
368                                        'color'  => 1
369                                        ),
370                       'P211IS' => array(
371                                         'width'  => 120,
372                                         'height' => 130,
373                                         'depth'  => 65536,
374                                         'color'  => 1
375                                         ),
376                       'SO211I' => array(
377                                         'width'  => 120,
378                                         'height' => 112,
379                                         'depth'  => 4096,
380                                         'color'  => 1
381                                         ),
382                       'R211I' => array(
383                                        'width'  => 96,
384                                        'height' => 98,
385                                        'depth'  => 4096,
386                                        'color'  => 1
387                                        ),
388                       'SH251I' => array(
389                                         'width'  => 120,
390                                         'height' => 130,
391                                         'depth'  => 65536,
392                                         'color'  => 1
393                                         ),
394                       'SH251IS' => array(
395                                          'width'  => 176,
396                                          'height' => 187,
397                                          'depth'  => 65536,
398                                          'color'  => 1
399                                          ),
400                       'R692I' => array(
401                                        'width'  => 96,
402                                        'height' => 98,
403                                        'depth'  => 4096,
404                                        'color'  => 1
405                                        ),
406
407                       // i-mode compliant HTML 3.0
408                       // (FOMA 2001/2002/2101V)
409                       'N2001' => array(
410                                        'width'  => 118,
411                                        'height' => 128,
412                                        'depth'  => 4096,
413                                        'color'  => 1
414                                        ),
415                       'N2002' => array(
416                                        'width'  => 118,
417                                        'height' => 128,
418                                        'depth'  => 65536,
419                                        'color'  => 1
420                                        ),
421                       'P2002' => array(
422                                        'width'  => 118,
423                                        'height' => 128,
424                                        'depth'  => 65536,
425                                        'color'  => 1
426                                        ),
427                       'D2101V' => array(
428                                         'width'  => 120,
429                                         'height' => 130,
430                                         'depth'  => 262144,
431                                         'color'  => 1
432                                         ),
433                       'P2101V' => array(
434                                         'width'  => 163,
435                                         'height' => 182,
436                                         'depth'  => 262144,
437                                         'color'  => 1
438                                         ),
439                       'SH2101V' => array(
440                                          'width'  => 800,
441                                          'height' => 600,
442                                          'depth'  => 65536,
443                                          'color'  => 1
444                                          ),
445                       'T2101V' => array(
446                                         'width'  => 176,
447                                         'height' => 144,
448                                         'depth'  => 262144,
449                                         'color'  => 1
450                                         ),
451
452                       // i-mode compliant HTML 4.0
453                       'D504I' => array(
454                                        'width'  => 132,
455                                        'height' => 144,
456                                        'depth'  => 262144,
457                                        'color'  => 1
458                                        ),
459                       'F504I' => array(
460                                        'width'  => 132,
461                                        'height' => 136,
462                                        'depth'  => 65536,
463                                        'color'  => 1
464                                        ),
465                       'F504IS' => array(
466                                         'width'  => 132,
467                                         'height' => 136,
468                                         'depth'  => 65536,
469                                         'color'  => 1
470                                         ),
471                       'N504I' => array(
472                                        'width'  => 160,
473                                        'height' => 180,
474                                        'depth'  => 65536,
475                                        'color'  => 1
476                                        ),
477                       'N504IS' => array(
478                                         'width'  => 160,
479                                         'height' => 180,
480                                         'depth'  => 65536,
481                                         'color'  => 1
482                                         ),
483                       'SO504I' => array(
484                                         'width'  => 120,
485                                         'height' => 112,
486                                         'depth'  => 65536,
487                                         'color'  => 1
488                                         ),
489                       'P504I' => array(
490                                        'width'  => 132,
491                                        'height' => 144,
492                                        'depth'  => 65536,
493                                        'color'  => 1
494                                        ),
495                       'P504IS' => array(
496                                         'width'  => 132,
497                                         'height' => 144,
498                                         'depth'  => 65536,
499                                         'color'  => 1
500                                         ),
501                       'D251I' => array(
502                                        'width'  => 132,
503                                        'height' => 144,
504                                        'depth'  => 262144,
505                                        'color'  => 1
506                                        ),
507                       'D251IS' => array(
508                                         'width'  => 132,
509                                         'height' => 144,
510                                         'depth'  => 262144,
511                                         'color'  => 1
512                                         ),
513                       'F251I' => array(
514                                        'width'  => 132,
515                                        'height' => 140,
516                                        'depth'  => 65536,
517                                        'color'  => 1
518                                        ),
519                       'N251I' => array(
520                                        'width'  => 132,
521                                        'height' => 140,
522                                        'depth'  => 65536,
523                                        'color'  => 1
524                                        ),
525                       'N251IS' => array(
526                                         'width'  => 132,
527                                         'height' => 140,
528                                         'depth'  => 65536,
529                                         'color'  => 1
530                                         ),
531                       'P251IS' => array(
532                                         'width'  => 132,
533                                         'height' => 144,
534                                         'depth'  => 65536,
535                                         'color'  => 1
536                                         ),
537                       'F671IS' => array(
538                                         'width'  => 160,
539                                         'height' => 120,
540                                         'depth'  => 65536,
541                                         'color'  => 1
542                                         ),
543                       'F212I' => array(
544                                        'width'  => 132,
545                                        'height' => 136,
546                                        'depth'  => 65536,
547                                        'color'  => 1
548                                        ),
549                       'SO212I' => array(
550                                         'width'  => 120,
551                                         'height' => 112,
552                                         'depth'  => 65536,
553                                         'color'  => 1
554                                         ),
555                       'F661I' => array(
556                                        'width'  => 132,
557                                        'height' => 136,
558                                        'depth'  => 65536,
559                                        'color'  => 1
560                                        ),
561                       'F672I' => array(
562                                        'width'  => 160,
563                                        'height' => 120,
564                                        'depth'  => 65536,
565                                        'color'  => 1
566                                        ),
567                       'SO213I' => array(
568                                         'width'  => 120,
569                                         'height' => 112,
570                                         'depth'  => 65536,
571                                         'color'  => 1
572                                         ),
573                       'SO213IS' => array(
574                                          'width'  => 120,
575                                          'height' => 112,
576                                          'depth'  => 65536,
577                                          'color'  => 1
578                                          ),
579                       'SO213IWR' => array(
580                                           'width'  => 120,
581                                           'height' => 112,
582                                           'depth'  => 65536,
583                                           'color'  => 1
584                                           ),
585
586                       // i-mode compliant HTML 4.0
587                       // (FOMA 2051/2102V/2701 etc.)
588                       'F2051' => array(
589                                        'width'  => 176,
590                                        'height' => 182,
591                                        'depth'  => 65536,
592                                        'color'  => 1
593                                        ),
594                       'N2051' => array(
595                                        'width'  => 176,
596                                        'height' => 198,
597                                        'depth'  => 65536,
598                                        'color'  => 1
599                                        ),
600                       'P2102V' => array(
601                                         'width'  => 176,
602                                         'height' => 198,
603                                         'depth'  => 262144,
604                                         'color'  => 1
605                                         ),
606                       'P2102V' => array(
607                                         'width'  => 176,
608                                         'height' => 198,
609                                         'depth'  => 262144,
610                                         'color'  => 1
611                                         ),
612                       'F2102V' => array(
613                                         'width'  => 176,
614                                         'height' => 182,
615                                         'depth'  => 65536,
616                                         'color'  => 1
617                                         ),
618                       'N2102V' => array(
619                                         'width'  => 176,
620                                         'height' => 198,
621                                         'depth'  => 65536,
622                                         'color'  => 1
623                                         ),
624                       'N2701' => array(
625                                        'width'  => 176,
626                                        'height' => 198,
627                                        'depth'  => 65536,
628                                        'color'  => 1
629                                        ),
630                       'NM850IG' => array(
631                                          'width'  => 176,
632                                          'height' => 144,
633                                          'depth'  => 65536,
634                                          'color'  => 1
635                                          ),
636                       'NM705I' => array(
637                                         'width'  => 231,
638                                         'height' => 235,
639                                         'depth'  => 16777216,
640                                         'color'  => 1
641                                         ),
642                       'NM706I' => array(
643                                         'width'  => 231,
644                                         'height' => 235,
645                                         'depth'  => 16777216,
646                                         'color'  => 1
647                                         ),
648
649                       // i-mode compliant HTML 5.0 (505i etc.)
650                       'D505I' => array(
651                                        'width'  => 240,
652                                        'height' => 270,
653                                        'depth'  => 262144,
654                                        'color'  => 1
655                                        ),
656                       'SO505I' => array(
657                                         'width'  => 256,
658                                         'height' => 240,
659                                         'depth'  => 262144,
660                                         'color'  => 1
661                                         ),
662                       'SH505I' => array(
663                                         'width'  => 240,
664                                         'height' => 252,
665                                         'depth'  => 262144,
666                                         'color'  => 1
667                                         ),
668                       'N505I' => array(
669                                        'width'  => 240,
670                                        'height' => 270,
671                                        'depth'  => 262144,
672                                        'color'  => 1
673                                        ),
674                       'F505I' => array(
675                                        'width'  => 240,
676                                        'height' => 268,
677                                        'depth'  => 262144,
678                                        'color'  => 1
679                                        ),
680                       'P505I' => array(
681                                        'width'  => 240,
682                                        'height' => 266,
683                                        'depth'  => 65536,
684                                        'color'  => 1
685                                        ),
686                       'D505IS' => array(
687                                         'width'  => 240,
688                                         'height' => 270,
689                                         'depth'  => 262144,
690                                         'color'  => 1
691                                         ),
692                       'P505IS' => array(
693                                         'width'  => 240,
694                                         'height' => 266,
695                                         'depth'  => 65536,
696                                         'color'  => 1
697                                         ),
698                       'N505IS' => array(
699                                         'width'  => 240,
700                                         'height' => 270,
701                                         'depth'  => 262144,
702                                         'color'  => 1
703                                         ),
704                       'SO505IS' => array(
705                                          'width'  => 240,
706                                          'height' => 256,
707                                          'depth'  => 262144,
708                                          'color'  => 1
709                                          ),
710                       'SH505IS' => array(
711                                          'width'  => 240,
712                                          'height' => 252,
713                                          'depth'  => 262144,
714                                          'color'  => 1
715                                          ),
716                       'F505IGPS' => array(
717                                           'width'  => 240,
718                                           'height' => 268,
719                                           'depth'  => 262144,
720                                           'color'  => 1
721                                           ),
722                       'D252I' => array(
723                                        'width'  => 176,
724                                        'height' => 198,
725                                        'depth'  => 262144,
726                                        'color'  => 1
727                                        ),
728                       'SH252I' => array(
729                                         'width'  => 240,
730                                         'height' => 252,
731                                         'depth'  => 262144,
732                                         'color'  => 1
733                                         ),
734                       'P252I' => array(
735                                        'width'  => 132,
736                                        'height' => 144,
737                                        'depth'  => 65536,
738                                        'color'  => 1
739                                        ),
740                       'N252I' => array(
741                                        'width'  => 132,
742                                        'height' => 140,
743                                        'depth'  => 65536,
744                                        'color'  => 1
745                                        ),
746                       'P252IS' => array(
747                                         'width'  => 132,
748                                         'height' => 144,
749                                         'depth'  => 65536,
750                                         'color'  => 1
751                                         ),
752                       'D506I' => array(
753                                        'width'  => 240,
754                                        'height' => 270,
755                                        'depth'  => 262144,
756                                        'color'  => 1
757                                        ),
758                       'F506I' => array(
759                                        'width'  => 240,
760                                        'height' => 268,
761                                        'depth'  => 262144,
762                                        'color'  => 1
763                                        ),
764                       'N506I' => array(
765                                        'width'  => 240,
766                                        'height' => 295,
767                                        'depth'  => 262144,
768                                        'color'  => 1
769                                        ),
770                       'P506IC' => array(
771                                         'width'  => 240,
772                                         'height' => 266,
773                                         'depth'  => 65536,
774                                         'color'  => 1
775                                         ),
776                       'SH506IC' => array(
777                                          'width'  => 240,
778                                          'height' => 252,
779                                          'depth'  => 262144,
780                                          'color'  => 1
781                                          ),
782                       'SO506IC' => array(
783                                          'width'  => 240,
784                                          'height' => 256,
785                                          'depth'  => 262144,
786                                          'color'  => 1
787                                          ),
788                       'N506IS' => array(
789                                         'width'  => 240,
790                                         'height' => 295,
791                                         'depth'  => 262144,
792                                         'color'  => 1
793                                         ),
794                       'SO506I' => array(
795                                         'width'  => 240,
796                                         'height' => 256,
797                                         'depth'  => 262144,
798                                         'color'  => 1
799                                         ),
800                       'SO506IS' => array(
801                                          'width'  => 240,
802                                          'height' => 256,
803                                          'depth'  => 262144,
804                                          'color'  => 1
805                                          ),
806                       'N506IS2' => array(
807                                          'width'  => 240,
808                                          'height' => 295,
809                                          'depth'  => 262144,
810                                          'color'  => 1
811                                          ),
812                       'P506ICII' => array(
813                                           'width'  => 240,
814                                           'height' => 266,
815                                           'depth'  => 65536,
816                                           'color'  => 1
817                                           ),
818                       'D253I' => array(
819                                        'width'  => 176,
820                                        'height' => 198,
821                                        'depth'  => 262144,
822                                        'color'  => 1
823                                        ),
824                       'N253I' => array(
825                                        'width'  => 160,
826                                        'height' => 180,
827                                        'depth'  => 65536,
828                                        'color'  => 1
829                                        ),
830                       'P253I' => array(
831                                        'width'  => 132,
832                                        'height' => 144,
833                                        'depth'  => 65536,
834                                        'color'  => 1
835                                        ),
836                       'D253IWM' => array(
837                                          'width'  => 220,
838                                          'height' => 144,
839                                          'depth'  => 262144,
840                                          'color'  => 1
841                                          ),
842                       'P253IS' => array(
843                                         'width'  => 132,
844                                         'height' => 144,
845                                         'depth'  => 65536,
846                                         'color'  => 1
847                                         ),
848                       'P213I' => array(
849                                        'width'  => 132,
850                                        'height' => 144,
851                                        'depth'  => 65536,
852                                        'color'  => 1
853                                        ),
854
855                       // i-mode compliant HTML 5.0
856                       // (FOMA 900i etc.)
857                       'F900I' => array(
858                                        'width'  => 230,
859                                        'height' => 240,
860                                        'depth'  => 262144,
861                                        'color'  => 1
862                                        ),
863                       'N900I' => array(
864                                        'width'  => 240,
865                                        'height' => 269,
866                                        'depth'  => 65536,
867                                        'color'  => 1
868                                        ),
869                       'P900I' => array(
870                                        'width'  => 240,
871                                        'height' => 266,
872                                        'depth'  => 65536,
873                                        'color'  => 1
874                                        ),
875                       'SH900I' => array(
876                                         'width'  => 240,
877                                         'height' => 252,
878                                         'depth'  => 262144,
879                                         'color'  => 1
880                                         ),
881                       'F900IT' => array(
882                                         'width'  => 230,
883                                         'height' => 240,
884                                         'depth'  => 262144,
885                                         'color'  => 1
886                                         ),
887                       'P900IV' => array(
888                                         'width'  => 240,
889                                         'height' => 266,
890                                         'depth'  => 262144,
891                                         'color'  => 1
892                                         ),
893                       'N900IS' => array(
894                                         'width'  => 240,
895                                         'height' => 269,
896                                         'depth'  => 65536,
897                                         'color'  => 1
898                                         ),
899                       'D900I' => array(
900                                        'width'  => 240,
901                                        'height' => 270,
902                                        'depth'  => 262144,
903                                        'color'  => 1
904                                        ),
905                       'F900IC' => array(
906                                         'width'  => 230,
907                                         'height' => 240,
908                                         'depth'  => 262144,
909                                         'color'  => 1
910                                         ),
911                       'F880IES' => array(
912                                          'width'  => 240,
913                                          'height' => 256,
914                                          'depth'  => 65536,
915                                          'color'  => 1
916                                          ),
917                       'N900IL' => array(
918                                         'width'  => 240,
919                                         'height' => 269,
920                                         'depth'  => 65536,
921                                         'color'  => 1
922                                         ),
923                       'N900IG' => array(
924                                         'width'  => 240,
925                                         'height' => 269,
926                                         'depth'  => 65536,
927                                         'color'  => 1
928                                         ),
929                       'SH901IC' => array(
930                                          'width'  => 240,
931                                          'height' => 252,
932                                          'depth'  => 262144,
933                                          'color'  => 1
934                                          ),
935                       'F901IC' => array(
936                                         'width'  => 230,
937                                         'height' => 240,
938                                         'depth'  => 262144,
939                                         'color'  => 1
940                                         ),
941                       'N901IC' => array(
942                                         'width'  => 240,
943                                         'height' => 270,
944                                         'depth'  => 65536,
945                                         'color'  => 1
946                                         ),
947                       'D901I' => array(
948                                        'width'  => 230,
949                                        'height' => 240,
950                                        'depth'  => 262144,
951                                        'color'  => 1
952                                        ),
953                       'P901I' => array(
954                                        'width'  => 240,
955                                        'height' => 270,
956                                        'depth'  => 65536,
957                                        'color'  => 1
958                                        ),
959                       'F700I' => array(
960                                        'width'  => 230,
961                                        'height' => 240,
962                                        'depth'  => 262144,
963                                        'color'  => 1
964                                        ),
965                       'SH700I' => array(
966                                         'width'  => 240,
967                                         'height' => 252,
968                                         'depth'  => 262144,
969                                         'color'  => 1
970                                         ),
971                       'N700I' => array(
972                                        'width'  => 240,
973                                        'height' => 270,
974                                        'depth'  => 65536,
975                                        'color'  => 1
976                                        ),
977                       'P700I' => array(
978                                        'width'  => 240,
979                                        'height' => 270,
980                                        'depth'  => 65536,
981                                        'color'  => 1
982                                        ),
983                       'F700IS' => array(
984                                         'width'  => 230,
985                                         'height' => 240,
986                                         'depth'  => 262144,
987                                         'color'  => 1
988                                         ),
989                       'SH700IS' => array(
990                                          'width'  => 240,
991                                          'height' => 252,
992                                          'depth'  => 262144,
993                                          'color'  => 1
994                                          ),
995                       'SA700IS' => array(
996                                          'width'  => 240,
997                                          'height' => 252,
998                                          'depth'  => 65536,
999                                          'color'  => 1
1000                                          ),
1001
1002                       'SH901IS' => array(
1003                                          'width'  => 240,
1004                                          'height' => 252,
1005                                          'depth'  => 262144,
1006                                          'color'  => 1
1007                                          ),
1008                       'F901IS' => array(
1009                                         'width'  => 230,
1010                                         'height' => 240,
1011                                         'depth'  => 262144,
1012                                         'color'  => 1
1013                                         ),
1014                       'D901IS' => array(
1015                                         'width'  => 230,
1016                                         'height' => 240,
1017                                         'depth'  => 262144,
1018                                         'color'  => 1
1019                                         ),
1020                       'P901IS' => array(
1021                                         'width'  => 240,
1022                                         'height' => 270,
1023                                         'depth'  => 65536,
1024                                         'color'  => 1
1025                                         ),
1026                       'N901IS' => array(
1027                                         'width'  => 240,
1028                                         'height' => 270,
1029                                         'depth'  => 65536,
1030                                         'color'  => 1
1031                                         ),
1032                       'P901ITV' => array(
1033                                          'width'  => 240,
1034                                          'height' => 270,
1035                                          'depth'  => 65536,
1036                                          'color'  => 1
1037                                          ),
1038                       'SH851I' => array(
1039                                         'width'  => 240,
1040                                         'height' => 252,
1041                                         'depth'  => 262144,
1042                                         'color'  => 1
1043                                         ),
1044                       'P851I' => array(
1045                                        'width'  => 240,
1046                                        'height' => 270,
1047                                        'depth'  => 65536,
1048                                        'color'  => 1
1049                                        ),
1050                       'F881IES' => array(
1051                                          'width'  => 240,
1052                                          'height' => 256,
1053                                          'depth'  => 65536,
1054                                          'color'  => 1
1055                                          ),
1056                       'D701I' => array(
1057                                        'width'  => 230,
1058                                        'height' => 240,
1059                                        'depth'  => 65536,
1060                                        'color'  => 1
1061                                        ),
1062                       'N701I' => array(
1063                                        'width'  => 240,
1064                                        'height' => 270,
1065                                        'depth'  => 65536,
1066                                        'color'  => 1
1067                                        ),
1068                       'P701ID' => array(
1069                                         'width'  => 240,
1070                                         'height' => 270,
1071                                         'depth'  => 65536,
1072                                         'color'  => 1
1073                                         ),
1074                       'D701IWM' => array(
1075                                          'width'  => 230,
1076                                          'height' => 240,
1077                                          'depth'  => 65536,
1078                                          'color'  => 1
1079                                          ),
1080                       'N701IECO' => array(
1081                                           'width'  => 240,
1082                                           'height' => 270,
1083                                           'depth'  => 65536,
1084                                           'color'  => 1
1085                                           ),
1086                       'SA800I' => array(
1087                                         'width'  => 240,
1088                                         'height' => 252,
1089                                         'depth'  => 65536,
1090                                         'color'  => 1
1091                                         ),
1092                       'L600I' => array(
1093                                        'width'  => 170,
1094                                        'height' => 189,
1095                                        'depth'  => 65536,
1096                                        'color'  => 1
1097                                        ),
1098                       'N600I' => array(
1099                                        'width'  => 176,
1100                                        'height' => 180,
1101                                        'depth'  => 65536,
1102                                        'color'  => 1
1103                                        ),
1104                       'L601I' => array(
1105                                        'width'  => 170,
1106                                        'height' => 189,
1107                                        'depth'  => 65536,
1108                                        'color'  => 1
1109                                        ),
1110                       'M702IS' => array(
1111                                         'width'  => 240,
1112                                         'height' => 267,
1113                                         'depth'  => 262144,
1114                                         'color'  => 1
1115                                         ),
1116                       'M702IG' => array(
1117                                         'width'  => 240,
1118                                         'height' => 267,
1119                                         'depth'  => 262144,
1120                                         'color'  => 1
1121                                         ),
1122                       'L602I' => array(
1123                                        'width'  => 170,
1124                                        'height' => 189,
1125                                        'depth'  => 65536,
1126                                        'color'  => 1
1127                                        ),
1128
1129                       // i-mode compliant HTML 6.0
1130                       // (FOMA 902i etc.)
1131                       'F902I' => array(
1132                                        'width'  => 230,
1133                                        'height' => 240,
1134                                        'depth'  => 262144,
1135                                        'color'  => 1
1136                                        ),
1137                       'D902I' => array(
1138                                        'width'  => 230,
1139                                        'height' => 320,
1140                                        'depth'  => 262144,
1141                                        'color'  => 1
1142                                        ),
1143                       'N902I' => array(
1144                                        'width'  => 240,
1145                                        'height' => 270,
1146                                        'depth'  => 262144,
1147                                        'color'  => 1
1148                                        ),
1149                       'P902I' => array(
1150                                        'width'  => 240,
1151                                        'height' => 270,
1152                                        'depth'  => 262144,
1153                                        'color'  => 1
1154                                        ),
1155                       'SH902I' => array(
1156                                         'width'  => 240,
1157                                         'height' => 240,
1158                                         'depth'  => 262144,
1159                                         'color'  => 1
1160                                         ),
1161                       'SO902I' => array(
1162                                         'width'  => 240,
1163                                         'height' => 256,
1164                                         'depth'  => 262144,
1165                                         'color'  => 1
1166                                         ),
1167                       'SH902IS' => array(
1168                                          'width'  => 240,
1169                                          'height' => 240,
1170                                          'depth'  => 262144,
1171                                          'color'  => 1
1172                                          ),
1173                       'P902IS' => array(
1174                                         'width'  => 240,
1175                                         'height' => 270,
1176                                         'depth'  => 262144,
1177                                         'color'  => 1
1178                                         ),
1179                       'N902IS' => array(
1180                                         'width'  => 240,
1181                                         'height' => 270,
1182                                         'depth'  => 262144,
1183                                         'color'  => 1
1184                                         ),
1185                       'D902IS' => array(
1186                                         'width'  => 230,
1187                                         'height' => 320,
1188                                         'depth'  => 262144,
1189                                         'color'  => 1
1190                                         ),
1191                       'F902IS' => array(
1192                                         'width'  => 230,
1193                                         'height' => 240,
1194                                         'depth'  => 262144,
1195                                         'color'  => 1
1196                                         ),
1197                       'SO902IWP+' => array(
1198                                            'width'  => 240,
1199                                            'height' => 256,
1200                                            'depth'  => 262144,
1201                                            'color'  => 1
1202                                            ),
1203                       'SH902ISL' => array(
1204                                           'width'  => 240,
1205                                           'height' => 240,
1206                                           'depth'  => 262144,
1207                                           'color'  => 1
1208                                           ),
1209                       'N902IX' => array(
1210                                         'width'  => 240,
1211                                         'height' => 270,
1212                                         'depth'  => 262144,
1213                                         'color'  => 1
1214                                         ),
1215                       'N902IL' => array(
1216                                         'width'  => 240,
1217                                         'height' => 270,
1218                                         'depth'  => 262144,
1219                                         'color'  => 1
1220                                         ),
1221                       'P702I' => array(
1222                                        'width'  => 240,
1223                                        'height' => 270,
1224                                        'depth'  => 262144,
1225                                        'color'  => 1
1226                                        ),
1227                       'N702ID' => array(
1228                                         'width'  => 240,
1229                                         'height' => 270,
1230                                         'depth'  => 65536,
1231                                         'color'  => 1
1232                                         ),
1233                       'F702ID' => array(
1234                                         'width'  => 230,
1235                                         'height' => 240,
1236                                         'depth'  => 262144,
1237                                         'color'  => 1
1238                                         ),
1239                       'SH702ID' => array(
1240                                          'width'  => 240,
1241                                          'height' => 240,
1242                                          'depth'  => 262144,
1243                                          'color'  => 1
1244                                          ),
1245                       'D702I' => array(
1246                                        'width'  => 230,
1247                                        'height' => 240,
1248                                        'depth'  => 262144,
1249                                        'color'  => 1
1250                                        ),
1251                       'SO702I' => array(
1252                                         'width'  => 240,
1253                                         'height' => 256,
1254                                         'depth'  => 262144,
1255                                         'color'  => 1
1256                                         ),
1257                       'D702IBCL' => array(
1258                                           'width'  => 230,
1259                                           'height' => 240,
1260                                           'depth'  => 262144,
1261                                           'color'  => 1
1262                                           ),
1263                       'SA702I' => array(
1264                                         'width'  => 240,
1265                                         'height' => 252,
1266                                         'depth'  => 65536,
1267                                         'color'  => 1
1268                                         ),
1269                       'SH702IS' => array(
1270                                          'width'  => 240,
1271                                          'height' => 240,
1272                                          'depth'  => 262144,
1273                                          'color'  => 1
1274                                          ),
1275                       'N702IS' => array(
1276                                         'width'  => 240,
1277                                         'height' => 270,
1278                                         'depth'  => 65536,
1279                                         'color'  => 1
1280                                         ),
1281                       'P702ID' => array(
1282                                         'width'  => 240,
1283                                         'height' => 270,
1284                                         'depth'  => 262144,
1285                                         'color'  => 1
1286                                         ),
1287                       'D702IF' => array(
1288                                         'width'  => 230,
1289                                         'height' => 240,
1290                                         'depth'  => 262144,
1291                                         'color'  => 1
1292                                         ),
1293                       'D851IWM' => array(
1294                                          'width'  => 230,
1295                                          'height' => 320,
1296                                          'depth'  => 262144,
1297                                          'color'  => 1
1298                                          ),
1299                       'F882IES' => array(
1300                                          'width'  => 240,
1301                                          'height' => 256,
1302                                          'depth'  => 65536,
1303                                          'color'  => 1
1304                                          ),
1305                       'N601I' => array(
1306                                        'width'  => 240,
1307                                        'height' => 270,
1308                                        'depth'  => 65536,
1309                                        'color'  => 1
1310                                        ),
1311                       'D800IDS' => array(
1312                                          'width'  => 230,
1313                                          'height' => 240,
1314                                          'depth'  => 262144,
1315                                          'color'  => 1
1316                                          ),
1317                       'P703IMYU' => array(
1318                                           'width'  => 240,
1319                                           'height' => 270,
1320                                           'depth'  => 262144,
1321                                           'color'  => 1
1322                                           ),
1323                       'F883I' => array(
1324                                        'width'  => 240,
1325                                        'height' => 256,
1326                                        'depth'  => 65536,
1327                                        'color'  => 1
1328                                        ),
1329                       'F883IS' => array(
1330                                         'width'  => 240,
1331                                         'height' => 256,
1332                                         'depth'  => 65536,
1333                                         'color'  => 1
1334                                         ),
1335                       'P704IMYU' => array(
1336                                           'width'  => 240,
1337                                           'height' => 270,
1338                                           'depth'  => 262144,
1339                                           'color'  => 1
1340                                           ),
1341                       'L704I' => array(
1342                                        'width'  => 240,
1343                                        'height' => 280,
1344                                        'depth'  => 262144,
1345                                        'color'  => 1
1346                                        ),
1347                       'L705I' => array(
1348                                        'width'  => 240,
1349                                        'height' => 280,
1350                                        'depth'  => 262144,
1351                                        'color'  => 1
1352                                        ),
1353                       'L705IX' => array(
1354                                         'width'  => 240,
1355                                         'height' => 280,
1356                                         'depth'  => 262144,
1357                                         'color'  => 1
1358                                         ),
1359                       'L852I' => array(
1360                                        'width'  => 240,
1361                                        'height' => 298,
1362                                        'depth'  => 65536,
1363                                        'color'  => 1
1364                                        ),
1365                       'L706IE' => array(
1366                                         'width'  => 240,
1367                                         'height' => 280,
1368                                         'depth'  => 262144,
1369                                         'color'  => 1
1370                                         ),
1371                       'L01A' => array(
1372                                       'width'  => 240,
1373                                       'height' => 350,
1374                                       'depth'  => 262144,
1375                                       'color'  => 1
1376                                       ),
1377                       'L03A' => array(
1378                                       'width'  => 240,
1379                                       'height' => 280,
1380                                       'depth'  => 262144,
1381                                       'color'  => 1
1382                                       ),
1383
1384                       // i-mode compliant HTML 7.0
1385                       // (FOMA 903i etc.)
1386                       'SH903I' => array(
1387                                         'width'  => 240,
1388                                         'height' => 320,
1389                                         'depth'  => 262144,
1390                                         'color'  => 1
1391                                         ),
1392                       'P903I' => array(
1393                                        'width'  => 240,
1394                                        'height' => 270,
1395                                        'depth'  => 262144,
1396                                        'color'  => 1
1397                                        ),
1398                       'N903I' => array(
1399                                        'width'  => 240,
1400                                        'height' => 270,
1401                                        'depth'  => 262144,
1402                                        'color'  => 1
1403                                        ),
1404                       'D903I' => array(
1405                                        'width'  => 230,
1406                                        'height' => 320,
1407                                        'depth'  => 262144,
1408                                        'color'  => 1
1409                                        ),
1410                       'F903I' => array(
1411                                        'width'  => 230,
1412                                        'height' => 240,
1413                                        'depth'  => 262144,
1414                                        'color'  => 1
1415                                        ),
1416                       'SO903I' => array(
1417                                         'width'  => 240,
1418                                         'height' => 368,
1419                                         'depth'  => 262144,
1420                                         'color'  => 1
1421                                         ),
1422                       'D903ITV' => array(
1423                                          'width'  => 230,
1424                                          'height' => 320,
1425                                          'depth'  => 262144,
1426                                          'color'  => 1
1427                                          ),
1428                       'F903IX' => array(
1429                                         'width'  => 230,
1430                                         'height' => 240,
1431                                         'depth'  => 262144,
1432                                         'color'  => 1
1433                                         ),
1434                       'P903ITV' => array(
1435                                          'width'  => 240,
1436                                          'height' => 350,
1437                                          'depth'  => 262144,
1438                                          'color'  => 1
1439                                          ),
1440                       'SH903ITV' => array(
1441                                           'width'  => 240,
1442                                           'height' => 320,
1443                                           'depth'  => 262144,
1444                                           'color'  => 1
1445                                           ),
1446                       'F903IBSC' => array(
1447                                           'width'  => 230,
1448                                           'height' => 240,
1449                                           'depth'  => 262144,
1450                                           'color'  => 1
1451                                           ),
1452                       'P903IX' => array(
1453                                         'width'  => 240,
1454                                         'height' => 270,
1455                                         'depth'  => 262144,
1456                                         'color'  => 1
1457                                         ),
1458                       'SO903ITV' => array(
1459                                           'width'  => 240,
1460                                           'height' => 368,
1461                                           'depth'  => 262144,
1462                                           'color'  => 1
1463                                           ),
1464                       'N703ID' => array(
1465                                         'width'  => 240,
1466                                         'height' => 270,
1467                                         'depth'  => 262144,
1468                                         'color'  => 1
1469                                         ),
1470                       'F703I' => array(
1471                                        'width'  => 230,
1472                                        'height' => 240,
1473                                        'depth'  => 262144,
1474                                        'color'  => 1
1475                                        ),
1476                       'P703I' => array(
1477                                        'width'  => 240,
1478                                        'height' => 270,
1479                                        'depth'  => 262144,
1480                                        'color'  => 1
1481                                        ),
1482                       'D703I' => array(
1483                                        'width'  => 230,
1484                                        'height' => 240,
1485                                        'depth'  => 262144,
1486                                        'color'  => 1
1487                                        ),
1488                       'SH703I' => array(
1489                                         'width'  => 240,
1490                                         'height' => 240,
1491                                         'depth'  => 262144,
1492                                         'color'  => 1
1493                                         ),
1494                       'SH703I' => array(
1495                                         'width'  => 240,
1496                                         'height' => 240,
1497                                         'depth'  => 262144,
1498                                         'color'  => 1
1499                                         ),
1500                       'N703IMYU' => array(
1501                                           'width'  => 240,
1502                                           'height' => 270,
1503                                           'depth'  => 262144,
1504                                           'color'  => 1
1505                                           ),
1506                       'SO703I' => array(
1507                                         'width'  => 240,
1508                                         'height' => 368,
1509                                         'depth'  => 262144,
1510                                         'color'  => 1
1511                                         ),
1512                       'P904I' => array(
1513                                        'width'  => 240,
1514                                        'height' => 350,
1515                                        'depth'  => 262144,
1516                                        'color'  => 1
1517                                        ),
1518                       'D904I' => array(
1519                                        'width'  => 240,
1520                                        'height' => 320,
1521                                        'depth'  => 262144,
1522                                        'color'  => 1
1523                                        ),
1524                       'F904I' => array(
1525                                        'width'  => 240,
1526                                        'height' => 352,
1527                                        'depth'  => 262144,
1528                                        'color'  => 1
1529                                        ),
1530                       'N904I' => array(
1531                                        'width'  => 240,
1532                                        'height' => 352,
1533                                        'depth'  => 262144,
1534                                        'color'  => 1
1535                                        ),
1536                       'SH904I' => array(
1537                                         'width'  => 240,
1538                                         'height' => 320,
1539                                         'depth'  => 262144,
1540                                         'color'  => 1
1541                                         ),
1542                       'P704I' => array(
1543                                        'width'  => 240,
1544                                        'height' => 270,
1545                                        'depth'  => 262144,
1546                                        'color'  => 1
1547                                        ),
1548                       'D704I' => array(
1549                                        'width'  => 230,
1550                                        'height' => 240,
1551                                        'depth'  => 262144,
1552                                        'color'  => 1
1553                                        ),
1554                       'SH704I' => array(
1555                                         'width'  => 240,
1556                                         'height' => 320,
1557                                         'depth'  => 262144,
1558                                         'color'  => 1
1559                                         ),
1560                       'N704IMYU' => array(
1561                                           'width'  => 240,
1562                                           'height' => 270,
1563                                           'depth'  => 262144,
1564                                           'color'  => 1
1565                                           ),
1566                       'F704I' => array(
1567                                        'width'  => 230,
1568                                        'height' => 240,
1569                                        'depth'  => 262144,
1570                                        'color'  => 1
1571                                        ),
1572                       'SO704I' => array(
1573                                         'width'  => 240,
1574                                         'height' => 368,
1575                                         'depth'  => 262144,
1576                                         'color'  => 1
1577                                         ),
1578                       'F883IES' => array(
1579                                          'width'  => 240,
1580                                          'height' => 256,
1581                                          'depth'  => 65536,
1582                                          'color'  => 1
1583                                          ),
1584                       'F883IESS' => array(
1585                                           'width'  => 240,
1586                                           'height' => 256,
1587                                           'depth'  => 65536,
1588                                           'color'  => 1
1589                                           ),
1590                       'F801I' => array(
1591                                        'width'  => 240,
1592                                        'height' => 352,
1593                                        'depth'  => 65536,
1594                                        'color'  => 1
1595                                        ),
1596                       'F705I' => array(
1597                                        'width'  => 240,
1598                                        'height' => 352,
1599                                        'depth'  => 262144,
1600                                        'color'  => 1
1601                                        ),
1602                       'D705I' => array(
1603                                        'width'  => 240,
1604                                        'height' => 320,
1605                                        'depth'  => 262144,
1606                                        'color'  => 1
1607                                        ),
1608                       'D705IMYU' => array(
1609                                           'width'  => 240,
1610                                           'height' => 240,
1611                                           'depth'  => 262144,
1612                                           'color'  => 1
1613                                           ),
1614                       'SH705I' => array(
1615                                         'width'  => 240,
1616                                         'height' => 320,
1617                                         'depth'  => 262144,
1618                                         'color'  => 1
1619                                         ),
1620                       'SH705I2' => array(
1621                                          'width'  => 240,
1622                                          'height' => 320,
1623                                          'depth'  => 262144,
1624                                          'color'  => 1
1625                                          ),
1626                       'SH706IE' => array(
1627                                          'width'  => 240,
1628                                          'height' => 320,
1629                                          'depth'  => 262144,
1630                                          'color'  => 1
1631                                          ),
1632                       'F05A' => array(
1633                                       'width'  => 240,
1634                                       'height' => 352,
1635                                       'depth'  => 65536,
1636                                       'color'  => 1
1637                                       ),
1638 
1639                       // i-mode compliant HTML 7.1
1640                       // (FOMA 905i etc.)
1641                       'SH905I' => array(
1642                                         'width'  => 240,
1643                                         'height' => 320,
1644                                         'depth'  => 16777216,
1645                                         'color'  => 1
1646                                         ),
1647                       'D905I' => array(
1648                                        'width'  => 240,
1649                                        'height' => 352,
1650                                        'depth'  => 262144,
1651                                        'color'  => 1
1652                                        ),
1653                       'N905I' => array(
1654                                        'width'  => 240,
1655                                        'height' => 320,
1656                                        'depth'  => 262144,
1657                                        'color'  => 1
1658                                        ),
1659                       'P905I' => array(
1660                                        'width'  => 240,
1661                                        'height' => 350,
1662                                        'depth'  => 262144,
1663                                        'color'  => 1
1664                                        ),
1665                       'F905I' => array(
1666                                        'width'  => 240,
1667                                        'height' => 352,
1668                                        'depth'  => 16777216,
1669                                        'color'  => 1
1670                                        ),
1671                       'SO905I' => array(
1672                                         'width'  => 240,
1673                                         'height' => 368,
1674                                         'depth'  => 16777216,
1675                                         'color'  => 1
1676                                         ),
1677                       'N905IMYU' => array(
1678                                           'width'  => 240,
1679                                           'height' => 320,
1680                                           'depth'  => 262144,
1681                                           'color'  => 1
1682                                           ),
1683                       'N905IBIZ' => array(
1684                                           'width'  => 240,
1685                                           'height' => 320,
1686                                           'depth'  => 262144,
1687                                           'color'  => 1
1688                                           ),
1689                       'SH905ITV' => array(
1690                                           'width'  => 240,
1691                                           'height' => 320,
1692                                           'depth'  => 16777216,
1693                                           'color'  => 1
1694                                           ),
1695                       'SO905ICS' => array(
1696                                           'width'  => 240,
1697                                           'height' => 368,
1698                                           'depth'  => 16777216,
1699                                           'color'  => 1
1700                                           ),
1701                       'F905IBIZ' => array(
1702                                           'width'  => 240,
1703                                           'height' => 352,
1704                                           'depth'  => 16777216,
1705                                           'color'  => 1
1706                                           ),
1707                       'P905ITV' => array(
1708                                          'width'  => 240,
1709                                          'height' => 350,
1710                                          'depth'  => 262144,
1711                                          'color'  => 1
1712                                          ),
1713                       'P705I' => array(
1714                                        'width'  => 240,
1715                                        'height' => 350,
1716                                        'depth'  => 262144,
1717                                        'color'  => 1
1718                                        ),
1719                       'N705I' => array(
1720                                        'width'  => 240,
1721                                        'height' => 320,
1722                                        'depth'  => 262144,
1723                                        'color'  => 1
1724                                        ),
1725                       'N705IMYU' => array(
1726                                           'width'  => 240,
1727                                           'height' => 320,
1728                                           'depth'  => 262144,
1729                                           'color'  => 1
1730                                           ),
1731                       'P705IMYU' => array(
1732                                           'width'  => 240,
1733                                           'height' => 350,
1734                                           'depth'  => 262144,
1735                                           'color'  => 1
1736                                           ),
1737                       'SO705I' => array(
1738                                         'width'  => 240,
1739                                         'height' => 320,
1740                                         'depth'  => 262144,
1741                                         'color'  => 1
1742                                         ),
1743                       'P705ICL' => array(
1744                                          'width'  => 240,
1745                                          'height' => 350,
1746                                          'depth'  => 262144,
1747                                          'color'  => 1
1748                                          ),
1749                       'F884I' => array(
1750                                        'width'  => 240,
1751                                        'height' => 364,
1752                                        'depth'  => 262144,
1753                                        'color'  => 1
1754                                        ),
1755                       'F884IES' => array(
1756                                          'width'  => 240,
1757                                          'height' => 282,
1758                                          'depth'  => 262144,
1759                                          'color'  => 1
1760                                          ),
1761                       'N906IL' => array(
1762                                         'width'  => 240,
1763                                         'height' => 320,
1764                                         'depth'  => 262144,
1765                                         'color'  => 1
1766                                         ),
1767                       'N706I' => array(
1768                                        'width'  => 240,
1769                                        'height' => 320,
1770                                        'depth'  => 262144,
1771                                        'color'  => 1
1772                                        ),
1773                       'SO706I' => array(
1774                                         'width'  => 240,
1775                                         'height' => 320,
1776                                         'depth'  => 262144,
1777                                         'color'  => 1
1778                                         ),
1779                       'P706IMYU' => array(
1780                                           'width'  => 240,
1781                                           'height' => 350,
1782                                           'depth'  => 262144,
1783                                           'color'  => 1
1784                                           ),
1785                       'N706IE' => array(
1786                                         'width'  => 240,
1787                                         'height' => 320,
1788                                         'depth'  => 262144,
1789                                         'color'  => 1
1790                                         ),
1791                       'N706I2' => array(
1792                                         'width'  => 240,
1793                                         'height' => 320,
1794                                         'depth'  => 262144,
1795                                         'color'  => 1
1796                                         ),
1797                       'N03A' => array(
1798                                       'width'  => 240,
1799                                       'height' => 320,
1800                                       'depth'  => 262144,
1801                                       'color'  => 1
1802                                       ),
1803                       'N05A' => array(
1804                                       'width'  => 240,
1805                                       'height' => 320,
1806                                       'depth'  => 262144,
1807                                       'color'  => 1
1808                                       ),
1809                       'F07A' => array(
1810                                       'width'  => 240,
1811                                       'height' => 256,
1812                                       'depth'  => 262144,
1813                                       'color'  => 1
1814                                       ),
1815
1816                       // i-mode compliant HTML 7.2
1817                       // (FOMA 906i etc.)
1818                       'P906I' => array(
1819                                        'width'  => 240,
1820                                        'height' => 350,
1821                                        'depth'  => 262144,
1822                                        'color'  => 1
1823                                        ),
1824                       'SO906I' => array(
1825                                         'width'  => 240,
1826                                         'height' => 368,
1827                                         'depth'  => 16777216,
1828                                         'color'  => 1
1829                                         ),
1830                       'SH906I' => array(
1831                                         'width'  => 240,
1832                                         'height' => 320,
1833                                         'depth'  => 16777216,
1834                                         'color'  => 1
1835                                         ),
1836                       'N906IMYU' => array(
1837                                           'width'  => 240,
1838                                           'height' => 320,
1839                                           'depth'  => 262144,
1840                                           'color'  => 1
1841                                           ),
1842                       'F906I' => array(
1843                                        'width'  => 240,
1844                                        'height' => 352,
1845                                        'depth'  => 16777216,
1846                                        'color'  => 1
1847                                        ),
1848                       'N906I' => array(
1849                                        'width'  => 240,
1850                                        'height' => 320,
1851                                        'depth'  => 262144,
1852                                        'color'  => 1
1853                                        ),
1854                       'SH906ITV' => array(
1855                                           'width'  => 240,
1856                                           'height' => 320,
1857                                           'depth'  => 16777216,
1858                                           'color'  => 1
1859                                           ),
1860                       'F706I' => array(
1861                                        'width'  => 240,
1862                                        'height' => 352,
1863                                        'depth'  => 262144,
1864                                        'color'  => 1
1865                                        ),
1866                       'SH706I' => array(
1867                                         'width'  => 240,
1868                                         'height' => 320,
1869                                         'depth'  => 16777216,
1870                                         'color'  => 1
1871                                         ),
1872                       'P706IE' => array(
1873                                         'width'  => 240,
1874                                         'height' => 350,
1875                                         'depth'  => 262144,
1876                                         'color'  => 1
1877                                         ),
1878                       'SH706IW' => array(
1879                                          'width'  => 240,
1880                                          'height' => 320,
1881                                          'depth'  => 16777216,
1882                                          'color'  => 1
1883                                          ),
1884                       'F01A' => array(
1885                                       'width'  => 240,
1886                                       'height' => 352,
1887                                       'depth'  => 16777216,
1888                                       'color'  => 1
1889                                       ),
1890                       'F02A' => array(
1891                                       'width'  => 240,
1892                                       'height' => 352,
1893                                       'depth'  => 262144,
1894                                       'color'  => 1
1895                                       ),
1896                       'F03A' => array(
1897                                       'width'  => 240,
1898                                       'height' => 352,
1899                                       'depth'  => 16777216,
1900                                       'color'  => 1
1901                                       ),
1902                       'F04A' => array(
1903                                       'width'  => 240,
1904                                       'height' => 352,
1905                                       'depth'  => 262144,
1906                                       'color'  => 1
1907                                       ),
1908                       'F06A' => array(
1909                                       'width'  => 240,
1910                                       'height' => 352,
1911                                       'depth'  => 16777216,
1912                                       'color'  => 1
1913                                       ),
1914                       'P01A' => array(
1915                                       'width'  => 240,
1916                                       'height' => 350,
1917                                       'depth'  => 262144,
1918                                       'color'  => 1
1919                                       ),
1920                       'P02A' => array(
1921                                       'width'  => 240,
1922                                       'height' => 350,
1923                                       'depth'  => 262144,
1924                                       'color'  => 1
1925                                       ),
1926                       'P03A' => array(
1927                                       'width'  => 240,
1928                                       'height' => 350,
1929                                       'depth'  => 262144,
1930                                       'color'  => 1
1931                                       ),
1932                       'P04A' => array(
1933                                       'width'  => 240,
1934                                       'height' => 350,
1935                                       'depth'  => 262144,
1936                                       'color'  => 1
1937                                       ),
1938                       'P05A' => array(
1939                                       'width'  => 240,
1940                                       'height' => 350,
1941                                       'depth'  => 262144,
1942                                       'color'  => 1
1943                                       ),
1944                       'P06A' => array(
1945                                       'width'  => 240,
1946                                       'height' => 350,
1947                                       'depth'  => 262144,
1948                                       'color'  => 1
1949                                       ),
1950                       'P10A' => array(
1951                                       'width'  => 240,
1952                                       'height' => 350,
1953                                       'depth'  => 262144,
1954                                       'color'  => 1
1955                                       ),
1956                       'SH01A' => array(
1957                                        'width'  => 240,
1958                                        'height' => 320,
1959                                        'depth'  => 16777216,
1960                                        'color'  => 1
1961                                        ),
1962                       'SH02A' => array(
1963                                        'width'  => 240,
1964                                        'height' => 320,
1965                                        'depth'  => 16777216,
1966                                        'color'  => 1
1967                                        ),
1968                       'SH03A' => array(
1969                                        'width'  => 240,
1970                                        'height' => 320,
1971                                        'depth'  => 16777216,
1972                                        'color'  => 1
1973                                        ),
1974                       'SH04A' => array(
1975                                        'width'  => 240,
1976                                        'height' => 320,
1977                                        'depth'  => 16777216,
1978                                        'color'  => 1
1979                                        ),
1980                       'N01A' => array(
1981                                       'width'  => 240,
1982                                       'height' => 320,
1983                                       'depth'  => 262144,
1984                                       'color'  => 1
1985                                       ),
1986                       'N02A' => array(
1987                                       'width'  => 240,
1988                                       'height' => 320,
1989                                       'depth'  => 262144,
1990                                       'color'  => 1
1991                                       ),
1992                       'N04A' => array(
1993                                       'width'  => 240,
1994                                       'height' => 320,
1995                                       'depth'  => 262144,
1996                                       'color'  => 1
1997                                       ),
1998
1999                       // i-mode browser 2.0
2000                       'P07A3' => array(
2001                                        'width'  => 480,
2002                                        'height' => 662,
2003                                        'depth'  => 262144,
2004                                        'color'  => 1
2005                                        ),
2006                       'P08A3' => array(
2007                                        'width'  => 480,
2008                                        'height' => 662,
2009                                        'depth'  => 262144,
2010                                        'color'  => 1
2011                                        ),
2012                       'P09A3' => array(
2013                                        'width'  => 480,
2014                                        'height' => 662,
2015                                        'depth'  => 262144,
2016                                        'color'  => 1
2017                                        ),
2018                       'N06A3' => array(
2019                                        'width'  => 480,
2020                                        'height' => 640,
2021                                        'depth'  => 262144,
2022                                        'color'  => 1
2023                                        ),
2024                       'N08A3' => array(
2025                                        'width'  => 480,
2026                                        'height' => 640,
2027                                        'depth'  => 262144,
2028                                        'color'  => 1
2029                                        ),
2030                       'N09A3' => array(
2031                                        'width'  => 480,
2032                                        'height' => 640,
2033                                        'depth'  => 262144,
2034                                        'color'  => 1
2035                                        ),
2036                       'F08A3' => array(
2037                                        'width'  => 480,
2038                                        'height' => 648,
2039                                        'depth'  => 262144,
2040                                        'color'  => 1
2041                                        ),
2042                       'F09A3' => array(
2043                                        'width'  => 480,
2044                                        'height' => 648,
2045                                        'depth'  => 16777216,
2046                                        'color'  => 1
2047                                        ),
2048                       'SH05A3' => array(
2049                                         'width'  => 480,
2050                                         'height' => 592,
2051                                         'depth'  => 16777216,
2052                                         'color'  => 1
2053                                         ),
2054                       'SH06A3' => array(
2055                                         'width'  => 480,
2056                                         'height' => 592,
2057                                         'depth'  => 16777216,
2058                                         'color'  => 1
2059                                         ),
2060                       'SH07A3' => array(
2061                                         'width'  => 480,
2062                                         'height' => 592,
2063                                         'depth'  => 16777216,
2064                                         'color'  => 1
2065                                         )
2066                       );
2067
2068    /**#@-*/
2069
2070    /**#@+
2071     * @access public
2072     */
2073
2074    // }}}
2075    // {{{ singleton()
2076
2077    /**
2078     * Returns the Net_UserAgent_Mobile_DoCoMo_Screen instance if it exists. If it
2079     * not exists, a new instance of Net_UserAgent_Mobile_DoCoMo_Screen will be
2080     * created and returned.
2081     *
2082     * @return Net_UserAgent_Mobile_DoCoMo_ScreenInfo
2083     * @static
2084     */
2085    function &singleton()
2086    {
2087        if (@is_null($GLOBALS['NET_USERAGENT_MOBILE_DoCoMo_ScreenInfo_Instance'])) {
2088            $GLOBALS['NET_USERAGENT_MOBILE_DoCoMo_ScreenInfo_Instance'] = &new Net_UserAgent_Mobile_DoCoMo_ScreenInfo();
2089        }
2090
2091        return $GLOBALS['NET_USERAGENT_MOBILE_DoCoMo_ScreenInfo_Instance'];
2092    }
2093
2094    // }}}
2095    // {{{ get()
2096
2097    /**
2098     * Gets the screen information of a given model.
2099     *
2100     * @param string $model
2101     * @return array
2102     */
2103    function get($model)
2104    {
2105        return $this->_data[ strtoupper($model) ];
2106    }
2107
2108    /**#@-*/
2109
2110    /**#@+
2111     * @access private
2112     */
2113
2114    // }}}
2115    // {{{ constructor
2116
2117    /**
2118     * Creates the screen information by a given XML file if DOCOMO_MAP environment
2119     * variable exists.
2120     */
2121    function Net_UserAgent_Mobile_DoCoMo_ScreenInfo()
2122    {
2123        if (!array_key_exists('DOCOMO_MAP', $_SERVER)) {
2124            return;
2125        }
2126
2127        // using the specified XML data
2128        do {
2129            if (!function_exists('xml_parser_create')
2130                || !is_readable($_SERVER['DOCOMO_MAP'])
2131                ) {
2132                break;
2133            }
2134
2135            $xml = file_get_contents($_SERVER['DOCOMO_MAP']);
2136            if ($xml === false) {
2137                break;
2138            }
2139
2140            $parser = xml_parser_create();
2141            if ($parser === false) {
2142                break;
2143            }
2144
2145            xml_parse_into_struct($parser, $xml, $values, $indexes);
2146            if (!xml_parser_free($parser)) {
2147                break;
2148            }
2149
2150            if (array_key_exists('OPT', $indexes)) {
2151                unset($indexes['OPT']);
2152            }
2153
2154            $data = array();
2155            foreach ($indexes as $modelName => $modelIndexes) {
2156                $data[$modelName] = array();
2157                foreach ($values[ $modelIndexes[0] ]['attributes']
2158                         as $attributeName => $attributeValue
2159                         ) {
2160                    $data[$modelName][ strtolower($attributeName) ] = $attributeValue;
2161                }
2162            }
2163
2164            $this->_data = $data;
2165        } while (false);
2166    }
2167
2168    /**#@-*/
2169
2170    // }}}
2171}
2172
2173// }}}
2174
2175/*
2176 * Local Variables:
2177 * mode: php
2178 * coding: iso-8859-1
2179 * tab-width: 4
2180 * c-basic-offset: 4
2181 * c-hanging-comment-ender-p: nil
2182 * indent-tabs-mode: nil
2183 * End:
2184 */
Note: See TracBrowser for help on using the repository browser.