-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
DDEFS = @DDEFS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
OBJEXT = @OBJEXT@
OPENSSL_PATH = @OPENSSL_PATH@
PACKAGE = @PACKAGE@
PCRE_CONFIG = @PCRE_CONFIG@
QDEFS = @QDEFS@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
- dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
- distclean-generic distclean-hdr distclean-libtool \
+ dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
+ distclean distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
-# generated automatically by aclocal 1.10 -*- Autoconf -*-
+# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-m4_if(m4_PACKAGE_VERSION, [2.61],,
-[m4_fatal([this file was generated for autoconf 2.61.
-You have another version of autoconf. If you want to use that,
-you should regenerate the build system entirely.], [63])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(AC_AUTOCONF_VERSION, [2.61],,
+[m4_warning([this file was generated for autoconf 2.61.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL
+# serial 52 Debian 1.5.26-4+lenny1 AC_PROG_LIBTOOL
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
AC_REQUIRE([AC_OBJEXT])dnl
AC_REQUIRE([AC_EXEEXT])dnl
dnl
-
AC_LIBTOOL_SYS_MAX_CMD_LEN
AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
AC_LIBTOOL_OBJDIR
test -z "$ac_objext" && ac_objext=o
# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
;;
esac
+_LT_REQUIRED_DARWIN_CHECKS
+
AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
enable_win32_dll=yes, enable_win32_dll=no)
# Check for compiler boilerplate output or warnings with
# the simple compiler test code.
AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
# Check for linker boilerplate output or warnings with
# the simple link test code.
AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
])# _LT_LINKER_BOILERPLATE
+# _LT_REQUIRED_DARWIN_CHECKS
+# --------------------------
+# Check for some things on darwin
+AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ echo "int foo(void){return 1;}" > conftest.c
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib ${wl}-single_module conftest.c
+ if test -f libconftest.dylib; then
+ lt_cv_apple_cc_single_mod=yes
+ rm -rf libconftest.dylib*
+ fi
+ rm conftest.c
+ fi])
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[0123]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*)
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil="~$DSYMUTIL \$lib || :"
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
# _LT_AC_SYS_LIBPATH_AIX
# ----------------------
# If we don't find anything, use the default library path according
# to the aix ld manual.
AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi],[])
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
])# _LT_AC_SYS_LIBPATH_AIX
rm -rf conftest*
;;
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
;;
*64-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
esac
;;
esac
AC_CACHE_CHECK([$1], [$2],
[$2=no
ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$3"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# ------------------------------------------------------------
# Check whether the given compiler option works
AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
[$2=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $3"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
$2=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
])
fi
;;
*)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
= "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
;;
esac
])
AC_CHECK_FUNC([shl_load],
[lt_cv_dlopen="shl_load"],
[AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
[AC_CHECK_FUNC([dlopen],
[lt_cv_dlopen="dlopen"],
[AC_CHECK_LIB([dl], [dlopen],
[AC_CHECK_LIB([svld], [dlopen],
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
[AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
])
])
])
# ---------------------------------
# Check to see if options -c and -o are simultaneously supported by compiler
AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
[_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
[_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
darwin*)
if test -n "$STRIP" ; then
striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
# -----------------------------
# PORTME Fill in your ld.so characteristics
AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_MSG_CHECKING([dynamic linker characteristics])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
library_names_spec=
libname_spec='lib$name'
soname_spec=
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
+m4_if($1,[],[
if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`echo $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+fi])
need_lib_prefix=unknown
hardcode_into_libs=no
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[[4-9]]*)
version_type=linux
need_lib_prefix=no
need_version=no
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+ m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[[3-9]]*)
version_type=linux
need_lib_prefix=no
need_version=no
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
AC_MSG_RESULT([$dynamic_linker])
test "$dynamic_linker" = no && can_build_shared=no
+AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
+[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
+[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
# _LT_AC_TAGCONFIG
# ----------------
AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_ARG_WITH([tags],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
[AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
[include additional configurations @<:@automatic@:>@])],
[tagnames="$withval"])
# AC_PATH_TOOL_PREFIX
# -------------------
-# find a file program which can recognise shared library
+# find a file program which can recognize shared library
AC_DEFUN([AC_PATH_TOOL_PREFIX],
[AC_REQUIRE([AC_PROG_EGREP])dnl
AC_MSG_CHECKING([for $1])
# AC_PATH_MAGIC
# -------------
-# find a file program which can recognise a shared library
+# find a file program which can recognize a shared library
AC_DEFUN([AC_PATH_MAGIC],
[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
# how to check for library dependencies
# -- PORTME fill in with the dynamic library characteristics
AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependent libraries],
+[AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
# whether `pass_all' will *always* work, you probably want this one.
case $host_os in
-aix4* | aix5*)
+aix[[4-9]]*)
lt_cv_deplibs_check_method=pass_all
;;
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
;;
darwin* | rhapsody*)
esac
;;
-interix3*)
+interix[[3-9]]*)
# PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
;;
lt_cv_deplibs_check_method=pass_all
;;
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
solaris*)
lt_cv_deplibs_check_method=pass_all
;;
lt_cv_path_NM="$NM"
else
lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
_LT_AC_SYS_COMPILER
fi
;;
-aix4* | aix5*)
+aix[[4-9]]*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
_LT_AC_TAGVAR(predeps, $1)=
_LT_AC_TAGVAR(postdeps, $1)=
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
# Source file extension for C++ test sources.
ac_ext=cpp
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
# FIXME: insert proper C++ library support
_LT_AC_TAGVAR(ld_shlibs, $1)=no
;;
- aix4* | aix5*)
+ aix[[4-9]]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
*-brtl*)
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ :
else
# We have old collect2
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
fi
;;
darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_automatic, $1)=yes
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ if test "$GXX" = yes ; then
output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
+ _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
else
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- ;;
+ hppa*64*|ia64*) ;;
*)
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
;;
;;
esac
;;
- interix3*)
+ interix[[3-9]]*)
_LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
;;
- pgCC*)
+ pgCC* | pgcpp*)
# Portland Group C++ compiler
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
# dependencies.
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
esac
;;
lynxos*)
_LT_AC_TAGVAR(ld_shlibs, $1)=no
;;
openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ if test -f /usr/libexec/ld.so; then
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
fi
- output_verbose_link_cmd='echo'
;;
osf3*)
case $cc_basename in
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
;;
esac
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
fi
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
fi
;;
esac
# compiler output when linking a shared library.
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
dnl we can't use the lt_simple_compile_test_code here,
dnl because it contains code intended for an executable,
dnl not a library. It's possible we should let each
$rm -f confest.$objext
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
# PORTME: override above test on systems where it is broken
ifelse([$1],[CXX],
[case $host_os in
-interix3*)
+interix[[3-9]]*)
# Interix 3.5 installs completely hosed .la files for C++, so rather than
# hack all around it, let's just trust "g++" to DTRT.
_LT_AC_TAGVAR(predep_objects,$1)=
_LT_AC_TAGVAR(postdeps,$1)=
;;
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ #
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
solaris*)
case $cc_basename in
CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
# Adding this requires a known-good setup of shared libraries for
# Sun compiler versions before 5.6, else PIC objects from an old
# archive will be linked into the output, leading to subtle bugs.
- _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
;;
esac
;;
esac
])
-
case " $_LT_AC_TAGVAR(postdeps, $1) " in
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
esac
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
+lt_simple_link_test_code="\
+ program t
+ end
+"
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
postinstall_cmds='$RANLIB $lib'
fi
;;
-aix4* | aix5*)
+aix[[4-9]]*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_AC_SYS_COMPILER
_LT_AC_TAGVAR(objext, $1)=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
lt_simple_link_test_code="$lt_simple_compile_test_code"
_LT_AC_TAGVAR(predeps, $1) \
_LT_AC_TAGVAR(postdeps, $1) \
_LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+ _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
_LT_AC_TAGVAR(archive_cmds, $1) \
_LT_AC_TAGVAR(archive_expsym_cmds, $1) \
_LT_AC_TAGVAR(postinstall_cmds, $1) \
_LT_AC_TAGVAR(module_cmds, $1) \
_LT_AC_TAGVAR(module_expsym_cmds, $1) \
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+ _LT_AC_TAGVAR(fix_srcfile_path, $1) \
_LT_AC_TAGVAR(exclude_expsyms, $1) \
_LT_AC_TAGVAR(include_expsyms, $1); do
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
#
# This file is part of GNU Libtool:
# shared library.
postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
# ---------------------------------
AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([LT_AC_PROG_SED])
AC_REQUIRE([AC_PROG_NM])
AC_REQUIRE([AC_OBJEXT])
# Check for command to grab the raw symbol name followed by C symbol from nm.
echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
cat conftest.$ac_ext >&5
fi
- rm -f conftest* conftst*
+ rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test "$pipe_works" = yes; then
# like `-m68040'.
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
;;
darwin* | rhapsody*)
# PIC is the default on this platform
# DJGPP does not support shared libraries at all
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
;;
- interix3*)
+ interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
esac
else
case $host_os in
- aix4* | aix5*)
+ aix[[4-9]]*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
- pgCC*)
+ pgCC* | pgcpp*)
# Portland Group C++ compiler.
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
;;
esac
;;
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
;;
darwin* | rhapsody*)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
- interix3*)
+ interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ m4_if([$1], [GCJ], [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
;;
hpux9* | hpux10* | hpux11*)
# All Alpha code is PIC.
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ esac
+ ;;
esac
;;
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
+ rdos*)
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
solaris*)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
#
if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
- _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
[$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
[case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
"" | " "*) ;;
#
wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
$lt_tmp_static_flag,
[],
[_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
# ------------------------------------
# See if the linker supports building shared libraries.
AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
ifelse([$1],[CXX],[
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
- aix4* | aix5*)
+ aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
_LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
;;
cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
;;
linux* | k*bsd*-gnu)
_LT_AC_TAGVAR(link_all_deplibs, $1)=no
_LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
+ _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
],[
runpath_var=
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+ _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
_LT_CC_BASENAME([$compiler])
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[[3-9]]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
_LT_AC_TAGVAR(ld_shlibs, $1)=no
_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_AC_TAGVAR(always_export_symbols, $1)=no
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
fi
;;
- interix3*)
+ interix[[3-9]]*)
_LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- linux* | k*bsd*-gnu)
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
_LT_AC_TAGVAR(link_all_deplibs, $1)=no
else
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
_LT_AC_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
fi
;;
- aix4* | aix5*)
+ aix[[4-9]]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ :
else
# We have old collect2
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
# The linker will automatically build a .lib file if we build a DLL.
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
# FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
_LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
;;
openbsd*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
fi
;;
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
;;
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
_LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
# to ld, don't add -lc before -lgcc.
AC_MSG_CHECKING([whether -lc should be explicitly linked in])
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
soname=conftest
[AC_CHECK_TOOL(RC, windres, no)
])
+
+# Cheap backport of AS_EXECUTABLE_P and required macros
+# from Autoconf 2.59; we should not use $as_executable_p directly.
+
+# _AS_TEST_PREPARE
+# ----------------
+m4_ifndef([_AS_TEST_PREPARE],
+[m4_defun([_AS_TEST_PREPARE],
+[if test -x / >/dev/null 2>&1; then
+ as_executable_p='test -x'
+else
+ as_executable_p='test -f'
+fi
+])])# _AS_TEST_PREPARE
+
+# AS_EXECUTABLE_P
+# ---------------
+# Check whether a file is executable.
+m4_ifndef([AS_EXECUTABLE_P],
+[m4_defun([AS_EXECUTABLE_P],
+[AS_REQUIRE([_AS_TEST_PREPARE])dnl
+$as_executable_p $1[]dnl
+])])# AS_EXECUTABLE_P
+
# NOTE: This macro has been submitted for inclusion into #
# GNU Autoconf as AC_PROG_SED. When it is available in #
# a released version of Autoconf we should remove this #
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
done
])
SED=$lt_cv_path_SED
+AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])
-# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
[am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10], [],
+m4_if([$1], [1.10.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10])dnl
-_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+[AM_AUTOMAKE_VERSION([1.10.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 12
+# serial 13
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
+_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $1 | $1:* )
+ $_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
-# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for mod_chxj 0.13.1-rc.
+# Generated by GNU Autoconf 2.61 for mod_chxj 0.13.0.
#
# Report bugs to <konn@users.sourceforge.jp>.
#
# Identity of this package.
PACKAGE_NAME='mod_chxj'
PACKAGE_TARNAME='mod_chxj'
-PACKAGE_VERSION='0.13.0-rc'
-PACKAGE_STRING='mod_chxj 0.13.0-rc'
+PACKAGE_VERSION='0.13.0'
+PACKAGE_STRING='mod_chxj 0.13.0'
PACKAGE_BUGREPORT='konn@users.sourceforge.jp'
ac_unique_file="src/mod_chxj.c"
CCDEPMODE
am__fastdepCC_TRUE
am__fastdepCC_FALSE
+SED
GREP
EGREP
LN_S
ECHO
AR
RANLIB
+DSYMUTIL
+NMEDIT
CPP
CXX
CXXFLAGS
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures mod_chxj 0.13.0-rc to adapt to many kinds of systems.
+\`configure' configures mod_chxj 0.13.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of mod_chxj 0.13.0-rc:";;
+ short | recursive ) echo "Configuration of mod_chxj 0.13.0:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-mod_chxj configure 0.13.0-rc
+mod_chxj configure 0.13.0
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by mod_chxj $as_me 0.13.0-rc, which was
+It was created by mod_chxj $as_me 0.13.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
# Define the identity of the package.
PACKAGE=mod_chxj
- VERSION=0.13.0-rc
+ VERSION=0.13.0
cat >>confdefs.h <<_ACEOF
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
fi
SED=$lt_cv_path_SED
+
{ echo "$as_me:$LINENO: result: $SED" >&5
echo "${ECHO_T}$SED" >&6; }
echo "${ECHO_T}no, using $LN_S" >&6; }
fi
-{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
# whether `pass_all' will *always* work, you probably want this one.
case $host_os in
-aix4* | aix5*)
+aix[4-9]*)
lt_cv_deplibs_check_method=pass_all
;;
mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
;;
darwin* | rhapsody*)
esac
;;
-interix3*)
+interix[3-9]*)
# PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
;;
lt_cv_deplibs_check_method=pass_all
;;
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
solaris*)
lt_cv_deplibs_check_method=pass_all
;;
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4467 "configure"' > conftest.$ac_ext
+ echo '#line 4482 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
rm -rf conftest*
;;
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
;;
*64-bit*)
case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
esac
;;
esac
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-
# find the maximum length of command line arguments
{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
fi
;;
*)
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
= "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
;;
esac
+
# Check for command to grab the raw symbol name followed by C symbol from nm.
{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
echo "$progname: failed program was:" >&5
cat conftest.$ac_ext >&5
fi
- rm -f conftest* conftst*
+ rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test "$pipe_works" = yes; then
test -z "$ac_objext" && ac_objext=o
# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
;;
esac
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+echo "${ECHO_T}$DSYMUTIL" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { echo "$as_me:$LINENO: result: $NMEDIT" >&5
+echo "${ECHO_T}$NMEDIT" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+
+ { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ echo "int foo(void){return 1;}" > conftest.c
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib ${wl}-single_module conftest.c
+ if test -f libconftest.dylib; then
+ lt_cv_apple_cc_single_mod=yes
+ rm -rf libconftest.dylib*
+ fi
+ rm conftest.c
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
+ { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ lt_cv_ld_exported_symbols_list=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[0123])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*)
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil="~$DSYMUTIL \$lib || :"
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+
enable_dlopen=no
enable_win32_dll=no
objext=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
# If no C compiler was specified, use CC.
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7198: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7539: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7202: \$? = $ac_status" >&5
+ echo "$as_me:7543: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic='-DDLL_EXPORT'
;;
lt_prog_compiler_pic='-fno-common'
;;
- interix3*)
+ interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
# All Alpha code is PIC.
lt_prog_compiler_static='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ esac
+ ;;
esac
;;
lt_prog_compiler_static='-non_shared'
;;
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
solaris*)
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_prog_compiler_pic_works=no
+ lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7466: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7829: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7470: \$? = $ac_status" >&5
+ echo "$as_me:7833: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works=yes
+ lt_cv_prog_compiler_pic_works=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_prog_compiler_pic_works" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_prog_compiler_static_works=no
+ lt_cv_prog_compiler_static_works=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
else
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_prog_compiler_static_works" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
:
else
lt_prog_compiler_static=
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7570: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7933: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7574: \$? = $ac_status" >&5
+ echo "$as_me:7937: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
fi
;;
- interix3*)
+ interix[3-9]*)
hardcode_direct=no
hardcode_shlibpath_var=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- linux* | k*bsd*-gnu)
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs=no
else
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct=yes
+ :
else
# We have old collect2
hardcode_direct=unsupported
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes=yes
;;
link_all_deplibs=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
;;
openbsd*)
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs=no
fi
;;
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs=yes
;;
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
no_undefined_flag='${wl}-z,text'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
{ echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
+
if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`echo $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[3-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
darwin*)
if test -n "$STRIP" ; then
striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
{ echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; }
else
{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
else
{ echo "$as_me:$LINENO: checking for dlopen" >&5
echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9867 "configure"
+#line 10310 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9967 "configure"
+#line 10410 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
fi
;;
-aix4* | aix5*)
+aix[4-9]*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
predeps \
postdeps \
compiler_lib_search_path \
+ compiler_lib_search_dirs \
archive_cmds \
archive_expsym_cmds \
postinstall_cmds \
module_cmds \
module_expsym_cmds \
lt_cv_prog_compiler_c_o \
+ fix_srcfile_path \
exclude_expsyms \
include_expsyms; do
# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
#
# This file is part of GNU Libtool:
# shared library.
postdeps=$lt_postdeps
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols
predeps_CXX=
postdeps_CXX=
compiler_lib_search_path_CXX=
+compiler_lib_search_dirs_CXX=
# Source file extension for C++ test sources.
ac_ext=cpp
objext_CXX=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
*-brtl*)
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_CXX=yes
+ :
else
# We have old collect2
hardcode_direct_CXX=unsupported
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
;;
darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
archive_cmds_need_lc_CXX=no
hardcode_direct_CXX=no
hardcode_automatic_CXX=yes
hardcode_shlibpath_var_CXX=unsupported
whole_archive_flag_spec_CXX=''
link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ if test "$GXX" = yes ; then
output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
else
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
hardcode_libdir_separator_CXX=:
case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
- ;;
+ hppa*64*|ia64*) ;;
*)
export_dynamic_flag_spec_CXX='${wl}-E'
;;
;;
esac
;;
- interix3*)
+ interix[3-9]*)
hardcode_direct_CXX=no
hardcode_shlibpath_var_CXX=no
hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
;;
- pgCC*)
+ pgCC* | pgcpp*)
# Portland Group C++ compiler
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
# dependencies.
output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
esac
;;
lynxos*)
ld_shlibs_CXX=no
;;
openbsd*)
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ else
+ ld_shlibs_CXX=no
fi
- output_verbose_link_cmd='echo'
;;
osf3*)
case $cc_basename in
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The C++ compiler is used as linker so we must use $wl
- # flag to pass the commands to the underlying system
- # linker. We must also pass each convience library through
- # to the system linker between allextract/defaultextract.
- # The C++ compiler will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
;;
esac
link_all_deplibs_CXX=yes
fi
hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
fi
;;
esac
GCC_CXX="$GXX"
LD_CXX="$LD"
-
cat > conftest.$ac_ext <<EOF
class Foo
{
$rm -f confest.$objext
+compiler_lib_search_dirs_CXX=
+if test -n "$compiler_lib_search_path_CXX"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
# PORTME: override above test on systems where it is broken
case $host_os in
-interix3*)
+interix[3-9]*)
# Interix 3.5 installs completely hosed .la files for C++, so rather than
# hack all around it, let's just trust "g++" to DTRT.
predep_objects_CXX=
postdeps_CXX=
;;
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ #
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
solaris*)
case $cc_basename in
CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
# Adding this requires a known-good setup of shared libraries for
# Sun compiler versions before 5.6, else PIC objects from an old
# archive will be linked into the output, leading to subtle bugs.
- postdeps_CXX='-lCstd -lCrun'
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
;;
esac
;;
esac
-
case " $postdeps_CXX " in
*" -lc "*) archive_cmds_need_lc_CXX=no ;;
esac
# like `-m68040'.
lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
;;
darwin* | rhapsody*)
# DJGPP does not support shared libraries at all
lt_prog_compiler_pic_CXX=
;;
- interix3*)
+ interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
esac
else
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-static'
;;
- pgCC*)
+ pgCC* | pgcpp*)
# Portland Group C++ compiler.
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-fpic'
lt_prog_compiler_static_CXX='-non_shared'
;;
*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ esac
;;
esac
;;
{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_prog_compiler_pic_works_CXX=no
+ lt_cv_prog_compiler_pic_works_CXX=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12303: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12811: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12307: \$? = $ac_status" >&5
+ echo "$as_me:12815: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_CXX=yes
+ lt_cv_prog_compiler_pic_works_CXX=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
"" | " "*) ;;
*) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_prog_compiler_static_works_CXX=no
+ lt_cv_prog_compiler_static_works_CXX=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
else
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; }
-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
:
else
lt_prog_compiler_static_CXX=
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12407: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12915: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12411: \$? = $ac_status" >&5
+ echo "$as_me:12919: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
export_symbols_cmds_CXX="$ltdll_cmds"
;;
cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
;;
linux* | k*bsd*-gnu)
link_all_deplibs_CXX=no
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
{ echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[3-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
predeps_CXX \
postdeps_CXX \
compiler_lib_search_path_CXX \
+ compiler_lib_search_dirs_CXX \
archive_cmds_CXX \
archive_expsym_cmds_CXX \
postinstall_cmds_CXX \
module_cmds_CXX \
module_expsym_cmds_CXX \
lt_cv_prog_compiler_c_o_CXX \
+ fix_srcfile_path_CXX \
exclude_expsyms_CXX \
include_expsyms_CXX; do
# shared library.
postdeps=$lt_postdeps_CXX
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_CXX"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_CXX
objext_F77=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
# Code to be used in simple link tests
-lt_simple_link_test_code=" program t\n end\n"
+lt_simple_link_test_code="\
+ program t
+ end
+"
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
postinstall_cmds='$RANLIB $lib'
fi
;;
-aix4* | aix5*)
+aix[4-9]*)
if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
test "$enable_shared" = yes && enable_static=no
fi
lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
lt_prog_compiler_pic_F77='-DDLL_EXPORT'
;;
lt_prog_compiler_pic_F77='-fno-common'
;;
- interix3*)
+ interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic_F77='-DDLL_EXPORT'
# All Alpha code is PIC.
lt_prog_compiler_static_F77='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ lt_prog_compiler_wl_F77='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ lt_prog_compiler_wl_F77=''
+ ;;
+ esac
+ ;;
esac
;;
lt_prog_compiler_static_F77='-non_shared'
;;
+ rdos*)
+ lt_prog_compiler_static_F77='-non_shared'
+ ;;
+
solaris*)
lt_prog_compiler_pic_F77='-KPIC'
lt_prog_compiler_static_F77='-Bstatic'
{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_prog_compiler_pic_works_F77=no
+ lt_cv_prog_compiler_pic_works_F77=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_F77"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13968: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14513: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13972: \$? = $ac_status" >&5
+ echo "$as_me:14517: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_F77=yes
+ lt_cv_prog_compiler_pic_works_F77=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_F77" >&6; }
-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
case $lt_prog_compiler_pic_F77 in
"" | " "*) ;;
*) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_prog_compiler_static_works_F77=no
+ lt_cv_prog_compiler_static_works_F77=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_F77=yes
+ lt_cv_prog_compiler_static_works_F77=yes
fi
else
- lt_prog_compiler_static_works_F77=yes
+ lt_cv_prog_compiler_static_works_F77=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_static_works_F77" >&6; }
-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
:
else
lt_prog_compiler_static_F77=
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14072: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14617: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14076: \$? = $ac_status" >&5
+ echo "$as_me:14621: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs_F77=no
allow_undefined_flag_F77=unsupported
always_export_symbols_F77=no
enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
fi
;;
- interix3*)
+ interix[3-9]*)
hardcode_direct_F77=no
hardcode_shlibpath_var_F77=no
hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- linux* | k*bsd*-gnu)
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs_F77=no
else
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_F77=yes
+ :
else
# We have old collect2
hardcode_direct_F77=unsupported
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds_F77='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes_F77=yes
;;
link_all_deplibs_F77=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
;;
openbsd*)
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_F77='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ ;;
+ *)
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs_F77=no
fi
;;
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs_F77=yes
;;
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
no_undefined_flag_F77='${wl}-z,text'
archive_cmds_need_lc_F77=no
hardcode_shlibpath_var_F77=no
{ echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[3-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
predeps_F77 \
postdeps_F77 \
compiler_lib_search_path_F77 \
+ compiler_lib_search_dirs_F77 \
archive_cmds_F77 \
archive_expsym_cmds_F77 \
postinstall_cmds_F77 \
module_cmds_F77 \
module_expsym_cmds_F77 \
lt_cv_prog_compiler_c_o_F77 \
+ fix_srcfile_path_F77 \
exclude_expsyms_F77 \
include_expsyms_F77; do
# shared library.
postdeps=$lt_postdeps_F77
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_F77
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_F77"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_F77
objext_GCJ=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16259: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16837: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16263: \$? = $ac_status" >&5
+ echo "$as_me:16841: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
;;
- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+
;;
darwin* | rhapsody*)
lt_prog_compiler_pic_GCJ='-fno-common'
;;
- interix3*)
+ interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
esac
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+
;;
hpux9* | hpux10* | hpux11*)
# All Alpha code is PIC.
lt_prog_compiler_static_GCJ='-non_shared'
;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ lt_prog_compiler_wl_GCJ=''
+ ;;
+ esac
+ ;;
esac
;;
lt_prog_compiler_static_GCJ='-non_shared'
;;
+ rdos*)
+ lt_prog_compiler_static_GCJ='-non_shared'
+ ;;
+
solaris*)
lt_prog_compiler_pic_GCJ='-KPIC'
lt_prog_compiler_static_GCJ='-Bstatic'
{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_prog_compiler_pic_works_GCJ=no
+ lt_cv_prog_compiler_pic_works_GCJ=no
ac_outfile=conftest.$ac_objext
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16527: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17127: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16531: \$? = $ac_status" >&5
+ echo "$as_me:17131: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
$echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_GCJ=yes
+ lt_cv_prog_compiler_pic_works_GCJ=yes
fi
fi
$rm conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
case $lt_prog_compiler_pic_GCJ in
"" | " "*) ;;
*) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_prog_compiler_static_works_GCJ=no
+ lt_cv_prog_compiler_static_works_GCJ=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
$echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_GCJ=yes
+ lt_cv_prog_compiler_static_works_GCJ=yes
fi
else
- lt_prog_compiler_static_works_GCJ=yes
+ lt_cv_prog_compiler_static_works_GCJ=yes
fi
fi
- $rm conftest*
+ $rm -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_static_works_GCJ" >&6; }
-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
:
else
lt_prog_compiler_static_GCJ=
mkdir conftest
cd conftest
mkdir out
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-o out/conftest2.$ac_objext"
# Insert the option either (1) after the last *FLAGS variable, or
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16631: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17231: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16635: \$? = $ac_status" >&5
+ echo "$as_me:17235: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
# Just being paranoid about ensuring that cc_basename is set.
for cc_temp in $compiler""; do
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs_GCJ=no
allow_undefined_flag_GCJ=unsupported
always_export_symbols_GCJ=no
enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
fi
;;
- interix3*)
+ interix[3-9]*)
hardcode_direct_GCJ=no
hardcode_shlibpath_var_GCJ=no
hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- linux* | k*bsd*-gnu)
+ gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
tmp_addflag=
case $cc_basename,$host_cpu in
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
esac
- archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
if test $supports_anon_versioning = yes; then
archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
$echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
fi
link_all_deplibs_GCJ=no
else
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct_GCJ=yes
+ :
else
# We have old collect2
hardcode_direct_GCJ=unsupported
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# The linker will automatically build a .lib file if we build a DLL.
old_archive_From_new_cmds_GCJ='true'
# FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
enable_shared_with_static_runtimes_GCJ=yes
;;
link_all_deplibs_GCJ=yes
if test "$GCC" = yes ; then
output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
else
case $cc_basename in
xlc*)
output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+ archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
*)
;;
openbsd*)
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ ;;
+ *)
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs_GCJ=no
fi
;;
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- # The compiler driver will combine linker options so we
- # cannot just pass the convience library names through
- # without $wl, iff we do not link with $LD.
- # Luckily, gcc supports the same syntax we need for Sun Studio.
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- case $wlarc in
- '')
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
- *)
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- esac ;;
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
esac
link_all_deplibs_GCJ=yes
;;
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
no_undefined_flag_GCJ='${wl}-z,text'
archive_cmds_need_lc_GCJ=no
hardcode_shlibpath_var_GCJ=no
{ echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
$rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
need_lib_prefix=unknown
hardcode_into_libs=no
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
- if test "$GCC" = yes; then
- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
- else
- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
- fi
+
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
- freebsd*) # from 4.6 on
+ *) # from 4.6 on, and DragonFly
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
;;
postinstall_cmds='chmod 555 $lib'
;;
-interix3*)
+interix[3-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
+rdos*)
+ dynamic_linker=no
+ ;;
+
solaris*)
version_type=linux
need_lib_prefix=no
echo "${ECHO_T}$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+fi
+
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+fi
+
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
predeps_GCJ \
postdeps_GCJ \
compiler_lib_search_path_GCJ \
+ compiler_lib_search_dirs_GCJ \
archive_cmds_GCJ \
archive_expsym_cmds_GCJ \
postinstall_cmds_GCJ \
module_cmds_GCJ \
module_expsym_cmds_GCJ \
lt_cv_prog_compiler_c_o_GCJ \
+ fix_srcfile_path_GCJ \
exclude_expsyms_GCJ \
include_expsyms_GCJ; do
# shared library.
postdeps=$lt_postdeps_GCJ
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_GCJ"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_GCJ
objext_RC=$objext
# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
lt_simple_link_test_code="$lt_simple_compile_test_code"
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
$rm conftest*
ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$rm -r conftest*
# Allow CC to be a program name with arguments.
predeps_RC \
postdeps_RC \
compiler_lib_search_path_RC \
+ compiler_lib_search_dirs_RC \
archive_cmds_RC \
archive_expsym_cmds_RC \
postinstall_cmds_RC \
module_cmds_RC \
module_expsym_cmds_RC \
lt_cv_prog_compiler_c_o_RC \
+ fix_srcfile_path_RC \
exclude_expsyms_RC \
include_expsyms_RC; do
# shared library.
postdeps=$lt_postdeps_RC
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
+
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=$lt_compiler_lib_search_path_RC
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_RC"
+fix_srcfile_path=$lt_fix_srcfile_path
# Set to yes if exported symbols are required.
always_export_symbols=$always_export_symbols_RC
CPPFLAGS="${CPPFLAGS} -I${openssl_prefix}/include"
LDFLAGS="${LDFLAGS} -L${openssl_prefix}/lib"
LDFLAGS="${LDFLAGS} -R${openssl_prefix}/lib"
- OPENSSL_PATH="--with-openssl ${openssl_prefix}"
+ OPENSSL_PATH="--with-openssl=${openssl_prefix}"
fi
fi
done
-for ac_header in ap_regex.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef HAVE_APR_H
-# include "apr.h"
-#endif
-#ifdef HAVE_AP_CONFIG_H
-# include "ap_config.h"
-#endif
-
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- use_pcre_flag="no"
-else
- use_pcre_flag="yes"
-fi
-
-done
-
-
for ac_header in libgen.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
done
+#AC_CHECK_HEADERS([ap_regex.h],
+# AC_DEFINE([HAVE_AP_REGEX_H], [], [Define to 1 if you have the <ap_regex.h> header file.]),[],
+#[[
+##ifdef HAVE_APR_H
+##include "apr.h"
+##endif
+##ifdef HAVE_AP_CONFIG_H
+##include "ap_config.h"
+##endif
+#]])
+
+for ac_header in ap_regex.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef HAVE_APR_H
+# include "apr.h"
+#endif
+#ifdef HAVE_AP_CONFIG_H
+# include "ap_config.h"
+#endif
+
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+ use_pcre_flag="no"
+else
+ use_pcre_flag="yes"
+fi
+
+done
+
if test "x$use_pcre_flag" = "xyes" ; then
if test "x$with_pcre_config" = "x" ; then
# Extract the first word of "pcre-config", so it can be a program name with args.
+
+
ac_config_files="$ac_config_files Makefile src/Makefile support/centos/mod-chxj.spec"
cat >confcache <<\_ACEOF
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mod_chxj $as_me 0.13.0-rc, which was
+This file was extended by mod_chxj $as_me 0.13.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-mod_chxj config.status 0.13.0-rc
+mod_chxj config.status 0.13.0
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
CCDEPMODE!$CCDEPMODE$ac_delim
am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+SED!$SED$ac_delim
GREP!$GREP$ac_delim
EGREP!$EGREP$ac_delim
LN_S!$LN_S$ac_delim
ECHO!$ECHO$ac_delim
AR!$AR$ac_delim
RANLIB!$RANLIB$ac_delim
+DSYMUTIL!$DSYMUTIL$ac_delim
+NMEDIT!$NMEDIT$ac_delim
CPP!$CPP$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
+CXX!$CXX$ac_delim
+CXXFLAGS!$CXXFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
CXXDEPMODE!$CXXDEPMODE$ac_delim
am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 24; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 27; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
fi
rm -f "$tmp/out12"
# Compute $ac_file's index in $config_headers.
+_am_arg=$ac_file
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $ac_file | $ac_file:* )
+ $_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
-echo X$ac_file |
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
-AC_INIT([mod_chxj],[0.13.0-rc],[konn@users.sourceforge.jp])
+AC_INIT([mod_chxj],[0.13.0],[konn@users.sourceforge.jp])
AC_PREREQ(2.59)
AC_CONFIG_SRCDIR([src/mod_chxj.c])
AC_CANONICAL_TARGET
CPPFLAGS="${CPPFLAGS} -I${openssl_prefix}/include"
LDFLAGS="${LDFLAGS} -L${openssl_prefix}/lib"
LDFLAGS="${LDFLAGS} -R${openssl_prefix}/lib"
- OPENSSL_PATH="--with-openssl ${openssl_prefix}"
+ OPENSSL_PATH="--with-openssl=${openssl_prefix}"
fi
])
</device>
</user_agent>
+ <!-- OSAKANA TARO add start -->
+ <user_agent pattern="^DoCoMo/2.0[ ]+(ISIM)+([^( ]+)(\(.+\))*$">
+ <!--
+ iモードHTMLシミュレータII (ver8.4)
+ -->
+ <!--
+ iHTML5.0/Flash Lite 1.1/Deco-mail1.0
+ DoCoMo/2.0 ISIM0801(c100;TB;W48H32)
+ -->
+ <device>
+ <device_id>ISIM0801</device_id>
+ <device_name>DoCoMo ISIM0801</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type><!-- IHTML5.0 -->
+ <width>240</width>
+ <heigh>320</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ iHTML5.0/Flash Lite 1.1/Adobe Reader LE1.0/Deco-mail1.0
+ DoCoMo/2.0 ISIM0802(c100;TB;W48H32)
+ -->
+ <device>
+ <device_id>ISIM0802</device_id>
+ <device_name>DoCoMo ISIM0802</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type><!-- IHTML5.0 -->
+ <width>240</width>
+ <heigh>320</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ iHTML6.0/Flash Lite 1.1/Adobe Reader LE1.0/Deco-mail2.0/ToruCa1.0
+ DoCoMo/2.0 ISIM0803(c100;TB;W48H32)
+ -->
+ <device>
+ <device_id>ISIM0803</device_id>
+ <device_name>DoCoMo ISIM0803</device_name>
+ <html_spec_type>CHTML_6_0</html_spec_type><!-- IHTML6.0/IXHTML2.0 -->
+ <width>240</width>
+ <heigh>320</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ iHTML7.0/Flash Lite 1.1/Adobe Reader LE2.0/Deco-mail3.0/ToruCa2.0
+ DoCoMo/2.0 ISIM0804(c100;TB;W48H32)
+ -->
+ <device>
+ <device_id>ISIM0804</device_id>
+ <device_name>DoCoMo ISIM0804</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>320</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ iHTML7.1/Flash Lite 3.0/Adobe Reader LE2.0/Deco-mail3.0/ToruCa2.0
+ DoCoMo/2.0 ISIM0805(c100;TB;W48H32)
+ -->
+ <device>
+ <device_id>ISIM0805</device_id>
+ <device_name>DoCoMo ISIM0805</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.1/IXHTML2.1 -->
+ <width>240</width>
+ <heigh>320</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ iHTML7.2/Flash Lite 3.0/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.0
+ DoCoMo/2.0 ISIM0806(c100;TB;W48H32)
+ -->
+ <device>
+ <device_id>ISIM0806</device_id>
+ <device_name>DoCoMo ISIM0806</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>320</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ iHTML7.2/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
+ DoCoMo/2.0 ISIM0807(c100;TB;W48H32)
+ -->
+ <device>
+ <device_id>ISIM0807</device_id>
+ <device_name>DoCoMo ISIM0807</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>320</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!--
+ QVGA: i-mode Browser2.0/Flash Lite 3.1/Adobe Reader LE2.0/Deco-mail4.0/ToruCa2.1
+ iMode2.0 DoCoMo/2.0 ISIM0808(c500;TB;W24H16)
+ -->
+ <device>
+ <device_id>ISIM0808</device_id>
+ <device_name>DoCoMo ISIM0808</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>480</width>
+ <heigh>640</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>512000</color>
+ <emoji_type></emoji_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>640</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ </user_agent>
+ <!-- OSAKANA TARO add end -->
<!-- Sale in 2007.6 F904i_H -->
<user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W24H17\)$">
<!--
DoCoMo/2.0 F01A(c100;TB;W30H22)
DoCoMo/2.0 F01A(c100;TB;W30H15)
DoCoMo/2.0 F01A(c100;TB;W17H12)
+ DoCoMo/2.0 F01A(c100;TB;W17H8)
DoCoMo/2.0 F01A(c100;TB;W40H29)
DoCoMo/2.0 F01A(c100;TB;W40H20)
DoCoMo/2.0 F01A(c100;SD)
DoCoMo/2.0 F01A(c100;TC;W30H22)
DoCoMo/2.0 F01A(c100;TC;W30H15)
DoCoMo/2.0 F01A(c100;TC;W17H12)
+ DoCoMo/2.0 F01A(c100;TC;W17H8)
DoCoMo/2.0 F01A(c100;TC;W40H29)
DoCoMo/2.0 F01A(c100;TC;W40H20)
-->
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>UNKNOWN_DEVICE</device_id>
- <device_name>UNKNOWN DoCoMo Device</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>118</width>
- <heigh>128</heigh>
+ <!-- OSAKANA TARO add start -->
+ <!-- iモード対応HTML7.2(FOMA 906iなど) -->
+ <!--
+ DoCoMo/2.0 P04A(c100;TB;W24H15) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 P04A(c100;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P04A(c100;TB;W30H19) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P04A(c100;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P04A(c100;TB;W24H13) (トルカ詳細化時)
+ DoCoMo/2.0 P04A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P04A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>P04A</device_id>
+ <device_name>DoCoMo P-04A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>350</heigh>
<gif>true</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4096</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
- <cache>100000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>427</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- </user_agent>
-
-
-
- <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]/TB$">
+
+ <!--
+ DoCoMo/2.0 P05A(c100;TB;W24H15) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 P05A(c100;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P05A(c100;TB;W30H19) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P05A(c100;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P05A(c100;TB;W24H13) (トルカ詳細化時)
+ DoCoMo/2.0 P05A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P05A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
<device>
- <device_id>F504i</device_id>
- <device_name>F504i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>136</heigh>
+ <device_id>P05A</device_id>
+ <device_name>DoCoMo P-05A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>136</wp_heigh>
- <cache>10000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>427</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!--
+ DoCoMo/2.0 P06A(c100;TB;W20H13) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 P06A(c100;TB;W24H15) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P06A(c100;TB;W30H19) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P06A(c100;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P06A(c100;TB;W24H13) (トルカ詳細化時)
+ DoCoMo/2.0 P06A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P06A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
<device>
- <device_id>F504iS</device_id>
- <device_name>F504iS</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>136</heigh>
+ <device_id>P06A</device_id>
+ <device_name>DoCoMo P-06A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>10000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>427</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ DoCoMo/2.0 P10A(c100;TB;W24H15) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 P10A(c100;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P10A(c100;TB;W30H19) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P10A(c100;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P10A(c100;TB;W24H13) (トルカ詳細化時)
+ DoCoMo/2.0 P10A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P10A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
<device>
- <device_id>N504i</device_id>
- <device_name>N504i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>160</width>
- <heigh>180</heigh>
+ <device_id>P10A</device_id>
+ <device_name>DoCoMo P-10A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>160</wp_width>
- <wp_heigh>200</wp_heigh>
- <cache>10000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>427</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>N504iS</device_id>
- <device_name>N504iS</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>160</width>
- <heigh>180</heigh>
+
+ <!--
+ DoCoMo/2.0 SH04A(c100;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 SH04A(c100;TB;W24H12) (ブラウザからの通信時、ADF取得時(横画面))
+ DoCoMo/2.0 SH04A(c100;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 SH04A(c100;TB;W20H10) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 SH04A(c100;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 SH04A(c100;TB;W30H15) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 SH04A(c100;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 SH04A(c100;TB;W16H08) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 SH04A(c100;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH04A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH04A(c100;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH04A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH04A</device_id>
+ <device_name>DoCoMo SH-04A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>160</wp_width>
- <wp_heigh>198</wp_heigh>
- <cache>10000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>SO504i</device_id>
- <device_name>SO504i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>120</width>
- <heigh>112</heigh>
+
+ <!-- iモード対応HTML7.2(FOMA 906iなど) end -->
+ <!-- iモードブラウザ2.0 start -->
+
+ <!--
+ DoCoMo/2.0 P07A3(c500;TB;W24H15) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 P07A3(c500;TB;W42H08) (ブラウザからの通信時、ADF取得時(横画面))
+ DoCoMo/2.0 P07A3(c500;TB;W20H12) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P07A3(c500;TB;W35H06) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P07A3(c500;TB;W30H18) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P07A3(c500;TB;W53H09) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P07A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P07A3(c500;TB;W28H05) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P07A3(c500;TB;W24H13) (トルカ詳細化時)
+ DoCoMo/2.0 P07A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 P07A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P07A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 P07A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>P07A</device_id>
+ <device_name>DoCoMo P-07A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>331</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>10000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
+
+ <!--
+ DoCoMo/2.0 P08A3(c500;TB;W24H15) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 P08A3(c500;TB;W20H12) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P08A3(c500;TB;W30H18) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P08A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P08A3(c500;TB;W24H13) (トルカ詳細化時)
+ DoCoMo/2.0 P08A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 P08A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P08A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 P08A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
<device>
- <device_id>P504i</device_id>
- <device_name>P504i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+ <device_id>P08A</device_id>
+ <device_name>DoCoMo P-08A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>331</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>144</wp_heigh>
- <cache>10000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ DoCoMo/2.0 P09A3(c500;TB;W24H15) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 P09A3(c500;TB;W20H12) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P09A3(c500;TB;W30H18) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P09A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 P09A3(c500;TB;W24H13) (トルカ詳細化時)
+ DoCoMo/2.0 P09A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 P09A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P09A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 P09A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
<device>
- <device_id>P504iS</device_id>
- <device_name>P504iS</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+ <device_id>P09A</device_id>
+ <device_name>DoCoMo P-09A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>331</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>144</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>SH251i</device_id>
- <device_name>SH251i</device_name>
- <html_spec_type>CHTML_3_0</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!--
+ DoCoMo/2.0 N06A3(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 N06A3(c500;TB;W24H12) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 N06A3(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 N06A3(c500;TB;W20H10) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 N06A3(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 N06A3(c500;TB;W30H15) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 N06A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 N06A3(c500;TB;W16H8) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 N06A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 N06A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 N06A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 N06A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>N06A</device_id>
+ <device_name>DoCoMo N-06A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>10000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>SH251iS</device_id>
- <device_name>SH251iS</device_name>
- <html_spec_type>CHTML_3_0</html_spec_type>
- <width>176</width>
- <heigh>187</heigh>
+
+ <!--
+ DoCoMo/2.0 N07A3(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 N07A3(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N07A3(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N07A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N07A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 N07A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 N07A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 N07A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>N07A</device_id>
+ <device_name>DoCoMo N-07A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>176</wp_width>
- <wp_heigh>220</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>D251i</device_id>
- <device_name>D251i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 N08A3(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 N08A3(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N08A3(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N08A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N08A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 N08A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 N08A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 N08A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>N08A</device_id>
+ <device_name>DoCoMo N-08A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>10000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>D251iS</device_id>
- <device_name>D251iS</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+
+ <!--
+ DoCoMo/2.0 N09A3(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 N09A3(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N09A3(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N09A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N09A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 N09A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 N09A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 N09A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>N09A</device_id>
+ <device_name>DoCoMo N-09A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>F251i</device_id>
- <device_name>F251i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>140</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!--
+ DoCoMo/2.0 F08A3(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 F08A3(c500;TB;W24H17) (ブラウザからの通信時(縦全画面))
+ DoCoMo/2.0 F08A3(c500;TB;W42H09) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 F08A3(c500;TB;W24H10) (ブラウザからの通信時(横マルチ画面))
+ DoCoMo/2.0 F08A3(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W20H14) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W35H08) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W20H08) (ブラウザからの通信時(横マルチ画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W30H22) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W53H12) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W30H13) (ブラウザからの通信時(横マルチ画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W16H11) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W28H06) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W16H07) (ブラウザからの通信時(横マルチ画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W12H08) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W12H08) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W21H04) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F08A3(c500;TB;W12H05) (ブラウザからの通信時(横マルチ画面))1
+ DoCoMo/2.0 F08A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 F08A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 F08A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 F08A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>F08A</device_id>
+ <device_name>DoCoMo F-08A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>324</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>156</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>N251i</device_id>
- <device_name>N251i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>140</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!--
+ DoCoMo/2.0 F09A3(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 F09A3(c500;TB;W24H14) (ブラウザからの通信時(縦画面パッド表示))
+ DoCoMo/2.0 F09A3(c500;TB;W24H20) (ブラウザからの通信時(縦全画面))
+ DoCoMo/2.0 F09A3(c500;TB;W24H18) (ブラウザからの通信時(縦全画面パッド表示))
+ DoCoMo/2.0 F09A3(c500;TB;W48H09) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 F09A3(c500;TB;W43H09) (ブラウザからの通信時(横画面パッド表示))
+ DoCoMo/2.0 F09A3(c500;TB;W24H10) (ブラウザからの通信時(横マルチ画面))
+ DoCoMo/2.0 F09A3(c500;TB;W24H08) (ブラウザからの通信時(横マルチ画面パッド表示))
+ DoCoMo/2.0 F09A3(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W20H11) (ブラウザからの通信時(縦画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W20H17) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W20H15) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W40H08) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W36H08) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W20H08) (ブラウザからの通信時(横マルチ画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W20H07) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W30H17) (ブラウザからの通信時(縦画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W30H25) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W30H23) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W60H12) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W54H12) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W30H13) (ブラウザからの通信時(横マルチ画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W30H10) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W16H09) (ブラウザからの通信時(縦画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W16H13) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W16H12) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W32H06) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W28H06) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W16H07) (ブラウザからの通信時(横マルチ画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W16H05) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W12H08) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W12H07) (ブラウザからの通信時(縦画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W12H10) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W12H09) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W24H04) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W21H04) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;TB;W12H05) (ブラウザからの通信時(横マルチ画面))1
+ DoCoMo/2.0 F09A3(c500;TB;W12H04) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F09A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 F09A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 F09A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 F09A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>F09A</device_id>
+ <device_name>DoCoMo F-09A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>324</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>159</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>N251iS</device_id>
- <device_name>N251iS</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>140</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>960</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!--
+ DoCoMo/2.0 SH05A3(c500;TB;W24H14) (ブラウザからの通信時)
+ DoCoMo/2.0 SH05A3(c500;TB;W20H12) (ブラウザからの通信時)1
+ DoCoMo/2.0 SH05A3(c500;TB;W30H18) (ブラウザからの通信時)1
+ DoCoMo/2.0 SH05A3(c500;TB;W16H09) (ブラウザからの通信時)1
+ DoCoMo/2.0 SH05A3(c500;TB;W24H16) (ADF取得時)
+ DoCoMo/2.0 SH05A3(c500;TB;W20H13) (ADF取得時)1
+ DoCoMo/2.0 SH05A3(c500;TB;W30H20) (ADF取得時)1
+ DoCoMo/2.0 SH05A3(c500;TB;W16H10) (ADF取得時)1
+ DoCoMo/2.0 SH05A3(c500;TB;W24H16) (トルカ詳細化時)
+ DoCoMo/2.0 SH05A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH05A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH05A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH05A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH05A</device_id>
+ <device_name>DoCoMo SH-05A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>296</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>158</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>P251iS</device_id>
- <device_name>P251iS</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 SH06A3(c500;TB;W24H14) (ブラウザからの通信時(縦画面))
+ DoCoMo/2.0 SH06A3(c500;TB;W24H10) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 SH06A3(c500;TB;W20H12) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W20H09) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W30H18) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W30H13) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W16H09) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W16H07) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W24H16) (ADF取得時(縦画面))
+ DoCoMo/2.0 SH06A3(c500;TB;W24H12) (ADF取得時(横画面))
+ DoCoMo/2.0 SH06A3(c500;TB;W20H13) (ADF取得時(縦画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W20H10) (ADF取得時(横画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W30H20) (ADF取得時(縦画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W30H15) (ADF取得時(横画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W16H10) (ADF取得時(縦画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W16H08) (ADF取得時(横画面))1
+ DoCoMo/2.0 SH06A3(c500;TB;W24H16) (トルカ詳細化時)
+ DoCoMo/2.0 SH06A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH06A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH06A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH06A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH06A</device_id>
+ <device_name>DoCoMo SH-06A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>296</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>F671iS</device_id>
- <device_name>F671iS</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>160</width>
- <heigh>120</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 SH07A3(c500;TB;W24H14) (ブラウザからの通信時(縦画面))
+ DoCoMo/2.0 SH07A3(c500;TB;W24H10) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 SH07A3(c500;TB;W20H12) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W20H09) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W30H18) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W30H13) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W16H09) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W16H07) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W24H16) (ADF取得時(縦画面))
+ DoCoMo/2.0 SH07A3(c500;TB;W24H12) (ADF取得時(横画面))
+ DoCoMo/2.0 SH07A3(c500;TB;W20H13) (ADF取得時(縦画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W20H10) (ADF取得時(横画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W30H20) (ADF取得時(縦画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W30H15) (ADF取得時(横画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W16H10) (ADF取得時(縦画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W16H08) (ADF取得時(横画面))1
+ DoCoMo/2.0 SH07A3(c500;TB;W24H16) (トルカ詳細化時)
+ DoCoMo/2.0 SH07A3(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH07A3(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH07A3(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH07A3(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH07A</device_id>
+ <device_name>DoCoMo SH-07A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>296</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>160</wp_width>
- <wp_heigh>120</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>SO212i</device_id>
- <device_name>SO212i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>120</width>
- <heigh>112</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 SH08A(c500;TB;W24H14) (ブラウザからの通信時)
+ DoCoMo/2.0 SH08A(c500;TB;W20H12) (ブラウザからの通信時)1
+ DoCoMo/2.0 SH08A(c500;TB;W30H18) (ブラウザからの通信時)1
+ DoCoMo/2.0 SH08A(c500;TB;W16H09) (ブラウザからの通信時)1
+ DoCoMo/2.0 SH08A(c500;TB;W24H16) (ADF取得時)
+ DoCoMo/2.0 SH08A(c500;TB;W20H13) (ADF取得時)1
+ DoCoMo/2.0 SH08A(c500;TB;W30H20) (ADF取得時)1
+ DoCoMo/2.0 SH08A(c500;TB;W16H10) (ADF取得時)1
+ DoCoMo/2.0 SH08A(c500;TB;W24H16) (トルカ詳細化時)
+ DoCoMo/2.0 SH08A(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH08A(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH08A(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH08A(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH08A</device_id>
+ <device_name>DoCoMo SH-08A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>296</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>128</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>F212i</device_id>
- <device_name>F212i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>136</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 SH01B(c500;TB;W24H16) (ブラウザからの通信時(縦画面))
+ DoCoMo/2.0 SH01B(c500;TB;W24H10) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 SH01B(c500;TB;W24H14) (ブラウザからの通信時(縦閉画面))
+ DoCoMo/2.0 SH01B(c500;TB;W20H13) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W20H09) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W20H12) (ブラウザからの通信時(縦閉画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W30H20) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W30H13) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W30H18) (ブラウザからの通信時(縦閉画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W16H10) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W16H07) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W16H09) (ブラウザからの通信時(縦閉画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W40H26) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W40H18) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W40H24) (ブラウザからの通信時(縦閉画面))1
+ DoCoMo/2.0 SH01B(c500;TB;W24H16) (ADF取得時)
+ DoCoMo/2.0 SH01B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH01B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH01B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH01B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH01B</device_id>
+ <device_name>DoCoMo SH-01B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>323</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>156</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>F661i</device_id>
- <device_name>F661i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>132</width>
- <heigh>136</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 SH02B(c500;TB;W24H16) (ブラウザからの通信時(通常画面))
+ DoCoMo/2.0 SH02B(c500;TB;W24H10) (ブラウザからの通信時(マルチ画面))
+ DoCoMo/2.0 SH02B(c500;TB;W20H13) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH02B(c500;TB;W20H09) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH02B(c500;TB;W30H20) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH02B(c500;TB;W30H13) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH02B(c500;TB;W16H10) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH02B(c500;TB;W16H07) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH02B(c500;TB;W40H26) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH02B(c500;TB;W40H18) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH02B(c500;TB;W24H16) (ADF取得時)
+ DoCoMo/2.0 SH02B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH02B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH02B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH02B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH02B</device_id>
+ <device_name>DoCoMo SH-02B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>323</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>156</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>F672i</device_id>
- <device_name>F672i</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>160</width>
- <heigh>120</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 SH03B(c500;TB;W30H18) (ブラウザからの通信時(縦画面))
+ DoCoMo/2.0 SH03B(c500;TB;W30H13) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 SH03B(c500;TB;W20H12) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH03B(c500;TB;W20H09) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH03B(c500;TB;W24H14) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH03B(c500;TB;W24H10) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH03B(c500;TB;W40H24) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH03B(c500;TB;W40H18) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH03B(c500;TB;W16H09) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 SH03B(c500;TB;W16H07) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 SH03B(c500;TB;W24H16) (ADF取得時)
+ DoCoMo/2.0 SH03B(c500;TB;W24H16) (トルカ詳細化時)
+ DoCoMo/2.0 SH03B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH03B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH03B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH03B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH03B</device_id>
+ <device_name>DoCoMo SH-03B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>296</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>160</wp_width>
- <wp_heigh>120</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>SO213i</device_id>
- <device_name>premini (SO213i)</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>120</width>
- <heigh>112</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 SH04B(c500;TB;W24H14) (ブラウザからの通信時(通常画面))
+ DoCoMo/2.0 SH04B(c500;TB;W24H10) (ブラウザからの通信時(マルチ画面))
+ DoCoMo/2.0 SH04B(c500;TB;W20H12) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W20H09) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W30H18) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W30H13) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W16H09) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W16H07) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W24H16) (ADF取得時(通常画面))
+ DoCoMo/2.0 SH04B(c500;TB;W24H12) (ADF取得時(マルチ画面))
+ DoCoMo/2.0 SH04B(c500;TB;W20H13) (ADF取得時(通常画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W20H10) (ADF取得時(マルチ画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W30H20) (ADF取得時(通常画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W30H15) (ADF取得時(マルチ画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W16H10) (ADF取得時(通常画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W16H08) (ADF取得時(マルチ画面))1
+ DoCoMo/2.0 SH04B(c500;TB;W24H16) (トルカ詳細化時)
+ DoCoMo/2.0 SH04B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH04B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH04B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH04B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH04B</device_id>
+ <device_name>DoCoMo SH-04B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>296</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>128</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>SO213iS</device_id>
- <device_name>premini-S (SO213iS)</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>120</width>
- <heigh>112</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 SH05B(c500;TB;W24H16) (ブラウザからの通信時(通常画面))
+ DoCoMo/2.0 SH05B(c500;TB;W24H10) (ブラウザからの通信時(マルチ画面))
+ DoCoMo/2.0 SH05B(c500;TB;W20H13) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH05B(c500;TB;W20H09) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH05B(c500;TB;W30H20) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH05B(c500;TB;W30H13) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH05B(c500;TB;W16H10) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH05B(c500;TB;W16H07) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH05B(c500;TB;W40H26) (ブラウザからの通信時(通常画面))1
+ DoCoMo/2.0 SH05B(c500;TB;W40H18) (ブラウザからの通信時(マルチ画面))1
+ DoCoMo/2.0 SH05B(c500;TB;W24H16) (ADF取得時)
+ DoCoMo/2.0 SH05B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 SH05B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 SH05B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 SH05B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>SH05B</device_id>
+ <device_name>DoCoMo SH-05B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>323</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>128</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>N2701</device_id>
- <device_name>N2701</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>176</width>
- <heigh>198</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 F01B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 F01B(c500;TB;W24H14) (ブラウザからの通信時(縦画面パッド表示))
+ DoCoMo/2.0 F01B(c500;TB;W24H20) (ブラウザからの通信時(縦全画面))
+ DoCoMo/2.0 F01B(c500;TB;W24H18) (ブラウザからの通信時(縦全画面パッド表示))
+ DoCoMo/2.0 F01B(c500;TB;W48H09) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 F01B(c500;TB;W43H09) (ブラウザからの通信時(横画面パッド表示))
+ DoCoMo/2.0 F01B(c500;TB;W24H10) (ブラウザからの通信時(縦マルチ画面))
+ DoCoMo/2.0 F01B(c500;TB;W24H08) (ブラウザからの通信時(横マルチ画面パッド表示))
+ DoCoMo/2.0 F01B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F01B(c500;TB;W20H11) (ブラウザからの通信時(縦画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W20H16) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F01B(c500;TB;W20H15) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W40H08) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F01B(c500;TB;W36H08) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W20H08) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F01B(c500;TB;W20H07) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F01B(c500;TB;W30H17) (ブラウザからの通信時(縦画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W30H25) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F01B(c500;TB;W30H22) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W60H12) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F01B(c500;TB;W54H12) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W30H13) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F01B(c500;TB;W30H10) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F01B(c500;TB;W16H09) (ブラウザからの通信時(縦画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W16H13) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F01B(c500;TB;W16H12) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W32H06) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F01B(c500;TB;W28H06) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W16H07) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F01B(c500;TB;W16H05) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W12H08) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F01B(c500;TB;W12H07) (ブラウザからの通信時(縦画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W12H10) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F01B(c500;TB;W12H09) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W24H04) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F01B(c500;TB;W21H04) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;TB;W12H05) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F01B(c500;TB;W12H04) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F01B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 F01B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 F01B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 F01B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>F01B</device_id>
+ <device_name>DoCoMo F-01B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>324</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>176</wp_width>
- <wp_heigh>198</wp_heigh>
- <cache>100000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
-
- <!-- Sale in 2005.10 RADIDEN(SO213iWR) -->
- <device>
- <device_id>SO213iWR</device_id>
- <device_name>SO213iWR</device_name>
- <html_spec_type>CHTML_4_0</html_spec_type>
- <width>120</width>
- <heigh>112</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>960</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 F02B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 F02B(c500;TB;W24H17) (ブラウザからの通信時(縦全画面))
+ DoCoMo/2.0 F02B(c500;TB;W42H09) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 F02B(c500;TB;W24H10) (ブラウザからの通信時(縦マルチ画面))
+ DoCoMo/2.0 F02B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F02B(c500;TB;W20H14) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F02B(c500;TB;W35H08) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F02B(c500;TB;W20H08) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F02B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F02B(c500;TB;W30H22) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F02B(c500;TB;W53H12) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F02B(c500;TB;W30H13) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F02B(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F02B(c500;TB;W16H11) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F02B(c500;TB;W28H06) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F02B(c500;TB;W16H07) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F02B(c500;TB;W12H08) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F02B(c500;TB;W12H08) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F02B(c500;TB;W21H04) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F02B(c500;TB;W12H05) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F02B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 F02B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 F02B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 F02B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>F02B</device_id>
+ <device_name>DoCoMo F-02B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>324</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>128</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
-
- </user_agent>
-
-
-
- <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]/TB/W[0-9][0-9]H[0-9][0-9]$$">
- <device>
- <device_id>P213i</device_id>
- <device_name>prosolid(P213i)</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 F03B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 F03B(c500;TB;W24H17) (ブラウザからの通信時(縦全画面))
+ DoCoMo/2.0 F03B(c500;TB;W42H09) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 F03B(c500;TB;W24H10) (ブラウザからの通信時(縦マルチ画面))
+ DoCoMo/2.0 F03B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F03B(c500;TB;W20H14) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F03B(c500;TB;W35H08) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F03B(c500;TB;W20H08) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F03B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F03B(c500;TB;W30H22) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F03B(c500;TB;W53H12) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F03B(c500;TB;W30H13) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F03B(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F03B(c500;TB;W16H11) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F03B(c500;TB;W28H06) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F03B(c500;TB;W16H07) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F03B(c500;TB;W12H08) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 F03B(c500;TB;W12H08) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F03B(c500;TB;W21H04) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F03B(c500;TB;W12H05) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F03B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 F03B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 F03B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 F03B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>F03B</device_id>
+ <device_name>DoCoMo F-03B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>324</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>132</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>10000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>D505i</device_id>
- <device_name>D505i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 F04B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(通常画面))
+ DoCoMo/2.0 F04B(c500;TB;W24H14) (ブラウザからの通信時(通常画面パッド表示))
+ DoCoMo/2.0 F04B(c500;TB;W24H20) (ブラウザからの通信時(縦全画面))
+ DoCoMo/2.0 F04B(c500;TB;W24H18) (ブラウザからの通信時(縦全画面パッド表示))
+ DoCoMo/2.0 F04B(c500;TB;W48H09) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 F04B(c500;TB;W43H09) (ブラウザからの通信時(横画面パッド表示))
+ DoCoMo/2.0 F04B(c500;TB;W24H10) (ブラウザからの通信時(縦マルチ画面))
+ DoCoMo/2.0 F04B(c500;TB;W24H08) (ブラウザからの通信時(横マルチ画面パッド表示))
+ DoCoMo/2.0 F04B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(通常画面))1
+ DoCoMo/2.0 F04B(c500;TB;W20H11) (ブラウザからの通信時(通常画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W20H16) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F04B(c500;TB;W20H15) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W40H08) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F04B(c500;TB;W36H08) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W20H08) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F04B(c500;TB;W20H07) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(通常画面))1
+ DoCoMo/2.0 F04B(c500;TB;W30H17) (ブラウザからの通信時(通常画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W30H25) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F04B(c500;TB;W30H22) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W60H12) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F04B(c500;TB;W54H12) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W30H13) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F04B(c500;TB;W30H10) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(通常画面))1
+ DoCoMo/2.0 F04B(c500;TB;W16H09) (ブラウザからの通信時(通常画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W16H13) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F04B(c500;TB;W16H12) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W32H06) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F04B(c500;TB;W28H06) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W16H07) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F04B(c500;TB;W16H05) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W12H08) (ブラウザからの通信時、ADF取得時(通常画面))1
+ DoCoMo/2.0 F04B(c500;TB;W12H07) (ブラウザからの通信時(通常画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W12H10) (ブラウザからの通信時(縦全画面))1
+ DoCoMo/2.0 F04B(c500;TB;W12H09) (ブラウザからの通信時(縦全画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W24H04) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 F04B(c500;TB;W21H04) (ブラウザからの通信時(横画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;TB;W12H05) (ブラウザからの通信時(縦マルチ画面))1
+ DoCoMo/2.0 F04B(c500;TB;W12H04) (ブラウザからの通信時(横マルチ画面パッド表示))1
+ DoCoMo/2.0 F04B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 F04B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 F04B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 F04B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>F04B</device_id>
+ <device_name>DoCoMo F-04B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
<width>240</width>
- <heigh>270</heigh>
+ <heigh>324</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>D505iS</device_id>
- <device_name>D505iS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>960</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 P01B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 P01B(c500;TB;W24H15) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 P01B(c500;TB;W42H08) (ブラウザからの通信時、ADF取得時(横画面))
+ DoCoMo/2.0 P01B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P01B(c500;TB;W20H12) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P01B(c500;TB;W35H07) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P01B(c500;TB;W35H06) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P01B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P01B(c500;TB;W30H18) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P01B(c500;TB;W53H11) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P01B(c500;TB;W53H09) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P01B(c500;TB;W16H11) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P01B(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P01B(c500;TB;W28H05) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P01B(c500;TB;W24H16) (トルカ詳細化時)
+ DoCoMo/2.0 P01B(c500;TB;W24H13) (トルカ詳細化時)
+ DoCoMo/2.0 P01B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 P01B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P01B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 P01B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>P01B</device_id>
+ <device_name>DoCoMo P-01B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
<width>240</width>
- <heigh>270</heigh>
+ <heigh>331</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>SO505i</device_id>
- <device_name>SO505i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>256</width>
- <heigh>240</heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 P02B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 P02B(c500;TB;W42H08) (ブラウザからの通信時、ADF取得時(横画面))
+ DoCoMo/2.0 P02B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P02B(c500;TB;W35H07) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P02B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P02B(c500;TB;W53H11) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P02B(c500;TB;W16H11) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P02B(c500;TB;W28H05) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P02B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 P02B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P02B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 P02B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>P02B</device_id>
+ <device_name>DoCoMo P-02B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
+ <width>240</width>
+ <heigh>331</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>256</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>SO505iS</device_id>
- <device_name>SO505iS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 N01B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 N01B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N01B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N01B(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N01B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 N01B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 N01B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 N01B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>N01B</device_id>
+ <device_name>DoCoMo N-01B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
<width>240</width>
- <heigh>256</heigh>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>SH505i</device_id>
- <device_name>SH505i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 N02B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 N02B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N02B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N02B(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N02B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 N02B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 N02B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 N02B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>N02B</device_id>
+ <device_name>DoCoMo N-02B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
<width>240</width>
- <heigh>252</heigh>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>SH505iS</device_id>
- <device_name>SH505iS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 N03B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 N03B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N03B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N03B(c500;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N03B(c500;SD) (JAR取得時(Starプロファイル))
+ DoCoMo/2.0 N03B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 N03B(c500;SJ) (iアプリからの通信時(Starプロファイル))
+ DoCoMo/2.0 N03B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>N03B</device_id>
+ <device_name>DoCoMo N-03B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
<width>240</width>
- <heigh>252</heigh>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>N505i</device_id>
- <device_name>N505i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!-- iモードブラウザ2.0 end -->
+ <!-- iモードブラウザ2.0LE start -->
+ <!--
+ DoCoMo/2.0 P03B(c500;TB;W24H16) (ブラウザからの通信時、ADF取得時(縦画面))
+ DoCoMo/2.0 P03B(c500;TB;W42H08) (ブラウザからの通信時、ADF取得時(横画面))
+ DoCoMo/2.0 P03B(c500;TB;W20H13) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P03B(c500;TB;W35H07) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P03B(c500;TB;W30H20) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P03B(c500;TB;W53H11) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P03B(c500;TB;W16H11) (ブラウザからの通信時、ADF取得時(縦画面))1
+ DoCoMo/2.0 P03B(c500;TB;W28H05) (ブラウザからの通信時、ADF取得時(横画面))1
+ DoCoMo/2.0 P03B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 P03B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>P03B</device_id>
+ <device_name>DoCoMo P-03B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
<width>240</width>
- <heigh>270</heigh>
+ <heigh>331</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>270</wp_heigh>
- <cache>20000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>N505iS</device_id>
- <device_name>N505iS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <wp_heigh>427</wp_heigh>
+ <cache>512000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ DoCoMo/2.0 L01B(c500;TB;W24H16) (ブラウザからの通信時(縦画面))
+ DoCoMo/2.0 L01B(c500;TB;W40H10) (ブラウザからの通信時(横画面))
+ DoCoMo/2.0 L01B(c500;TB;W20H13) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 L01B(c500;TB;W33H09) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 L01B(c500;TB;W30H20) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 L01B(c500;TB;W50H13) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 L01B(c500;TB;W16H11) (ブラウザからの通信時(縦画面))1
+ DoCoMo/2.0 L01B(c500;TB;W26H07) (ブラウザからの通信時(横画面))1
+ DoCoMo/2.0 L01B(c500;TB;W21H11) (ADF取得時)
+ DoCoMo/2.0 L01B(c500;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 L01B(c500;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>L01B</device_id>
+ <device_name>DoCoMo L-01B</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.2/IXHTML2.3 -->
<width>240</width>
- <heigh>270</heigh>
+ <heigh>330</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>270</wp_heigh>
- <cache>20000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
+ <cache>512000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>F505i</device_id>
- <device_name>F505i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+
+ <!-- iモードブラウザ2.0LE end -->
+
+ <!-- iモード対応HTML6.0(FOMA 902iなど) の追加分 start -->
+ <!--
+ DoCoMo/2.0 L03A(c100;TB;W16H09) (ブラウザからの通信時)
+ DoCoMo/2.0 L03A(c100;TB;W20H11) (ブラウザからの通信時)1
+ DoCoMo/2.0 L03A(c100;TB;W24H14) (ブラウザからの通信時)1
+ DoCoMo/2.0 L03A(c100;TB;W20H11) (ADF取得時)
+ DoCoMo/2.0 L03A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 L03A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>L03A</device_id>
+ <device_name>DoCoMo L-03A</device_name>
+ <html_spec_type>CHTML_6_0</html_spec_type><!-- IHTML6.0/IXHTML2.0 -->
<width>240</width>
- <heigh>268</heigh>
+ <heigh>280</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>268</wp_heigh>
- <cache>20000</cache>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>F505iGPS</device_id>
- <device_name>F505iGPS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+
+ <!--
+ DoCoMo/2.0 L04A(c100;TB;W24H15) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 L04A(c100;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 L04A(c100;TB;W30H19) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 L04A(c100;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 L04A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 L04A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>L03A</device_id>
+ <device_name>DoCoMo L-03A</device_name>
+ <html_spec_type>CHTML_6_0</html_spec_type><!-- IHTML6.0/IXHTML2.0 -->
<width>240</width>
- <heigh>268</heigh>
+ <heigh>313</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
- <wp_width>240</wp_width>
- <wp_heigh>268</wp_heigh>
- <cache>20000</cache>
+ <!--
+ DoCoMo/2.0 L06A(c100;TB;W24H15) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 L06A(c100;TB;W20H13) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 L06A(c100;TB;W30H19) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 L06A(c100;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 L06A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 L06A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>L06A</device_id>
+ <device_name>DoCoMo L-06A</device_name>
+ <html_spec_type>CHTML_6_0</html_spec_type><!-- IHTML6.0/IXHTML2.0 -->
+ <width>240</width>
+ <heigh>313</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>P505i</device_id>
- <device_name>P505i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <!--
+ DoCoMo/2.0 L02B(c100;TB;W24H16) (ブラウザからの通信時)
+ DoCoMo/2.0 L02B(c100;TB;W20H13) (ブラウザからの通信時)1
+ DoCoMo/2.0 L02B(c100;TB;W30H20) (ブラウザからの通信時)1
+ DoCoMo/2.0 L02B(c100;TB;W16H11) (ブラウザからの通信時)1
+ DoCoMo/2.0 L02B(c100;TB;W21H11) (ADF取得時)1
+ DoCoMo/2.0 L02B(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 L02B(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>L02B</device_id>
+ <device_name>DoCoMo L-02B</device_name>
+ <html_spec_type>CHTML_6_0</html_spec_type><!-- IHTML6.0/IXHTML2.0 -->
<width>240</width>
- <heigh>266</heigh>
+ <heigh>330</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>P505iS</device_id>
- <device_name>P505iS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <!--
+ DoCoMo/2.0 L03B(c100;TB;W24H16) (ブラウザからの通信時)
+ DoCoMo/2.0 L03B(c100;TB;W20H13) (ブラウザからの通信時)1
+ DoCoMo/2.0 L03B(c100;TB;W30H20) (ブラウザからの通信時)1
+ DoCoMo/2.0 L03B(c100;TB;W16H11) (ブラウザからの通信時)1
+ DoCoMo/2.0 L03B(c100;TB;W21H11) (ADF取得時)
+ DoCoMo/2.0 L03B(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 L03B(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>L03B</device_id>
+ <device_name>DoCoMo L-03B</device_name>
+ <html_spec_type>CHTML_6_0</html_spec_type><!-- IHTML6.0/IXHTML2.0 -->
<width>240</width>
- <heigh>266</heigh>
+ <heigh>330</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
+ <cache>102400</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!-- iモード対応HTML6.0(FOMA 902iなど) の追加分 end -->
+ <!-- iモード対応HTML7.1(FOMA 905iなど) の追加分 start -->
+ <!--
+ DoCoMo/2.0 N05A(c100;TB;W20H13) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 N05A(c100;TB;W24H16) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N05A(c100;TB;W30H20) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N05A(c100;TB;W16H10) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 N05A(c100;TB;W24H16) (トルカ詳細化時)
+ DoCoMo/2.0 N05A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 N05A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
+ <device>
+ <device_id>N05A</device_id>
+ <device_name>DoCoMo N-05A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.1/IXHTML2.2 -->
+ <width>240</width>
+ <heigh>320</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_heigh>427</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!--
+ F-07A(らくらくホン ベーシックII)
+ DoCoMo/2.0 F07A(c100;TB;W20H08) (ブラウザからの通信時)
+ DoCoMo/2.0 F07A(c100;TB;W16H08) (ブラウザからの通信時)1
+ -->
<device>
- <device_id>D252i</device_id>
- <device_name>D252i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>176</width>
- <heigh>198</heigh>
+ <device_id>F07A</device_id>
+ <device_name>DoCoMo F-07A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.1/IXHTML2.2 -->
+ <width>240</width>
+ <heigh>256</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>176</wp_width>
- <wp_heigh>240</wp_heigh>
- <cache>10000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!--
+ F-10A(らくらくホン6)
+ DoCoMo/2.0 F10A(c100;TB;W20H09) (ブラウザからの通信時、ADF取得時)
+ DoCoMo/2.0 F10A(c100;TB;W16H09) (ブラウザからの通信時、ADF取得時)1
+ DoCoMo/2.0 F10A(c100;TD) (JAR取得時(DoJaプロファイル))
+ DoCoMo/2.0 F10A(c100;TJ) (iアプリからの通信時(DoJaプロファイル))
+ -->
<device>
- <device_id>SH252i</device_id>
- <device_name>SH252i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <device_id>F10A</device_id>
+ <device_name>DoCoMo F-10A</device_name>
+ <html_spec_type>CHTML_7_0</html_spec_type><!-- IHTML7.1/IXHTML2.2 -->
<width>240</width>
- <heigh>252</heigh>
+ <heigh>330</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>10000</cache>
+ <wp_heigh>400</wp_heigh>
+ <cache>102400</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- iモード対応HTML7.1(FOMA 905iなど) の追加分 end -->
+
+ <!-- OSAKANA TARO add end -->
+
+
<device>
- <device_id>P252i</device_id>
- <device_name>P252i</device_name>
+ <device_id>UNKNOWN_DEVICE</device_id>
+ <device_name>UNKNOWN DoCoMo Device</device_name>
<html_spec_type>CHTML_5_0</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+ <width>118</width>
+ <heigh>128</heigh>
<gif>true</gif>
- <jpeg>true</jpeg>
+ <jpeg>false</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>4096</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>10000</cache>
+ <wp_width>120</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>100000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ </user_agent>
+
+
+
+ <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]/TB$">
<device>
- <device_id>N252i</device_id>
- <device_name>N252i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <device_id>F504i</device_id>
+ <device_name>F504i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
<width>132</width>
- <heigh>140</heigh>
+ <heigh>136</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<emoji_type></emoji_type>
<wp_width>132</wp_width>
- <wp_heigh>158</wp_heigh>
+ <wp_heigh>136</wp_heigh>
<cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>P252iS</device_id>
- <device_name>P252iS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <device_id>F504iS</device_id>
+ <device_name>F504iS</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
<width>132</width>
- <heigh>144</heigh>
+ <heigh>136</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>D253i</device_id>
- <device_name>D253i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>176</width>
- <heigh>198</heigh>
+ <device_id>N504i</device_id>
+ <device_name>N504i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>160</width>
+ <heigh>180</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>176</wp_width>
- <wp_heigh>240</wp_heigh>
+ <wp_width>160</wp_width>
+ <wp_heigh>200</wp_heigh>
<cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>N253i</device_id>
- <device_name>N253i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <device_id>N504iS</device_id>
+ <device_name>N504iS</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
<width>160</width>
<heigh>180</heigh>
<gif>true</gif>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>P253i</device_id>
- <device_name>P253i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+ <device_id>SO504i</device_id>
+ <device_name>SO504i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>120</width>
+ <heigh>112</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<color>65536</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>176</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>128</wp_heigh>
<cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<device>
- <device_id>D253iWM</device_id>
- <device_name>MusicPORTER(D253iWM)</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>220</width>
+ <device_id>P504i</device_id>
+ <device_name>P504i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
<heigh>144</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>220</wp_width>
- <wp_heigh>176</wp_heigh>
+ <wp_width>132</wp_width>
+ <wp_heigh>144</wp_heigh>
<cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>P253iS</device_id>
- <device_name>Lechiffon(P253iS)</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
+ <device_id>P504iS</device_id>
+ <device_name>P504iS</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
<width>132</width>
<heigh>144</heigh>
<gif>true</gif>
<emoji_type></emoji_type>
<wp_width>132</wp_width>
- <wp_heigh>176</wp_heigh>
+ <wp_heigh>144</wp_heigh>
<cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>D506i</device_id>
- <device_name>D506i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>270</heigh>
+ <device_id>SH251i</device_id>
+ <device_name>SH251i</device_name>
+ <html_spec_type>CHTML_3_0</html_spec_type>
+ <width>120</width>
+ <heigh>130</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>132</wp_width>
+ <wp_heigh>160</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>F506i</device_id>
- <device_name>F506i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>268</heigh>
+ <device_id>SH251iS</device_id>
+ <device_name>SH251iS</device_name>
+ <html_spec_type>CHTML_3_0</html_spec_type>
+ <width>176</width>
+ <heigh>187</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>268</wp_heigh>
- <cache>20000</cache>
+ <wp_width>176</wp_width>
+ <wp_heigh>220</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>N506i</device_id>
- <device_name>N506i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>295</heigh>
+ <device_id>D251i</device_id>
+ <device_name>D251i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>132</wp_width>
+ <wp_heigh>160</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>P506iC</device_id>
- <device_name>P506iC</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>266</heigh>
- <gif>true</gif>
+ <device_id>D251iS</device_id>
+ <device_name>D251iS</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>160</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>F251i</device_id>
+ <device_name>F251i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
+ <heigh>140</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>132</wp_width>
+ <wp_heigh>156</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>SH506iC</device_id>
- <device_name>SH506iC</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>252</heigh>
+ <device_id>N251i</device_id>
+ <device_name>N251i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
+ <heigh>140</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>132</wp_width>
+ <wp_heigh>159</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>SO506iC</device_id>
- <device_name>SO506iC</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>256</heigh>
+ <device_id>N251iS</device_id>
+ <device_name>N251iS</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
+ <heigh>140</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>132</wp_width>
+ <wp_heigh>158</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>N506iS</device_id>
- <device_name>N506iS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>295</heigh>
+ <device_id>P251iS</device_id>
+ <device_name>P251iS</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>132</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>N506iS2</device_id>
- <device_name>N506iSII</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>295</heigh>
+ <device_id>F671iS</device_id>
+ <device_name>F671iS</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>160</width>
+ <heigh>120</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>160</wp_width>
+ <wp_heigh>120</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>SO506i</device_id>
- <device_name>premini-II SO506i</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>256</heigh>
+ <device_id>SO212i</device_id>
+ <device_name>SO212i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>120</width>
+ <heigh>112</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>128</wp_width>
+ <wp_heigh>128</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>F212i</device_id>
+ <device_name>F212i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
+ <heigh>136</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>156</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <device>
+ <device_id>F661i</device_id>
+ <device_name>F661i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>132</width>
+ <heigh>136</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
- <!-- Sale 2005.5 mova premini-IIS(SO506iS) -->
+ <wp_width>132</wp_width>
+ <wp_heigh>156</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
<device>
- <device_id>SO506iS</device_id>
- <device_name>premini-IIS SO506iS</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>256</heigh>
+ <device_id>F672i</device_id>
+ <device_name>F672i</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>160</width>
+ <heigh>120</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>false</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>160</wp_width>
+ <wp_heigh>120</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SO213i</device_id>
+ <device_name>premini (SO213i)</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>120</width>
+ <heigh>112</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>128</wp_width>
+ <wp_heigh>128</wp_heigh>
+ <cache>10000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <device>
+ <device_id>SO213iS</device_id>
+ <device_name>premini-S (SO213iS)</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>120</width>
+ <heigh>112</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
- <!-- Sale in 2006.3 N506iSII -->
- <!--
- DoCoMo/1.0/N506iS2/c20/TB/W20H11
- DoCoMo/1.0/N506iS2/c20/TB/W16H09
- DoCoMo/1.0/N506iS2/c20/TB/W30H15
- -->
+ <wp_width>128</wp_width>
+ <wp_heigh>128</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
<device>
- <device_id>N506iS2</device_id>
- <device_name>N506iSII</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>295</heigh>
+ <device_id>N2701</device_id>
+ <device_name>N2701</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>176</width>
+ <heigh>198</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <emoji_type></emoji_type>
+
+ <wp_width>176</wp_width>
+ <wp_heigh>198</wp_heigh>
+ <cache>100000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!-- Sale in 2005.10 RADIDEN(SO213iWR) -->
+ <device>
+ <device_id>SO213iWR</device_id>
+ <device_name>SO213iWR</device_name>
+ <html_spec_type>CHTML_4_0</html_spec_type>
+ <width>120</width>
+ <heigh>112</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
- <png>false</png>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <emoji_type></emoji_type>
+
+ <wp_width>128</wp_width>
+ <wp_heigh>128</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ </user_agent>
+
+
+
+ <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]/TB/W[0-9][0-9]H[0-9][0-9]$$">
+ <device>
+ <device_id>P213i</device_id>
+ <device_name>prosolid(P213i)</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>D505i</device_id>
+ <device_name>D505i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>D505iS</device_id>
+ <device_name>D505iS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SO505i</device_id>
+ <device_name>SO505i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>256</width>
+ <heigh>240</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>256</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SO505iS</device_id>
+ <device_name>SO505iS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>256</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SH505i</device_id>
+ <device_name>SH505i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>252</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SH505iS</device_id>
+ <device_name>SH505iS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>252</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>N505i</device_id>
+ <device_name>N505i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>270</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>N505iS</device_id>
+ <device_name>N505iS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>270</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>F505i</device_id>
+ <device_name>F505i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>268</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>268</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>F505iGPS</device_id>
+ <device_name>F505iGPS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>268</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>268</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>P505i</device_id>
+ <device_name>P505i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>266</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>P505iS</device_id>
+ <device_name>P505iS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>266</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>D252i</device_id>
+ <device_name>D252i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>176</width>
+ <heigh>198</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>176</wp_width>
+ <wp_heigh>240</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SH252i</device_id>
+ <device_name>SH252i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>252</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>P252i</device_id>
+ <device_name>P252i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>N252i</device_id>
+ <device_name>N252i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>132</width>
+ <heigh>140</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>158</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>P252iS</device_id>
+ <device_name>P252iS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>D253i</device_id>
+ <device_name>D253i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>176</width>
+ <heigh>198</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>176</wp_width>
+ <wp_heigh>240</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>N253i</device_id>
+ <device_name>N253i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>160</width>
+ <heigh>180</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>160</wp_width>
+ <wp_heigh>198</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>P253i</device_id>
+ <device_name>P253i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>D253iWM</device_id>
+ <device_name>MusicPORTER(D253iWM)</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>220</width>
+ <heigh>144</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>220</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>P253iS</device_id>
+ <device_name>Lechiffon(P253iS)</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>10000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>D506i</device_id>
+ <device_name>D506i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>F506i</device_id>
+ <device_name>F506i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>268</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>268</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>N506i</device_id>
+ <device_name>N506i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>295</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>P506iC</device_id>
+ <device_name>P506iC</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>266</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SH506iC</device_id>
+ <device_name>SH506iC</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>252</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SO506iC</device_id>
+ <device_name>SO506iC</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>256</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>N506iS</device_id>
+ <device_name>N506iS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>295</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>N506iS2</device_id>
+ <device_name>N506iSII</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>295</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>SO506i</device_id>
+ <device_name>premini-II SO506i</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>256</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!-- Sale 2005.5 mova premini-IIS(SO506iS) -->
+ <device>
+ <device_id>SO506iS</device_id>
+ <device_name>premini-IIS SO506iS</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>256</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!-- Sale in 2006.3 N506iSII -->
+ <!--
+ DoCoMo/1.0/N506iS2/c20/TB/W20H11
+ DoCoMo/1.0/N506iS2/c20/TB/W16H09
+ DoCoMo/1.0/N506iS2/c20/TB/W30H15
+ -->
+ <device>
+ <device_id>N506iS2</device_id>
+ <device_name>N506iSII</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>295</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!-- Sale in 2006.4 P506iCII -->
+ <!--
+ DoCoMo/1.0/P506iC/c20/TB/W20H10
+ DoCoMo/1.0/P506iC/c20/TB/W30H14
+ -->
+ <device>
+ <device_id>P506iCII</device_id>
+ <device_name>P506iCII</device_name>
+ <html_spec_type>CHTML_5_0</html_spec_type>
+ <width>240</width>
+ <heigh>266</heigh>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>false</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>20000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ </user_agent>
+
+ <!--=======================================================================-->
+ <!-- Softbank/Vodafone/J-Phone -->
+ <!--=======================================================================-->
+ <user_agent pattern="^J-PHONE/[^/ ]+/([^/_]+)$">
+ <!-- C2 -->
+ <device>
+ <device_id>J-SH02</device_id>
+ <device_name>J-SH02</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>89</heigh>
+ <gif>false</gif>
+ <jpeg>false</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>84</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-DN02</device_id>
+ <device_name>J-DN02</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>116</width>
+ <heigh>122</heigh>
+ <gif>false</gif>
+ <jpeg>false</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>4</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>94</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-P02</device_id>
+ <device_name>J-P02</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>89</heigh>
+ <gif>false</gif>
+ <jpeg>false</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>4</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>78</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SA02</device_id>
+ <device_name>J-SA02</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>76</heigh>
+ <gif>false</gif>
+ <jpeg>false</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>80</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SH03</device_id>
+ <device_name>J-SH03</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>104</heigh>
+ <gif>false</gif>
+ <jpeg>false</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>84</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-T04</device_id>
+ <device_name>J-T04</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>90</heigh>
+ <gif>false</gif>
+ <jpeg>false</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>90</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-P03</device_id>
+ <device_name>J-P03</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>95</heigh>
+ <gif>false</gif>
+ <jpeg>false</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>95</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <!-- C3 -->
+ <device>
+ <device_id>J-K03</device_id>
+ <device_name>J-K03</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>110</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>110</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-K03S</device_id>
+ <device_name>J-K03S</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>110</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>110</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-D03</device_id>
+ <device_name>J-D03</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>117</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-D03S</device_id>
+ <device_name>J-D03S</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>117</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-PE03</device_id>
+ <device_name>J-PE03</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>96</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-PE03S</device_id>
+ <device_name>J-PE03S</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>96</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SH04</device_id>
+ <device_name>J-SH04</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>104</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SH04S</device_id>
+ <device_name>J-SH04S</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>104</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SH04B</device_id>
+ <device_name>J-SH04B</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>104</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SH04BS</device_id>
+ <device_name>J-SH04BS</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>104</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SH05</device_id>
+ <device_name>J-SH05</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>117</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>160</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SH05S</device_id>
+ <device_name>J-SH05S</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>117</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>160</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-N03</device_id>
+ <device_name>J-N03</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>126</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-N03S</device_id>
+ <device_name>J-N03S</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>126</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-T05</device_id>
+ <device_name>J-T05</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>112</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>128</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-K04</device_id>
+ <device_name>J-K04</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>110</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>110</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-D04</device_id>
+ <device_name>J-D04</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>117</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-PE03II</device_id>
+ <device_name>J-PE03II</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>96</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SH06</device_id>
+ <device_name>J-SH06</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>96</width>
+ <heigh>104</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SA03</device_id>
+ <device_name>J-SA03</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>126</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>128</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-DN03</device_id>
+ <device_name>J-DN03</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>130</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>130</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-NM01</device_id>
+ <device_name>J-NM01</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>126</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>128</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-N03II</device_id>
+ <device_name>J-N03II</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>126</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-D31</device_id>
+ <device_name>J-D31</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>117</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>117</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SA04</device_id>
+ <device_name>J-SA04</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>130</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>120</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-K05</device_id>
+ <device_name>J-K05</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>110</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>256</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>110</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-NM02</device_id>
+ <device_name>J-NM02</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>130</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>128</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SA05</device_id>
+ <device_name>J-SA05</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>120</width>
+ <heigh>112</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>120</wp_width>
+ <wp_heigh>112</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-T07</device_id>
+ <device_name>J-T07</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>144</width>
+ <heigh>136</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>144</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-T09</device_id>
+ <device_name>J-T09</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>144</width>
+ <heigh>144</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>144</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>J-SA06</device_id>
+ <device_name>J-SA06</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>132</width>
+ <heigh>144</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>65536</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>V301T</device_id>
+ <device_name>V301T</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>222</width>
+ <heigh>261</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <device>
+ <device_id>V301D</device_id>
+ <device_name>V301D</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>132</width>
+ <heigh>136</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <color>262144</color>
+ <emoji_type></emoji_type>
+
+ <wp_width>132</wp_width>
+ <wp_heigh>153</wp_heigh>
+ <cache>6000</cache>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
+ </device>
+ <device>
+ <device_id>V302T</device_id>
+ <device_name>V302T</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>144</width>
+ <heigh>140</heigh>
+ <gif>false</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <wp_width>144</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>6000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!-- Sale in 2006.4 P506iCII -->
- <!--
- DoCoMo/1.0/P506iC/c20/TB/W20H10
- DoCoMo/1.0/P506iC/c20/TB/W30H14
- -->
<device>
- <device_id>P506iCII</device_id>
- <device_name>P506iCII</device_name>
- <html_spec_type>CHTML_5_0</html_spec_type>
- <width>240</width>
- <heigh>266</heigh>
- <gif>true</gif>
+ <device_id>KOTO</device_id>
+ <device_name>KOTO</device_name>
+ <html_spec_type>JHTML</html_spec_type>
+ <width>222</width>
+ <heigh>320</heigh>
+ <gif>false</gif>
<jpeg>true</jpeg>
- <png>false</png>
+ <png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>20000</cache>
+ <cache>6000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- </user_agent>
-
- <!--=======================================================================-->
- <!-- Softbank/Vodafone/J-Phone -->
- <!--=======================================================================-->
- <user_agent pattern="^J-PHONE/[^/ ]+/([^/_]+)$">
- <!-- C2 -->
<device>
- <device_id>J-SH02</device_id>
- <device_name>J-SH02</device_name>
+ <device_id>V303T</device_id>
+ <device_name>V303T</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>89</heigh>
+ <width>222</width>
+ <heigh>320</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>84</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- C4 -->
<device>
- <device_id>J-DN02</device_id>
- <device_name>J-DN02</device_name>
+ <device_id>J-SH07</device_id>
+ <device_name>J-SH07</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>116</width>
- <heigh>122</heigh>
+ <width>120</width>
+ <heigh>117</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>94</wp_heigh>
+ <wp_heigh>160</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-P02</device_id>
- <device_name>J-P02</device_name>
+ <device_id>J-T06</device_id>
+ <device_name>J-T06</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>89</heigh>
+ <width>120</width>
+ <heigh>126</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>78</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>143</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SA02</device_id>
- <device_name>J-SA02</device_name>
+ <device_id>J-D05</device_id>
+ <device_name>J-D05</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>76</heigh>
+ <width>132</width>
+ <heigh>126</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4096</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>80</wp_heigh>
+ <wp_width>140</wp_width>
+ <wp_heigh>132</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SH03</device_id>
- <device_name>J-SH03</device_name>
+ <device_id>J-D06</device_id>
+ <device_name>J-D06</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>132</width>
+ <heigh>126</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4096</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>84</wp_heigh>
+ <wp_width>132</wp_width>
+ <wp_heigh>137</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-T04</device_id>
- <device_name>J-T04</device_name>
+ <device_id>J-N04</device_id>
+ <device_name>J-N04</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>90</heigh>
+ <width>120</width>
+ <heigh>126</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4096</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>90</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-P03</device_id>
- <device_name>J-P03</device_name>
+ <device_id>J-N05</device_id>
+ <device_name>J-N05</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>95</heigh>
+ <width>160</width>
+ <heigh>180</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>95</wp_heigh>
+ <wp_width>159</wp_width>
+ <wp_heigh>179</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
- <!-- C3 -->
<device>
- <device_id>J-K03</device_id>
- <device_name>J-K03</device_name>
+ <device_id>J-SH08</device_id>
+ <device_name>J-SH08</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>110</heigh>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>110</wp_heigh>
+ <wp_heigh>160</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-K03S</device_id>
- <device_name>J-K03S</device_name>
+ <device_id>J-SH09</device_id>
+ <device_name>J-SH09</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>110</heigh>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>110</wp_heigh>
+ <wp_heigh>160</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-D03</device_id>
- <device_name>J-D03</device_name>
+ <device_id>J-T08</device_id>
+ <device_name>J-T08</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>222</width>
+ <heigh>261</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-D03S</device_id>
- <device_name>J-D03S</device_name>
+ <device_id>J-SH10</device_id>
+ <device_name>J-SH010</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>240</width>
+ <heigh>260</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>J-PE03</device_id>
- <device_name>J-PE03</device_name>
+ <device>
+ <device_id>J-D08</device_id>
+ <device_name>J-D08</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>96</heigh>
+ <width>132</width>
+ <heigh>136</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
+ <wp_width>132</wp_width>
+ <wp_heigh>136</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-PE03S</device_id>
- <device_name>J-PE03S</device_name>
+ <device_id>J-T10</device_id>
+ <device_name>J-T010</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>96</heigh>
+ <width>222</width>
+ <heigh>261</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SH04</device_id>
- <device_name>J-SH04</device_name>
+ <device_id>V401SH</device_id>
+ <device_name>V401SH</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>222</width>
+ <heigh>260</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+ </user_agent>
+ <user_agent pattern="^J-PHONE/[^/ ]+/([^/_]+)_.+$">
+ <!-- C2 -->
<device>
- <device_id>J-SH04S</device_id>
- <device_name>J-SH04S</device_name>
+ <device_id>J-SH02</device_id>
+ <device_name>J-SH02</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>96</width>
- <heigh>104</heigh>
+ <heigh>89</heigh>
<gif>false</gif>
- <jpeg>true</jpeg>
+ <jpeg>false</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
<emoji_type></emoji_type>
<wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_heigh>84</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH04B</device_id>
- <device_name>J-SH04B</device_name>
+ <device_id>J-DN02</device_id>
+ <device_name>J-DN02</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>116</width>
+ <heigh>122</heigh>
<gif>false</gif>
- <jpeg>true</jpeg>
+ <jpeg>false</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>94</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH04BS</device_id>
- <device_name>J-SH04BS</device_name>
+ <device_id>J-P02</device_id>
+ <device_name>J-P02</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>96</width>
- <heigh>104</heigh>
+ <heigh>89</heigh>
<gif>false</gif>
- <jpeg>true</jpeg>
+ <jpeg>false</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4</color>
<emoji_type></emoji_type>
<wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_heigh>78</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH05</device_id>
- <device_name>J-SH05</device_name>
+ <device_id>J-SA02</device_id>
+ <device_name>J-SA02</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>96</width>
+ <heigh>76</heigh>
<gif>false</gif>
- <jpeg>true</jpeg>
+ <jpeg>false</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>80</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH05S</device_id>
- <device_name>J-SH05S</device_name>
+ <device_id>J-SH03</device_id>
+ <device_name>J-SH03</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>96</width>
+ <heigh>104</heigh>
<gif>false</gif>
- <jpeg>true</jpeg>
+ <jpeg>false</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>84</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-N03</device_id>
- <device_name>J-N03</device_name>
+ <device_id>J-T04</device_id>
+ <device_name>J-T04</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>126</heigh>
+ <width>96</width>
+ <heigh>90</heigh>
<gif>false</gif>
- <jpeg>true</jpeg>
+ <jpeg>false</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
<color>256</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>90</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-N03S</device_id>
- <device_name>J-N03S</device_name>
+ <device_id>J-P03</device_id>
+ <device_name>J-P03</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>126</heigh>
+ <width>96</width>
+ <heigh>95</heigh>
<gif>false</gif>
- <jpeg>true</jpeg>
+ <jpeg>false</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
<color>256</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>95</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-T05</device_id>
- <device_name>J-T05</device_name>
+ <device_id>J-SA04</device_id>
+ <device_name>J-SA04</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>112</heigh>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
+ <wp_heigh>120</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
+ <!-- C3 -->
<device>
- <device_id>J-K04</device_id>
- <device_name>J-K04</device_name>
+ <device_id>J-K03</device_id>
+ <device_name>J-K03</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
<heigh>110</heigh>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-D04</device_id>
- <device_name>J-D04</device_name>
+ <device_id>J-K03S</device_id>
+ <device_name>J-K03S</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>117</heigh>
+ <heigh>110</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_heigh>110</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-PE03II</device_id>
- <device_name>J-PE03II</device_name>
+ <device_id>J-D03</device_id>
+ <device_name>J-D03</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>96</heigh>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
- </device>
- <device>
- <device_id>J-SH06</device_id>
- <device_name>J-SH06</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
- <gif>false</gif>
- <jpeg>true</jpeg>
- <png>true</png>
- <bmp2>false</bmp2>
- <bmp4>false</bmp4>
- <color>65536</color>
- <emoji_type></emoji_type>
-
- <wp_width>96</wp_width>
<wp_heigh>130</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SA03</device_id>
- <device_name>J-SA03</device_name>
+ <device_id>J-D03S</device_id>
+ <device_name>J-D03S</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>126</heigh>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
+ <wp_heigh>130</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-DN03</device_id>
- <device_name>J-DN03</device_name>
+ <device_id>J-PE03</device_id>
+ <device_name>J-PE03</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>130</heigh>
+ <heigh>96</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_heigh>126</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-NM01</device_id>
- <device_name>J-NM01</device_name>
+ <device_id>J-PE03S</device_id>
+ <device_name>J-PE03S</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>126</heigh>
+ <heigh>96</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
+ <wp_heigh>126</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-N03II</device_id>
- <device_name>J-N03II</device_name>
+ <device_id>J-SH04</device_id>
+ <device_name>J-SH04</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>126</heigh>
+ <width>96</width>
+ <heigh>104</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>256</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-D31</device_id>
- <device_name>J-D31</device_name>
+ <device_id>J-SH04S</device_id>
+ <device_name>J-SH04S</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>96</width>
+ <heigh>104</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>256</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>117</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SA04</device_id>
- <device_name>J-SA04</device_name>
+ <device_id>J-SH04B</device_id>
+ <device_name>J-SH04B</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
+ <width>96</width>
+ <heigh>104</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>120</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-K05</device_id>
- <device_name>J-K05</device_name>
+ <device_id>J-SH04BS</device_id>
+ <device_name>J-SH04BS</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>110</heigh>
+ <width>96</width>
+ <heigh>104</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>256</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>110</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-NM02</device_id>
- <device_name>J-NM02</device_name>
+ <device_id>J-SH05</device_id>
+ <device_name>J-SH05</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>130</heigh>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
+ <wp_heigh>160</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SA05</device_id>
- <device_name>J-SA05</device_name>
+ <device_id>J-SH05S</device_id>
+ <device_name>J-SH05S</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>112</heigh>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>112</wp_heigh>
+ <wp_heigh>160</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-T07</device_id>
- <device_name>J-T07</device_name>
+ <device_id>J-N03</device_id>
+ <device_name>J-N03</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>144</width>
- <heigh>136</heigh>
+ <width>120</width>
+ <heigh>126</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>144</wp_width>
- <wp_heigh>176</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-T09</device_id>
- <device_name>J-T09</device_name>
+ <device_id>J-N03S</device_id>
+ <device_name>J-N03S</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>144</width>
- <heigh>144</heigh>
+ <width>120</width>
+ <heigh>126</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>144</wp_width>
- <wp_heigh>176</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SA06</device_id>
- <device_name>J-SA06</device_name>
+ <device_id>J-T05</device_id>
+ <device_name>J-T05</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
+ <width>120</width>
+ <heigh>112</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>176</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>128</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>V301T</device_id>
- <device_name>V301T</device_name>
+ <device_id>J-K04</device_id>
+ <device_name>J-K04</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>261</heigh>
+ <width>120</width>
+ <heigh>110</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>110</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>V301D</device_id>
- <device_name>V301D</device_name>
+ <device_id>J-D04</device_id>
+ <device_name>J-D04</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>136</heigh>
+ <width>120</width>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>153</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>130</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>V302T</device_id>
- <device_name>V302T</device_name>
+ <device_id>J-PE03II</device_id>
+ <device_name>J-PE03II</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>144</width>
- <heigh>140</heigh>
+ <width>120</width>
+ <heigh>96</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>144</wp_width>
- <wp_heigh>176</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>126</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>KOTO</device_id>
- <device_name>KOTO</device_name>
+ <device_id>J-SH06</device_id>
+ <device_name>J-SH06</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>320</heigh>
+ <width>96</width>
+ <heigh>104</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>96</wp_width>
+ <wp_heigh>130</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>V303T</device_id>
- <device_name>V303T</device_name>
+ <device_id>J-SA03</device_id>
+ <device_name>J-SA03</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>320</heigh>
+ <width>120</width>
+ <heigh>126</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>128</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
-
- <!-- C4 -->
<device>
- <device_id>J-SH07</device_id>
- <device_name>J-SH07</device_name>
+ <device_id>J-DN03</device_id>
+ <device_name>J-DN03</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>117</heigh>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
+ <wp_heigh>130</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-T06</device_id>
- <device_name>J-T06</device_name>
+ <device_id>J-NM01</device_id>
+ <device_name>J-NM01</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
<heigh>126</heigh>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>143</wp_heigh>
+ <wp_heigh>128</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-D05</device_id>
- <device_name>J-D05</device_name>
+ <device_id>J-N03II</device_id>
+ <device_name>J-N03II</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>126</heigh>
+ <width>118</width>
+ <heigh>124</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4096</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>140</wp_width>
- <wp_heigh>132</wp_heigh>
+ <wp_width>118</wp_width>
+ <wp_heigh>124</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-D06</device_id>
- <device_name>J-D06</device_name>
+ <device_id>J-D31</device_id>
+ <device_name>J-D31</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>126</heigh>
+ <width>120</width>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4096</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>137</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>117</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-N04</device_id>
- <device_name>J-N04</device_name>
+ <device_id>J-SA04</device_id>
+ <device_name>J-SA04</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>126</heigh>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4096</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
+ <wp_heigh>120</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-N05</device_id>
- <device_name>J-N05</device_name>
+ <device_id>J-K05</device_id>
+ <device_name>J-K05</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>160</width>
- <heigh>180</heigh>
+ <width>120</width>
+ <heigh>110</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>256</color>
<emoji_type></emoji_type>
- <wp_width>159</wp_width>
- <wp_heigh>179</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>110</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH08</device_id>
- <device_name>J-SH08</device_name>
+ <device_id>J-NM02</device_id>
+ <device_name>J-NM02</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>117</heigh>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
+ <wp_heigh>128</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH09</device_id>
- <device_name>J-SH09</device_name>
+ <device_id>J-SA05</device_id>
+ <device_name>J-SA05</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>130</heigh>
+ <heigh>112</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
+ <wp_heigh>112</wp_heigh>
<cache>6000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
+ <dpi_width>72</dpi_width>
+ <dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-T08</device_id>
- <device_name>J-T08</device_name>
+ <device_id>J-T07</device_id>
+ <device_name>J-T07</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>261</heigh>
+ <width>144</width>
+ <heigh>136</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>144</wp_width>
+ <wp_heigh>176</wp_heigh>
<cache>6000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SH10</device_id>
- <device_name>J-SH010</device_name>
+ <device_id>J-T09</device_id>
+ <device_name>J-T09</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>240</width>
- <heigh>260</heigh>
+ <width>144</width>
+ <heigh>144</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>144</wp_width>
+ <wp_heigh>176</wp_heigh>
<cache>6000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-D08</device_id>
- <device_name>J-D08</device_name>
+ <device_id>J-SA06</device_id>
+ <device_name>J-SA06</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>132</width>
- <heigh>136</heigh>
+ <heigh>144</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>132</wp_width>
- <wp_heigh>136</wp_heigh>
+ <wp_heigh>176</wp_heigh>
<cache>6000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-T10</device_id>
- <device_name>J-T010</device_name>
+ <device_id>V301T</device_id>
+ <device_name>V301T</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>222</width>
<heigh>261</heigh>
<dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>V401SH</device_id>
- <device_name>V401SH</device_name>
+ <device_id>V301D</device_id>
+ <device_name>V301D</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>260</heigh>
+ <width>132</width>
+ <heigh>136</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>132</wp_width>
+ <wp_heigh>153</wp_heigh>
<cache>6000</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- </user_agent>
- <user_agent pattern="^J-PHONE/[^/ ]+/([^/_]+)_.+$">
- <!-- C2 -->
- <device>
- <device_id>J-SH02</device_id>
- <device_name>J-SH02</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>89</heigh>
- <gif>false</gif>
- <jpeg>false</jpeg>
- <png>true</png>
- <bmp2>false</bmp2>
- <bmp4>false</bmp4>
- <color>256</color>
- <emoji_type></emoji_type>
-
- <wp_width>96</wp_width>
- <wp_heigh>84</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
- </device>
- <device>
- <device_id>J-DN02</device_id>
- <device_name>J-DN02</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>116</width>
- <heigh>122</heigh>
- <gif>false</gif>
- <jpeg>false</jpeg>
- <png>true</png>
- <bmp2>false</bmp2>
- <bmp4>false</bmp4>
- <color>4</color>
- <emoji_type></emoji_type>
-
- <wp_width>120</wp_width>
- <wp_heigh>94</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
- </device>
- <device>
- <device_id>J-P02</device_id>
- <device_name>J-P02</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>89</heigh>
- <gif>false</gif>
- <jpeg>false</jpeg>
- <png>true</png>
- <bmp2>false</bmp2>
- <bmp4>false</bmp4>
- <color>4</color>
- <emoji_type></emoji_type>
-
- <wp_width>96</wp_width>
- <wp_heigh>78</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
- </device>
<device>
- <device_id>J-SA02</device_id>
- <device_name>J-SA02</device_name>
+ <device_id>V302T</device_id>
+ <device_name>V301T</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>76</heigh>
+ <width>144</width>
+ <heigh>140</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>80</wp_heigh>
+ <wp_width>144</wp_width>
+ <wp_heigh>176</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SH03</device_id>
- <device_name>J-SH03</device_name>
+ <device_id>KOTO</device_id>
+ <device_name>KOTO</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>222</width>
+ <heigh>320</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>84</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-T04</device_id>
- <device_name>J-T04</device_name>
+ <device_id>V303T</device_id>
+ <device_name>V303T</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>90</heigh>
+ <width>222</width>
+ <heigh>320</heigh>
<gif>false</gif>
- <jpeg>false</jpeg>
+ <jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>90</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>J-P03</device_id>
- <device_name>J-P03</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>95</heigh>
- <gif>false</gif>
- <jpeg>false</jpeg>
- <png>true</png>
- <bmp2>false</bmp2>
- <bmp4>false</bmp4>
- <color>256</color>
- <emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>95</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
- </device>
+ <!-- C4 -->
<device>
- <device_id>J-SA04</device_id>
- <device_name>J-SA04</device_name>
+ <device_id>J-SH07</device_id>
+ <device_name>J-SH07</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>130</heigh>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>120</wp_heigh>
+ <wp_heigh>160</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
- <!-- C3 -->
<device>
- <device_id>J-K03</device_id>
- <device_name>J-K03</device_name>
+ <device_id>J-T06</device_id>
+ <device_name>J-T06</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>110</heigh>
+ <heigh>126</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>110</wp_heigh>
+ <wp_heigh>143</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-K03S</device_id>
- <device_name>J-K03S</device_name>
+ <device_id>J-D05</device_id>
+ <device_name>J-D05</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>110</heigh>
+ <width>132</width>
+ <heigh>126</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4096</color>
<emoji_type></emoji_type>
-
- <wp_width>120</wp_width>
- <wp_heigh>110</wp_heigh>
+
+ <wp_width>140</wp_width>
+ <wp_heigh>132</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-D03</device_id>
- <device_name>J-D03</device_name>
+ <device_id>J-D06</device_id>
+ <device_name>J-D06</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>132</width>
+ <heigh>126</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4096</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>132</wp_width>
+ <wp_heigh>137</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-D03S</device_id>
- <device_name>J-D03S</device_name>
+ <device_id>J-N04</device_id>
+ <device_name>J-N04</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>117</heigh>
+ <heigh>126</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4096</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_heigh>126</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-PE03</device_id>
- <device_name>J-PE03</device_name>
+ <device_id>J-N05</device_id>
+ <device_name>J-N05</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>96</heigh>
+ <width>160</width>
+ <heigh>180</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
+ <wp_width>159</wp_width>
+ <wp_heigh>179</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-PE03S</device_id>
- <device_name>J-PE03S</device_name>
+ <device_id>J-SH08</device_id>
+ <device_name>J-SH08</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>96</heigh>
+ <heigh>117</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
+ <wp_heigh>160</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SH04</device_id>
- <device_name>J-SH04</device_name>
+ <device_id>J-SH09</device_id>
+ <device_name>J-SH09</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>120</width>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>120</wp_width>
+ <wp_heigh>160</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SH04S</device_id>
- <device_name>J-SH04S</device_name>
+ <device_id>J-T08</device_id>
+ <device_name>J-T08</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>222</width>
+ <heigh>261</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SH04B</device_id>
- <device_name>J-SH04B</device_name>
+ <device_id>J-SH10</device_id>
+ <device_name>J-SH010</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>240</width>
+ <heigh>260</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SH04BS</device_id>
- <device_name>J-SH04BS</device_name>
+ <device_id>J-D08</device_id>
+ <device_name>J-D08</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>132</width>
+ <heigh>136</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
+ <wp_width>132</wp_width>
+ <wp_heigh>136</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH05</device_id>
- <device_name>J-SH05</device_name>
+ <device_id>J-T10</device_id>
+ <device_name>J-T010</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>222</width>
+ <heigh>261</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH05S</device_id>
- <device_name>J-SH05S</device_name>
+ <device_id>V401SH</device_id>
+ <device_name>V401SH</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>222</width>
+ <heigh>260</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>6000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
+ </user_agent>
+
+
+ <user_agent pattern="^J-PHONE/[^/ ]+/([^/ _]+?)[/ _].+?$">
+ <!-- P4 -->
<device>
- <device_id>J-N03</device_id>
- <device_name>J-N03</device_name>
+ <device_id>J-SH51</device_id>
+ <device_name>J-SH51</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>126</heigh>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
- <cache>6000</cache>
+ <wp_heigh>130</wp_heigh>
+ <cache>12000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-N03S</device_id>
- <device_name>J-N03S</device_name>
+ <device_id>J-K51</device_id>
+ <device_name>J-K51</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>126</heigh>
+ <width>128</width>
+ <heigh>128</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>4096</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
- <cache>6000</cache>
+ <wp_width>128</wp_width>
+ <wp_heigh>160</wp_heigh>
+ <cache>12000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-T05</device_id>
- <device_name>J-T05</device_name>
+ <device_id>J-T51</device_id>
+ <device_name>J-T51</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>112</heigh>
+ <width>144</width>
+ <heigh>144</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>6000</cache>
+ <wp_width>144</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>12000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-K04</device_id>
- <device_name>J-K04</device_name>
+ <device_id>J-P51</device_id>
+ <device_name>J-P51</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>110</heigh>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>110</wp_heigh>
- <cache>6000</cache>
+ <wp_heigh>160</wp_heigh>
+ <cache>12000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-D04</device_id>
- <device_name>J-D04</device_name>
+ <device_id>J-SA51</device_id>
+ <device_name>J-SA51</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <width>132</width>
+ <heigh>144</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
- <cache>6000</cache>
+ <wp_width>132</wp_width>
+ <wp_heigh>144</wp_heigh>
+ <cache>12000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-PE03II</device_id>
- <device_name>J-PE03II</device_name>
+ <device_id>J-SH52</device_id>
+ <device_name>J-SH52</device_name>
<html_spec_type>JHTML</html_spec_type>
<width>120</width>
- <heigh>96</heigh>
+ <heigh>130</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
- <cache>6000</cache>
+ <wp_heigh>160</wp_heigh>
+ <cache>12000</cache>
<dpi_width>72</dpi_width>
<dpi_heigh>72</dpi_heigh>
</device>
<device>
- <device_id>J-SH06</device_id>
- <device_name>J-SH06</device_name>
+ <device_id>J-N51</device_id>
+ <device_name>J-N51</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>96</width>
- <heigh>104</heigh>
+ <width>160</width>
+ <heigh>180</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>65536</color>
<emoji_type></emoji_type>
- <wp_width>96</wp_width>
- <wp_heigh>130</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>160</wp_width>
+ <wp_heigh>180</wp_heigh>
+ <cache>12000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SA03</device_id>
- <device_name>J-SA03</device_name>
+ <device_id>V601N</device_id>
+ <device_name>V601N</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>126</heigh>
+ <width>160</width>
+ <heigh>180</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>160</wp_width>
+ <wp_heigh>180</wp_heigh>
+ <cache>12000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+ <!-- P5 -->
<device>
- <device_id>J-DN03</device_id>
- <device_name>J-DN03</device_name>
+ <device_id>J-SH53</device_id>
+ <device_name>J-SH53</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
+ <width>240</width>
+ <heigh>260</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>12000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-NM01</device_id>
- <device_name>J-NM01</device_name>
+ <device_id>V601SH</device_id>
+ <device_name>V601SH</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>126</heigh>
+ <width>240</width>
+ <heigh>260</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>12000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+ <!-- W -->
<device>
- <device_id>J-N03II</device_id>
- <device_name>J-N03II</device_name>
+ <device_id>V801SA</device_id>
+ <device_name>V801SA</device_name>
<html_spec_type>JHTML</html_spec_type>
- <width>118</width>
- <heigh>124</heigh>
+ <width>240</width>
+ <heigh>256</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>118</wp_width>
- <wp_heigh>124</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>200000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+ </user_agent>
+ <user_agent pattern="^Vodafone/[^/ ]+/([^/ _]+?)[/ _].+?$">
<device>
- <device_id>J-D31</device_id>
- <device_name>J-D31</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
+ <device_id>V702NK</device_id>
+ <device_name>V702NK</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>208</width>
+ <heigh>176</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>117</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>208</wp_width>
+ <wp_heigh>176</wp_heigh>
+ <cache>300000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>J-SA04</device_id>
- <device_name>J-SA04</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
+ <device_id>V802SE</device_id>
+ <device_name>V802SE</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>176</width>
+ <heigh>220</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>120</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>176</wp_width>
+ <wp_heigh>208</wp_heigh>
+ <cache>200000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
<device>
- <device_id>J-K05</device_id>
- <device_name>J-K05</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>110</heigh>
+ <device_id>V802SH</device_id>
+ <device_name>V802SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>176</width>
+ <heigh>220</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>256</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>110</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>200000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
<device>
- <device_id>J-NM02</device_id>
- <device_name>J-NM02</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
+ <device_id>V802N</device_id>
+ <device_name>V802N</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>176</width>
+ <heigh>220</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>128</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>200000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2005.8 902SH-->
+ <!--
+ Vodafone/1.0/V902SH/SHJ002[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-SA05</device_id>
- <device_name>J-SA05</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>112</heigh>
- <gif>false</gif>
+ <device_id>V902SH</device_id>
+ <device_name>902SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>264</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>112</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2005.8 902T -->
+ <!--
+ Vodafone/1.0/V902T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-T07</device_id>
- <device_name>J-T07</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>144</width>
- <heigh>136</heigh>
- <gif>false</gif>
+ <device_id>V902T</device_id>
+ <device_name>902T</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>261</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>144</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>6000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2005.8 703SH -->
+ <!--
+ Vodafone/1.0/V703SH/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-T09</device_id>
- <device_name>J-T09</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>144</width>
- <heigh>144</heigh>
- <gif>false</gif>
+ <device_id>V703SH</device_id>
+ <device_name>703SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>264</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>144</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>6000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <device>
- <device_id>J-SA06</device_id>
- <device_name>J-SA06</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
- <gif>false</gif>
+ <!-- Sale in 2005.9 802SH -->
+ <!--
+ Vodafone/1.0/V802SH/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
+ <device>
+ <device_id>V802SH</device_id>
+ <device_name>802SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>264</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>6000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2005.9 703SHf -->
+ <!--
+ Vodafone/1.0/V703SHf/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>V301T</device_id>
- <device_name>V301T</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>261</heigh>
- <gif>false</gif>
+ <device_id>V703SHf</device_id>
+ <device_name>703SHf</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>264</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>6000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2005.9 703N -->
+ <!--
+ Vodafone/1.0/V703N/NJ001[/Serial] Browser/UP.Browser/7.0.2.1.307 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>V301D</device_id>
- <device_name>V301D</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>136</heigh>
- <gif>false</gif>
+ <device_id>V703N</device_id>
+ <device_name>703N</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>269</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>153</wp_heigh>
- <cache>6000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2005.10 903T -->
+ <!--
+ Vodafone/1.0/V903T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>V302T</device_id>
- <device_name>V301T</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>144</width>
- <heigh>140</heigh>
- <gif>false</gif>
+ <device_id>V903T</device_id>
+ <device_name>903T</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>261</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>144</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>6000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2006.2 903SH -->
+ <!--
+ Vodafone/1.0/V903SH/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>KOTO</device_id>
- <device_name>KOTO</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>320</heigh>
- <gif>false</gif>
+ <device_id>V903SH</device_id>
+ <device_name>903SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>264</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>6000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2006.3 702NKII -->
+ <!--
+ Vodafone/1.0/V702NK2/NKJ001[/Serial] Series60/2.6 Nokia6680/4.04.28 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>V303T</device_id>
- <device_name>V303T</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>320</heigh>
- <gif>false</gif>
+ <device_id>V702NK2</device_id>
+ <device_name>702NKII</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>176</width>
+ <heigh>173</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>6000</cache>
+ <wp_width>174</wp_width>
+ <wp_heigh>143</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- C4 -->
+ <!-- Sale in 2006.3 904T -->
+ <!--
+ Vodafone/1.0/V904T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-SH07</device_id>
- <device_name>J-SH07</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
- <gif>false</gif>
+ <device_id>V904T</device_id>
+ <device_name>904T</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>261</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2006.5 803T -->
+ <!--
+ Vodafone/1.0/V803T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-T06</device_id>
- <device_name>J-T06</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>126</heigh>
- <gif>false</gif>
+ <device_id>V803T</device_id>
+ <device_name>803T</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>261</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>143</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2006.8 702NK -->
+ <!--
+ Vodafone/1.0/V702NK/NKJ001[/Serial] Series60/2.6 Nokia6630/2.39.148 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-D05</device_id>
- <device_name>J-D05</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>126</heigh>
- <gif>false</gif>
+ <device_id>V702NK</device_id>
+ <device_name>702NK</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>176</width>
+ <heigh>173</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4096</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>140</wp_width>
- <wp_heigh>132</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>176</wp_width>
+ <wp_heigh>208</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ Vodafone/1.0/V804SH/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.3.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-D06</device_id>
- <device_name>J-D06</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>126</heigh>
- <gif>false</gif>
+ <device_id>V804SH</device_id>
+ <device_name>804SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>264</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4096</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>137</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ Vodafone/1.0/V804SS/SSJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-N04</device_id>
- <device_name>J-N04</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>126</heigh>
- <gif>false</gif>
+ <device_id>V804SS</device_id>
+ <device_name>804SS</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>264</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4096</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>126</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ Vodafone/1.0/V904SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-N05</device_id>
- <device_name>J-N05</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>160</width>
- <heigh>180</heigh>
- <gif>false</gif>
+ <device_id>V904SH</device_id>
+ <device_name>904SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>480</width>
+ <heigh>540</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>159</wp_width>
- <wp_heigh>179</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>640</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ Vodafone/1.0/V905SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-SH08</device_id>
- <device_name>J-SH08</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>117</heigh>
- <gif>false</gif>
+ <device_id>V905SH</device_id>
+ <device_name>905SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>350</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>6000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>400</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ Vodafone/1.0/V804N/NJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-SH09</device_id>
- <device_name>J-SH09</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
- <gif>false</gif>
+ <device_id>V804N</device_id>
+ <device_name>804N</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>6000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ Vodafone/1.0/V705SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-T08</device_id>
- <device_name>J-T08</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>261</heigh>
- <gif>false</gif>
+ <device_id>V705SH</device_id>
+ <device_name>705SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>6000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ Vodafone/1.0/V705T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-SH10</device_id>
- <device_name>J-SH010</device_name>
- <html_spec_type>JHTML</html_spec_type>
+ <device_id>V705T</device_id>
+ <device_name>705T</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
<width>240</width>
- <heigh>260</heigh>
- <gif>false</gif>
+ <heigh>261</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>6000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!--
+ Vodafone/1.0/V804NK/NKJ001[/Serial] Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-D08</device_id>
- <device_name>J-D08</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>136</heigh>
- <gif>false</gif>
+ <device_id>V804NK</device_id>
+ <device_name>804NK</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>240</width>
+ <heigh>276</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>136</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ </user_agent>
+ <user_agent pattern="^MOT-([^/ ]+?)/.+?$">
<device>
- <device_id>J-T10</device_id>
- <device_name>J-T010</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>261</heigh>
+ <device_id>C980</device_id>
+ <device_name>702sMO</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>176</width>
+ <heigh>220</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <cache>300000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
<device>
- <device_id>V401SH</device_id>
- <device_name>V401SH</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>222</width>
- <heigh>260</heigh>
+ <device_id>V980</device_id>
+ <device_name>702MO</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>176</width>
+ <heigh>220</heigh>
<gif>false</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>65536</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>6000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>176</wp_width>
+ <wp_heigh>220</wp_heigh>
+ <cache>300000</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
</user_agent>
-
- <user_agent pattern="^J-PHONE/[^/ ]+/([^/ _]+?)[/ _].+?$">
- <!-- P4 -->
+ <user_agent pattern="^SoftBank/[^/ ]+/([^/ _]+?)[/ _].+?$">
+ <!-- Sale in 2006.10 706P -->
+ <!--
+ SoftBank/1.0/706P/PJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-SH51</device_id>
- <device_name>J-SH51</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
- <gif>false</gif>
+ <device_id>706P</device_id>
+ <device_name>SoftBank 706P</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>236</width>
+ <heigh>258</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>130</wp_heigh>
- <cache>12000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2006.11 910SH -->
+ <!--
+ SoftBank/1.0/910SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-K51</device_id>
- <device_name>J-K51</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>128</width>
- <heigh>128</heigh>
- <gif>false</gif>
+ <device_id>910SH</device_id>
+ <device_name>SoftBank 910SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>468</width>
+ <heigh>540</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>4096</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>128</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>12000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>640</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2006.11 911SH -->
+ <!--
+ SoftBank/1.0/911SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-T51</device_id>
- <device_name>J-T51</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>144</width>
- <heigh>144</heigh>
- <gif>false</gif>
+ <device_id>911SH</device_id>
+ <device_name>SoftBank 911SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>234</width>
+ <heigh>350</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>144</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>12000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>400</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2006.12 706N -->
+ <!--
+ SoftBank/1.0/706N/NJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-P51</device_id>
- <device_name>J-P51</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
- <gif>false</gif>
+ <device_id>706N</device_id>
+ <device_name>SoftBank 706N</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>233</width>
+ <heigh>269</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<color>65536</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>12000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2006.12 705N -->
+ <!--
+ SoftBank/1.0/705N/NJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ -->
<device>
- <device_id>J-SA51</device_id>
- <device_name>J-SA51</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>132</width>
- <heigh>144</heigh>
- <gif>false</gif>
+ <device_id>705N</device_id>
+ <device_name>SoftBank 705N</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>233</width>
+ <heigh>269</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<color>65536</color>
<emoji_type></emoji_type>
- <wp_width>132</wp_width>
- <wp_heigh>144</wp_heigh>
- <cache>12000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2007.1 708SC -->
+ <!--
+ SoftBank/1.0/708SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-SH52</device_id>
- <device_name>J-SH52</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>120</width>
- <heigh>130</heigh>
- <gif>false</gif>
+ <device_id>708SC</device_id>
+ <device_name>SoftBank 708SC</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>310</width>
+ <heigh>186</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>120</wp_width>
- <wp_heigh>160</wp_heigh>
- <cache>12000</cache>
- <dpi_width>72</dpi_width>
- <dpi_heigh>72</dpi_heigh>
+ <wp_width>320</wp_width>
+ <wp_heigh>240</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2007.4 810P -->
+ <!--
+ SoftBank/1.0/810P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-N51</device_id>
- <device_name>J-N51</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>160</width>
- <heigh>180</heigh>
- <gif>false</gif>
+ <device_id>810P</device_id>
+ <device_name>SoftBank 810P</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>236</width>
+ <heigh>258</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
- <wp_width>160</wp_width>
- <wp_heigh>180</wp_heigh>
- <cache>12000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2007.4 812SH -->
+ <!--
+ SoftBank/1.0/812SH/SHJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>V601N</device_id>
- <device_name>V601N</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>160</width>
- <heigh>180</heigh>
- <gif>false</gif>
+ <device_id>812SH</device_id>
+ <device_name>SoftBank 812SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>234</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>160</wp_width>
- <wp_heigh>180</wp_heigh>
- <cache>12000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- P5 -->
+ <!-- Sale in 2007.4 813SH -->
+ <!--
+ SoftBank/1.0/813SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>J-SH53</device_id>
- <device_name>J-SH53</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>240</width>
- <heigh>260</heigh>
- <gif>false</gif>
+ <device_id>813SH</device_id>
+ <device_name>SoftBank 813SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>234</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>12000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+ <!-- Sale in 2007.4 813SH for Biz -->
+ <!--
+ SoftBank/1.0/813SHe/SHJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>V601SH</device_id>
- <device_name>V601SH</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>240</width>
- <heigh>260</heigh>
- <gif>false</gif>
+ <device_id>813SHe</device_id>
+ <device_name>SoftBank 813SH for Biz</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>234</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>12000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- W -->
+ <!-- Sale in 2007.4 912SH -->
+ <!--
+ SoftBank/1.0/912SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>V801SA</device_id>
- <device_name>V801SA</device_name>
- <html_spec_type>JHTML</html_spec_type>
- <width>240</width>
- <heigh>256</heigh>
- <gif>false</gif>
+ <device_id>912SH</device_id>
+ <device_name>SoftBank 912SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>468</width>
+ <heigh>700</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
- <cache>200000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- </user_agent>
- <user_agent pattern="^Vodafone/[^/ ]+/([^/ _]+?)[/ _].+?$">
+ <!-- Sale in 2007.4 911T -->
+ <!--
+ SoftBank/1.0/911T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>V702NK</device_id>
- <device_name>V702NK</device_name>
+ <device_id>911T</device_id>
+ <device_name>SoftBank 911T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>208</width>
- <heigh>176</heigh>
- <gif>false</gif>
+ <width>234</width>
+ <heigh>339</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>208</wp_width>
- <wp_heigh>176</wp_heigh>
- <cache>300000</cache>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2007.5 812SHs -->
+ <!--
+ SoftBank/1.0/812SHs/SHJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>V802SE</device_id>
- <device_name>V802SE</device_name>
- <html_spec_type>JXHTML</html_spec_type>
- <width>176</width>
- <heigh>220</heigh>
- <gif>false</gif>
+ <device_id>812Hs</device_id>
+ <device_name>SoftBank 812SHs</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>234</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
- <wp_width>176</wp_width>
- <wp_heigh>208</wp_heigh>
- <cache>200000</cache>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2007.5 816SH -->
+ <!--
+ SoftBank/1.0/816SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>V802SH</device_id>
- <device_name>V802SH</device_name>
+ <device_id>816SH</device_id>
+ <device_name>SoftBank 816SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>176</width>
- <heigh>220</heigh>
- <gif>false</gif>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>200000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- Sale in 2007.5 815SH -->
+ <!--
+ SoftBank/1.0/815SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ -->
<device>
- <device_id>V802N</device_id>
- <device_name>V802N</device_name>
+ <device_id>815SH</device_id>
+ <device_name>SoftBank 815SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>176</width>
- <heigh>220</heigh>
- <gif>false</gif>
+ <width>240</width>
+ <heigh>270</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>200000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2005.8 902SH-->
+ <!-- Sale in 2007.5 814SH -->
<!--
- Vodafone/1.0/V902SH/SHJ002[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/814SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V902SH</device_id>
- <device_name>902SH</device_name>
+ <device_id>814SH</device_id>
+ <device_name>SoftBank 814SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>264</heigh>
+ <width>468</width>
+ <heigh>540</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>640</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2005.8 902T -->
+
+ <!-- Sale in 2007.5 912T -->
<!--
- Vodafone/1.0/V902T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/912T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V902T</device_id>
- <device_name>902T</device_name>
+ <device_id>912T</device_id>
+ <device_name>SoftBank 912T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>261</heigh>
+ <width>234</width>
+ <heigh>339</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2005.8 703SH -->
+ <!-- Sale in 2007.5 815T -->
<!--
- Vodafone/1.0/V703SH/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/815T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V703SH</device_id>
- <device_name>703SH</device_name>
+ <device_id>815T</device_id>
+ <device_name>SoftBank 815T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>264</heigh>
+ <width>234</width>
+ <heigh>259</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2005.9 802SH -->
+ <!-- Sale in 2007.5 814T -->
<!--
- Vodafone/1.0/V802SH/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/814T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V802SH</device_id>
- <device_name>802SH</device_name>
+ <device_id>814T</device_id>
+ <device_name>SoftBank 814T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>264</heigh>
+ <width>234</width>
+ <heigh>259</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2005.9 703SHf -->
+
+ <!-- Sale in 2007.6 805SC -->
<!--
- Vodafone/1.0/V703SHf/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/805SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V703SHf</device_id>
- <device_name>703SHf</device_name>
+ <device_id>805SC</device_id>
+ <device_name>SoftBank 805SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
+ <width>230</width>
<heigh>264</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2005.9 703N -->
+
+ <!-- Sale in 2007.8 913SH/913SHG -->
<!--
- Vodafone/1.0/V703N/NJ001[/Serial] Browser/UP.Browser/7.0.2.1.307 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/913SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V703N</device_id>
- <device_name>703N</device_name>
+ <device_id>913SH</device_id>
+ <device_name>SoftBank 913SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>269</heigh>
+ <width>234</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2005.10 903T -->
+ <!-- Sale in 2007.9 820SH -->
<!--
- Vodafone/1.0/V903T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/820SH/SHJ001[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V903T</device_id>
- <device_name>903T</device_name>
+ <device_id>820SH</device_id>
+ <device_name>SoftBank 820SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>261</heigh>
+ <width>234</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2006.2 903SH -->
+ <!-- Sale in 2007.9 821SH -->
<!--
- Vodafone/1.0/V903SH/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/821SH/SHJ001[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V903SH</device_id>
- <device_name>903SH</device_name>
+ <device_id>821SH</device_id>
+ <device_name>SoftBank 821SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>264</heigh>
+ <width>234</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2006.3 702NKII -->
+ <!-- Sale in 2007.9 820P -->
<!--
- Vodafone/1.0/V702NK2/NKJ001[/Serial] Series60/2.6 Nokia6680/4.04.28 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/820P/PJP10[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V702NK2</device_id>
- <device_name>702NKII</device_name>
+ <device_id>820P</device_id>
+ <device_name>SoftBank 820P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>176</width>
- <heigh>173</heigh>
+ <width>234</width>
+ <heigh>342</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
- <wp_width>174</wp_width>
- <wp_heigh>143</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2006.3 904T -->
+ <!-- Sale in 2007.9 920SH -->
<!--
- Vodafone/1.0/V904T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/920SH/SHJ001[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V904T</device_id>
- <device_name>904T</device_name>
+ <device_id>920SH</device_id>
+ <device_name>SoftBank 920SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>261</heigh>
+ <width>468</width>
+ <heigh>700</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2006.5 803T -->
+ <!-- Sale in 2007.10 821P -->
<!--
- Vodafone/1.0/V803T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/821P/PJP10[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V803T</device_id>
- <device_name>803T</device_name>
+ <device_id>821P</device_id>
+ <device_name>SoftBank 821P</device_name>
<html_spec_type>JXHTML</html_spec_type>
<width>240</width>
- <heigh>261</heigh>
+ <heigh>342</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2006.8 702NK -->
+ <!-- Sale in 2007.12 705P/705Px -->
<!--
- Vodafone/1.0/V702NK/NKJ001[/Serial] Series60/2.6 Nokia6630/2.39.148 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/705P/PJP10[/Serial] Browser/Teleca-Browser/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V702NK</device_id>
- <device_name>702NK</device_name>
+ <device_id>705P</device_id>
+ <device_name>SoftBank 705P/705Px</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>176</width>
- <heigh>173</heigh>
+ <width>236</width>
+ <heigh>258</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
- <wp_width>176</wp_width>
- <wp_heigh>208</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
<!--
- Vodafone/1.0/V804SH/SHJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.3.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/910T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
-->
<device>
- <device_id>V804SH</device_id>
- <device_name>804SH</device_name>
+ <device_id>910T</device_id>
+ <device_name>SoftBank 910T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>264</heigh>
+ <width>234</width>
+ <heigh>259</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
<!--
- Vodafone/1.0/V804SS/SSJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/810SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V804SS</device_id>
- <device_name>804SS</device_name>
+ <device_id>810SH</device_id>
+ <device_name>SoftBank 810SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>264</heigh>
+ <width>468</width>
+ <heigh>540</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>640</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
<!--
- Vodafone/1.0/V904SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/811SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V904SH</device_id>
- <device_name>904SH</device_name>
+ <device_id>811SH</device_id>
+ <device_name>SoftBank 811SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>480</width>
+ <width>468</width>
<heigh>540</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
<!--
- Vodafone/1.0/V905SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/705SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V905SH</device_id>
- <device_name>905SH</device_name>
+ <device_id>705SC</device_id>
+ <device_name>SoftBank 705SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>350</heigh>
+ <width>230</width>
+ <heigh>264</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
<!--
- Vodafone/1.0/V804N/NJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/706SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V804N</device_id>
- <device_name>804N</device_name>
+ <device_id>706SC</device_id>
+ <device_name>SoftBank 706SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>270</heigh>
+ <width>230</width>
+ <heigh>264</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
<!--
- Vodafone/1.0/V705SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/810T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
-->
<device>
- <device_id>V705SH</device_id>
- <device_name>705SH</device_name>
+ <device_id>810T</device_id>
+ <device_name>SoftBank 810T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>270</heigh>
+ <width>234</width>
+ <heigh>259</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
<!--
- Vodafone/1.0/V705T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ SoftBank/1.0/811T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
-->
<device>
- <device_id>V705T</device_id>
- <device_name>705T</device_name>
+ <device_id>811T</device_id>
+ <device_name>SoftBank 811T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>261</heigh>
+ <width>234</width>
+ <heigh>259</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
</device>
<!--
- Vodafone/1.0/V804NK/NKJ001[/Serial] Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>V804NK</device_id>
- <device_name>804NK</device_name>
+ <device_id>707SC</device_id>
+ <device_name>SoftBank 707SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>276</heigh>
+ <width>230</width>
+ <heigh>264</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_heigh>96</dpi_heigh>
</device>
- </user_agent>
- <user_agent pattern="^MOT-([^/ ]+?)/.+?$">
+ <!--
+ -->
<device>
- <device_id>C980</device_id>
- <device_name>702sMO</device_name>
+ <device_id>709SC</device_id>
+ <device_name>SoftBank 709SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>176</width>
- <heigh>220</heigh>
- <gif>false</gif>
+ <width>230</width>
+ <heigh>264</heigh>
+ <gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
- <cache>300000</cache>
- <dpi_width>96</dpi_width>
- <dpi_heigh>96</dpi_heigh>
- </device>
- <device>
- <device_id>V980</device_id>
- <device_name>702MO</device_name>
- <html_spec_type>JXHTML</html_spec_type>
- <width>176</width>
- <heigh>220</heigh>
- <gif>false</gif>
- <jpeg>true</jpeg>
- <png>true</png>
- <bmp2>false</bmp2>
- <bmp4>false</bmp4>
- <color>65536</color>
- <emoji_type></emoji_type>
-
- <wp_width>176</wp_width>
- <wp_heigh>220</wp_heigh>
- <cache>300000</cache>
+ <cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- </user_agent>
-
- <user_agent pattern="^SoftBank/[^/ ]+/([^/ _]+?)[/ _].+?$">
- <!-- Sale in 2006.10 706P -->
- <!--
- SoftBank/1.0/706P/PJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ SoftBank/1.0/705NK/NKJ001[/Serial] Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>706P</device_id>
- <device_name>SoftBank 706P</device_name>
+ <device_id>705NK</device_id>
+ <device_name>SoftBank 705NK</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>236</width>
- <heigh>258</heigh>
+ <width>240</width>
+ <heigh>267</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>16777216</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2006.11 910SH -->
- <!--
- SoftBank/1.0/910SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ SoftBank/1.0/812T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
-->
<device>
- <device_id>910SH</device_id>
- <device_name>SoftBank 910SH</device_name>
+ <device_id>812T</device_id>
+ <device_name>SoftBank 812T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>468</width>
- <heigh>540</heigh>
+ <width>234</width>
+ <heigh>259</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>480</wp_width>
- <wp_heigh>640</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!-- Sale in 2006.11 911SH -->
- <!--
- SoftBank/1.0/911SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ SoftBank/1.0/706P/PJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>911SH</device_id>
- <device_name>SoftBank 911SH</device_name>
+ <device_id>706P</device_id>
+ <device_name>SoftBank 706P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>350</heigh>
+ <width>236</width>
+ <heigh>258</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!-- Sale in 2006.12 706N -->
- <!--
- SoftBank/1.0/706N/NJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ <!--
+ SoftBank/1.0/813T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
-->
<device>
- <device_id>706N</device_id>
- <device_name>SoftBank 706N</device_name>
+ <device_id>813T</device_id>
+ <device_name>SoftBank 813T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>233</width>
- <heigh>269</heigh>
+ <width>234</width>
+ <heigh>259</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2006.12 705N -->
+
<!--
- SoftBank/1.0/705N/NJ001[/Serial] Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
-->
<device>
- <device_id>705N</device_id>
- <device_name>SoftBank 705N</device_name>
+ <device_id>822SH</device_id>
+ <device_name>SoftBank 822SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>233</width>
- <heigh>269</heigh>
+ <width>234</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>65536</color>
+ <color>262144</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.1 708SC -->
<!--
- SoftBank/1.0/708SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>708SC</device_id>
- <device_name>SoftBank 708SC</device_name>
+ <device_id>920T</device_id>
+ <device_name>SoftBank 920T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>310</width>
- <heigh>186</heigh>
+ <width>234</width>
+ <heigh>339</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>320</wp_width>
- <wp_heigh>240</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.4 810P -->
<!--
- SoftBank/1.0/810P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>810P</device_id>
- <device_name>SoftBank 810P</device_name>
+ <device_id>920SC</device_id>
+ <device_name>SoftBank 920SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>236</width>
- <heigh>258</heigh>
+ <width>230</width>
+ <heigh>264</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>16777216</color>
+ <color>262144</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.4 812SH -->
+
<!--
- SoftBank/1.0/812SH/SHJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>812SH</device_id>
- <device_name>SoftBank 812SH</device_name>
+ <device_id>822P</device_id>
+ <device_name>SoftBank 822P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>270</heigh>
+ <width>240</width>
+ <heigh>262</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.4 813SH -->
<!--
- SoftBank/1.0/813SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>813SH</device_id>
- <device_name>SoftBank 813SH</device_name>
+ <device_id>DM001SH</device_id>
+ <device_name>SoftBank DM001SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
<width>234</width>
- <heigh>270</heigh>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!-- Sale in 2007.4 813SH for Biz -->
<!--
- SoftBank/1.0/813SHe/SHJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>813SHe</device_id>
- <device_name>SoftBank 813SH for Biz</device_name>
+ <device_id>820T</device_id>
+ <device_name>SoftBank 820T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>270</heigh>
+ <width>240</width>
+ <heigh>320</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.4 912SH -->
<!--
- SoftBank/1.0/912SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>912SH</device_id>
- <device_name>SoftBank 912SH</device_name>
- <html_spec_type>JXHTML</html_spec_type>
- <width>468</width>
- <heigh>700</heigh>
+ <device_id>820SC</device_id>
+ <device_name>SoftBank 820SC</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <width>230</width>
+ <heigh>264</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>480</wp_width>
- <wp_heigh>800</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.4 911T -->
+
<!--
- SoftBank/1.0/911T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>911T</device_id>
- <device_name>SoftBank 911T</device_name>
+ <device_id>920P</device_id>
+ <device_name>SoftBank 920P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>339</heigh>
+ <width>471</width>
+ <heigh>700</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>480</wp_width>
- <wp_heigh>800</wp_heigh>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.5 812SHs -->
+
<!--
- SoftBank/1.0/812SHs/SHJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>812Hs</device_id>
- <device_name>SoftBank 812SHs</device_name>
+ <device_id>822T</device_id>
+ <device_name>SoftBank 822T</device_name>
<html_spec_type>JXHTML</html_spec_type>
<width>234</width>
- <heigh>270</heigh>
+ <heigh>259</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.5 816SH -->
<!--
- SoftBank/1.0/816SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>816SH</device_id>
- <device_name>SoftBank 816SH</device_name>
+ <device_id>921SH</device_id>
+ <device_name>SoftBank 921SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>270</heigh>
+ <width>468</width>
+ <heigh>754</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.5 815SH -->
<!--
- SoftBank/1.0/815SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>815SH</device_id>
- <device_name>SoftBank 815SH</device_name>
+ <device_id>823SH</device_id>
+ <device_name>SoftBank 823SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>270</heigh>
+ <width>234</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.5 814SH -->
<!--
- SoftBank/1.0/814SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>814SH</device_id>
- <device_name>SoftBank 814SH</device_name>
+ <device_id>821T</device_id>
+ <device_name>SoftBank 821T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>468</width>
- <heigh>540</heigh>
+ <width>234</width>
+ <heigh>243</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>480</wp_width>
- <wp_heigh>640</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.5 912T -->
<!--
- SoftBank/1.0/912T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>912T</device_id>
- <device_name>SoftBank 912T</device_name>
+ <device_id>921T</device_id>
+ <device_name>SoftBank 921T</device_name>
<html_spec_type>JXHTML</html_spec_type>
<width>234</width>
<heigh>339</heigh>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.5 815T -->
+
<!--
- SoftBank/1.0/815T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>815T</device_id>
- <device_name>SoftBank 815T</device_name>
+ <device_id>922SH</device_id>
+ <device_name>SoftBank 922SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>259</heigh>
+ <width>842</width>
+ <heigh>384</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>854</wp_width>
+ <wp_heigh>480</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.5 814T -->
- <!--
- SoftBank/1.0/814T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+
+ <!--
+ SoftBank/1.0/920SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ //-->
<device>
- <device_id>814T</device_id>
- <device_name>SoftBank 814T</device_name>
+ <device_id>920SH</device_id>
+ <device_name>SoftBank 920SH YK</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>259</heigh>
+ <width>468</width>
+ <heigh>454</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.6 805SC -->
- <!--
- SoftBank/1.0/805SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ SoftBank/1.0/821SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>805SC</device_id>
- <device_name>SoftBank 805SC</device_name>
+ <device_id>821SC</device_id>
+ <device_name>SoftBank 821SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>230</width>
- <heigh>264</heigh>
+ <width>234</width>
+ <heigh>267</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.8 913SH/913SHG -->
- <!--
- SoftBank/1.0/913SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ SoftBank/1.0/DM002SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>913SH</device_id>
- <device_name>SoftBank 913SH</device_name>
+ <device_id>DM002SH</device_id>
+ <device_name>SoftBank DM002SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
<width>234</width>
<heigh>350</heigh>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.9 820SH -->
- <!--
- SoftBank/1.0/820SH/SHJ001[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ 823P
+ SoftBank/1.0/823P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>820SH</device_id>
- <device_name>SoftBank 820SH</device_name>
+ <device_id>823P</device_id>
+ <device_name>SoftBank 823P</device_name>
<html_spec_type>JXHTML</html_spec_type>
<width>234</width>
- <heigh>350</heigh>
+ <heigh>355</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.9 821SH -->
- <!--
- SoftBank/1.0/821SH/SHJ001[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ 825SH
+ SoftBank/1.0/825SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>821SH</device_id>
- <device_name>SoftBank 821SH</device_name>
+ <device_id>825SH</device_id>
+ <device_name>SoftBank 825SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
+ <width>240</width>
<heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.9 820P -->
- <!--
- SoftBank/1.0/820P/PJP10[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ 821N
+ SoftBank/1.0/821N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>820P</device_id>
- <device_name>SoftBank 820P</device_name>
+ <device_id>821N</device_id>
+ <device_name>SoftBank 821N</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>342</heigh>
+ <width>240</width>
+ <heigh>325</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>16777216</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_width>242</wp_width>
+ <wp_heigh>431</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.9 920SH -->
- <!--
- SoftBank/1.0/920SH/SHJ001[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ 820N
+ SoftBank/1.0/820N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>920SH</device_id>
- <device_name>SoftBank 920SH</device_name>
+ <device_id>820N</device_id>
+ <device_name>SoftBank 820N</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>468</width>
- <heigh>700</heigh>
+ <width>240</width>
+ <heigh>325</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
-
- <wp_width>480</wp_width>
- <wp_heigh>854</wp_heigh>
+ <wp_width>242</wp_width>
+ <wp_heigh>431</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.10 821P -->
- <!--
- SoftBank/1.0/821P/PJP10[ /Serial ] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ 923SH
+ SoftBank/1.0/923SH/SHJ001 Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>821P</device_id>
- <device_name>SoftBank 821P</device_name>
+ <device_id>923SH</device_id>
+ <device_name>SoftBank 923SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>342</heigh>
+ <width>480</width>
+ <heigh>754</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <color>16777216</color>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!-- Sale in 2007.12 705P/705Px -->
- <!--
- SoftBank/1.0/705P/PJP10[/Serial] Browser/Teleca-Browser/3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ <!--
+ 824SH
+ SoftBank/1.0/824SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>705P</device_id>
- <device_name>SoftBank 705P/705Px</device_name>
+ <device_id>824SH</device_id>
+ <device_name>SoftBank 824SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>236</width>
- <heigh>258</heigh>
+ <width>240</width>
+ <heigh>350</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>16777216</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
- SoftBank/1.0/910T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ 824P
+ SoftBank/1.0/824P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>910T</device_id>
- <device_name>SoftBank 910T</device_name>
+ <device_id>824P</device_id>
+ <device_name>SoftBank 824P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>259</heigh>
+ <width>232</width>
+ <heigh>352</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>16777216</color>
+ <color>262144</color>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
- SoftBank/1.0/810SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ 921P
+ SoftBank/1.0/921P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>810SH</device_id>
- <device_name>SoftBank 810SH</device_name>
+ <device_id>921P</device_id>
+ <device_name>SoftBank 921P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>468</width>
- <heigh>540</heigh>
+ <width>471</width>
+ <heigh>700</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>262144</color>
<emoji_type></emoji_type>
<wp_width>480</wp_width>
- <wp_heigh>640</wp_heigh>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
- SoftBank/1.0/811SH/SHJ001[/Serial] Browser/VF-NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ 823T
+ SoftBank/1.0/823T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>811SH</device_id>
- <device_name>SoftBank 811SH</device_name>
+ <device_id>823T</device_id>
+ <device_name>SoftBank 823T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>468</width>
- <heigh>540</heigh>
+ <width>235</width>
+ <heigh>341</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp4>false</bmp4>
<color>262144</color>
<emoji_type></emoji_type>
- <wp_width>480</wp_width>
- <wp_heigh>640</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
- SoftBank/1.0/705SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ 824T
+ SoftBank/1.0/824T/TJ001[/serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>705SC</device_id>
- <device_name>SoftBank 705SC</device_name>
+ <device_id>824T</device_id>
+ <device_name>SoftBank 824T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>230</width>
- <heigh>264</heigh>
+ <width>235</width>
+ <heigh>341</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>262144</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
- SoftBank/1.0/706SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ 830SH
+ SoftBank/1.0/830SH/SHJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>706SC</device_id>
- <device_name>SoftBank 706SC</device_name>
+ <device_id>830SH</device_id>
+ <device_name>SoftBank 830SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>230</width>
- <heigh>264</heigh>
+ <width>240</width>
+ <heigh>270</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
- SoftBank/1.0/810T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ 830SHs
+ SoftBank/1.0/830SHs/SHJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>810T</device_id>
- <device_name>SoftBank 810T</device_name>
+ <device_id>830SHs</device_id>
+ <device_name>SoftBank 830SHs</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>259</heigh>
+ <width>240</width>
+ <heigh>270</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
- SoftBank/1.0/811T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ 830P
+ SoftBank/1.0/830P/PJP10[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>811T</device_id>
- <device_name>SoftBank 811T</device_name>
+ <device_id>830P</device_id>
+ <device_name>SoftBank 830P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>259</heigh>
+ <width>240</width>
+ <heigh>375</heigh>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<color>262144</color>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<!--
+ 930SH
+ SoftBank/1.0/930SH/SHJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>707SC</device_id>
- <device_name>SoftBank 707SC</device_name>
+ <device_id>930SH</device_id>
+ <device_name>SoftBank 930SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>230</width>
- <heigh>264</heigh>
+ <color>16777216</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>754</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
<!--
+ 830CA
+ SoftBank/1.0/830CA/CAJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>709SC</device_id>
- <device_name>SoftBank 709SC</device_name>
+ <device_id>830CA</device_id>
+ <device_name>SoftBank 830CA</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>230</width>
- <heigh>264</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+
<!--
- SoftBank/1.0/705NK/NKJ001[/Serial] Profile/MIDP-2.0 Configuration/CLDC-1.1
+ 931SH
+ SoftBank/1.0/931SH/SHJ001[/serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>705NK</device_id>
- <device_name>SoftBank 705NK</device_name>
+ <device_id>931SH</device_id>
+ <device_name>SoftBank 931SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>267</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>824</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>1024</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+
<!--
- SoftBank/1.0/812T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ 930SC
+ SoftBank/1.0/930SC/SCJ001[/serial] Browser/NetFront/3.4
-->
<device>
- <device_id>812T</device_id>
- <device_name>SoftBank 812T</device_name>
+ <device_id>930SC</device_id>
+ <device_name>SoftBank 930SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>259</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>470</width>
+ <heigh>512</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+
<!--
- SoftBank/1.0/706P/PJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ DM003SH
+ SoftBank/1.0/DM003SH/SHJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>706P</device_id>
- <device_name>SoftBank 706P</device_name>
+ <device_id>DM003SH</device_id>
+ <device_name>SoftBank DM003SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>236</width>
- <heigh>258</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
- SoftBank/1.0/813T/TJ001[/Serial] Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ 830T
+ SoftBank/1.0/830T/TJ001[/serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>813T</device_id>
- <device_name>SoftBank 813T</device_name>
+ <device_id>830T</device_id>
+ <device_name>SoftBank 830T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>259</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>235</width>
+ <heigh>341</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+
+
<!--
+ 831T
+ SoftBank/1.0/831T/TJ001[/serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>822SH</device_id>
- <device_name>SoftBank 822SH</device_name>
+ <device_id>831T</device_id>
+ <device_name>SoftBank 831T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>350</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>235</width>
+ <heigh>341</heigh>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
<wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_heigh>96</dpi_heigh>
</device>
+
<!--
+ 930P
+ SoftBank/1.0/930P/PJP10[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
-->
<device>
- <device_id>920T</device_id>
- <device_name>SoftBank 920T</device_name>
+ <device_id>930P</device_id>
+ <device_name>SoftBank 930P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>339</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>471</width>
+ <heigh>700</heigh>
<emoji_type></emoji_type>
-
<wp_width>480</wp_width>
- <wp_heigh>800</wp_heigh>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!--
- -->
+ <!-- OSAKANA TARO add start -->
+ <!--
+ 831SH
+ SoftBank/1.0/831SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/831SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/831SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/831SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (831SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>920SC</device_id>
- <device_name>SoftBank 920SC</device_name>
+ <device_id>831SH</device_id>
+ <device_name>SoftBank 831SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>230</width>
- <heigh>264</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
-
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>400</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+
+ <!--
+ 932SH
+ SoftBank/1.0/932SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/932SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/932SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/932SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (932SH;SoftBank[;Serial]) NetFront/3.5
+ -->
+ <device>
+ <device_id>932SH</device_id>
+ <device_name>SoftBank 932SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <color>262144</color>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <width>480</width>
+ <heigh>754</heigh>
+ <emoji_type></emoji_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- -->
+ <!--
+ 830N
+ SoftBank/1.0/830N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/830N/NJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/830N/NJ001 Widgets/WGTClient/1.0
+ SoftBank/1.0/830N/NJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (830N;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>822P</device_id>
- <device_name>SoftBank 822P</device_name>
+ <device_id>830N</device_id>
+ <device_name>SoftBank 830N</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>262</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>650</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!--
- -->
- <device>
- <device_id>DM001SH</device_id>
- <device_name>SoftBank DM001SH</device_name>
+ <!--
+ 830SH for Biz
+ SoftBank/1.0/830SHe/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/830SHe/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/830SHe/SHJ001[/Serial] Flash/Flash-Lite/2.0
+ Mozilla/5.0 (830SHe;SoftBank[;Serial]) NetFront/3.4
+ -->
+ <device>
+ <device_id>830SHe</device_id>
+ <device_name>SoftBank 830SHe</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>350</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>270</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!--
- -->
+ <!--
+ 930CA
+ SoftBank/1.0/930CA/CAJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/930CA/CAJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/930CA/CAJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (930CA;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>820T</device_id>
- <device_name>SoftBank 820T</device_name>
+ <device_id>930CA</device_id>
+ <device_name>SoftBank 930CA</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>320</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>700</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
- <!--
- -->
+ <!--
+ 831P
+ SoftBank/1.0/831P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/831P/PJP10[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/831P/PJP10[/Serial] Flash/Flash-Lite/2.0
+ Mozilla/4.08 (831P;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>820SC</device_id>
- <device_name>SoftBank 820SC</device_name>
+ <device_id>831P</device_id>
+ <device_name>SoftBank 831P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>230</width>
- <heigh>264</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- -->
+ <!--
+ 731SC
+ SoftBank/1.0/731SC/SCJ001[/Serial] Browser/NetFront/3.3
+ ×
+ ×
+ ×
+ Mozilla/4.08 (731SC;SoftBank[;Serial]) NetFront/3.3
+ -->
<device>
- <device_id>920P</device_id>
- <device_name>SoftBank 920P</device_name>
+ <device_id>731SC</device_id>
+ <device_name>SoftBank 731SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>471</width>
- <heigh>700</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>230</width>
+ <heigh>264</heigh>
<emoji_type></emoji_type>
- <wp_width>480</wp_width>
- <wp_heigh>854</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- -->
+ <!--
+ 830SH Preminum
+ SoftBank/1.0/830SHp/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/830SHp/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/830SHp/SHJ001[/Serial] Flash/Flash-Lite/2.0
+ Mozilla/5.0 (830SHp;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>822T</device_id>
- <device_name>SoftBank 822T</device_name>
+ <device_id>830SHp</device_id>
+ <device_name>SoftBank 830SHp</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>259</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>270</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- -->
- <device>
- <device_id>921SH</device_id>
- <device_name>SoftBank 921SH</device_name>
+ <!--
+ 831SH KT→831SHと同じ
+ SoftBank/1.0/831SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/831SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/831SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/831SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (831SH;SoftBank[;Serial]) NetFront/3.5
+ -->
+ <!--
+ 831SHs
+ SoftBank/1.0/831SHs/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/831SHs/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/831SHs/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/831SHs/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (831SHs;SoftBank[;Serial]) NetFront/3.5
+ -->
+ <device>
+ <device_id>831SHs</device_id>
+ <device_name>SoftBank 831SHs</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>468</width>
- <heigh>754</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
- <wp_width>480</wp_width>
- <wp_heigh>854</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- -->
+ <!--
+ 832P
+ SoftBank/1.0/832P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/832P/PJP10[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/832P/PJP10[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (832P;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>823SH</device_id>
- <device_name>SoftBank 823SH</device_name>
+ <device_id>832P</device_id>
+ <device_name>SoftBank 832P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>350</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>231</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- -->
+ <!--
+ 933SH
+ SoftBank/1.0/933SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/933SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/933SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/933SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (933SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>821T</device_id>
- <device_name>SoftBank 821T</device_name>
+ <device_id>933SH</device_id>
+ <device_name>SoftBank 933SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>243</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>738</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- -->
+ <!--
+ 934SH
+ SoftBank/1.0/934SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/934SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/934SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/934SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (934SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>921T</device_id>
- <device_name>SoftBank 921T</device_name>
+ <device_id>934SH</device_id>
+ <device_name>SoftBank 934SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>339</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>754</heigh>
<emoji_type></emoji_type>
-
- <wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- -->
+ <!--
+ 930N
+ SoftBank/1.0/930N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/930N/NJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/930N/NJ001 Widgets/WGTClient/1.0
+ SoftBank/1.0/930N/NJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (930N;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>922SH</device_id>
- <device_name>SoftBank 922SH</device_name>
+ <device_id>930N</device_id>
+ <device_name>SoftBank 930N</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>842</width>
- <heigh>384</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>650</heigh>
<emoji_type></emoji_type>
- <wp_width>854</wp_width>
- <wp_heigh>480</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- SoftBank/1.0/920SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- //-->
+ <!--
+ 931SC
+ SoftBank/1.0/931SC/SCJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/931SC/SCJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/931SC/SCJ001[/Serial] Flash/Flash-Lite/3.1
+ Mozilla/4.08 (931SC;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>920SH</device_id>
- <device_name>SoftBank 920SH YK</device_name>
+ <device_id>931SC</device_id>
+ <device_name>SoftBank 931SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>468</width>
- <heigh>454</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>471</width>
+ <heigh>512</heigh>
<emoji_type></emoji_type>
<wp_width>480</wp_width>
- <wp_heigh>854</wp_heigh>
+ <wp_heigh>800</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- SoftBank/1.0/821SC/SCJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 832T
+ SoftBank/1.0/832T/TJ001[/Serial] Browser/NetFront/3.3
+ ×
+ ×
+ SoftBank/1.0/832T/TJ001[/Serial] Flash/Flash-Lite/2.0
+ ×
+ -->
<device>
- <device_id>821SC</device_id>
- <device_name>SoftBank 821SC</device_name>
+ <device_id>832T</device_id>
+ <device_name>SoftBank 832T</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>267</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>234</width>
+ <heigh>243</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<wp_heigh>320</wp_heigh>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- SoftBank/1.0/DM002SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 931P
+ SoftBank/1.0/931P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/931P/PJP10[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/931P/PJP10 Widgets/Widgets/1.0
+ SoftBank/1.0/931P/PJP10[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (931P;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>DM002SH</device_id>
- <device_name>SoftBank DM002SH</device_name>
+ <device_id>931P</device_id>
+ <device_name>SoftBank 931P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>350</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>471</width>
+ <heigh>700</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 823P
- SoftBank/1.0/823P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 935SH
+ SoftBank/1.0/935SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/935SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/935SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/935SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (935SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>823P</device_id>
- <device_name>SoftBank 823P</device_name>
+ <device_id>935SH</device_id>
+ <device_name>SoftBank 935SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>234</width>
- <heigh>355</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>754</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>427</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 825SH
- SoftBank/1.0/825SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 832SH
+ SoftBank/1.0/832SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/832SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/832SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/832SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (832SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>825SH</device_id>
- <device_name>SoftBank 825SH</device_name>
+ <device_id>832SH</device_id>
+ <device_name>SoftBank 832SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>350</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<wp_heigh>400</wp_heigh>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 821N
- SoftBank/1.0/821N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 936SH
+ SoftBank/1.0/936SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/936SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/936SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/936SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (936SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>821N</device_id>
- <device_name>SoftBank 821N</device_name>
+ <device_id>936SH</device_id>
+ <device_name>SoftBank 936SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>325</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>754</heigh>
<emoji_type></emoji_type>
- <wp_width>242</wp_width>
- <wp_heigh>431</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 820N
- SoftBank/1.0/820N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 830SC
+ SoftBank/1.0/830SC/SCJ001[/Serial] Browser/NetFront/3.3
+ ×
+ ×
+ ×
+ Mozilla/4.08 (830SC;SoftBank[;Serial]) NetFront/3.3
+ -->
<device>
- <device_id>820N</device_id>
- <device_name>SoftBank 820N</device_name>
+ <device_id>830SC</device_id>
+ <device_name>SoftBank 830SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>325</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>232</width>
+ <heigh>264</heigh>
<emoji_type></emoji_type>
- <wp_width>242</wp_width>
- <wp_heigh>431</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 923SH
- SoftBank/1.0/923SH/SHJ001 Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 831N
+ SoftBank/1.0/831N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/831N/NJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/831N/NJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (831N;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>923SH</device_id>
- <device_name>SoftBank 923SH</device_name>
+ <device_id>831N</device_id>
+ <device_name>SoftBank 831N</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>480</width>
- <heigh>754</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>16777216</color>
+ <width>240</width>
+ <heigh>325</heigh>
<emoji_type></emoji_type>
- <wp_width>480</wp_width>
- <wp_heigh>854</wp_heigh>
+ <wp_width>240</wp_width>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 824SH
- SoftBank/1.0/824SH/SHJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 740SC
+ SoftBank/1.0/740SC/SCJ001[/Serial] Browser/NetFront/3.3
+ ×
+ ×
+ ×
+ Mozilla/4.08 (740SC;SoftBank[;Serial]) NetFront/3.3
+ -->
<device>
- <device_id>824SH</device_id>
- <device_name>SoftBank 824SH</device_name>
+ <device_id>740SC</device_id>
+ <device_name>SoftBank 740SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>350</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>232</width>
+ <heigh>264</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_heigh>320</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 824P
- SoftBank/1.0/824P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 832SHs
+ SoftBank/1.0/832SHs/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/832SHs/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/832SHs/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/832SHs/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (832SHs;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>824P</device_id>
- <device_name>SoftBank 824P</device_name>
+ <device_id>832SHs</device_id>
+ <device_name>SoftBank 832SHs</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>232</width>
- <heigh>352</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>240</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>427</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 921P
- SoftBank/1.0/921P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 940SH
+ SoftBank/1.0/940SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/940SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/940SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/940SH/SHJ001[/Serial] Flash/Flash-Lite/3.1
+ Mozilla/5.0 (940SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>921P</device_id>
- <device_name>SoftBank 921P</device_name>
+ <device_id>940SH</device_id>
+ <device_name>SoftBank 940SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>471</width>
- <heigh>700</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>738</heigh>
<emoji_type></emoji_type>
<wp_width>480</wp_width>
<wp_heigh>854</wp_heigh>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 823T
- SoftBank/1.0/823T/TJ001[/Serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 931N
+ SoftBank/1.0/931N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/931N/NJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/931N/NJ001 Widgets/WGTClient/1.0
+ SoftBank/1.0/931N/NJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (931N;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>823T</device_id>
- <device_name>SoftBank 823T</device_name>
+ <device_id>931N</device_id>
+ <device_name>SoftBank 931N</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>235</width>
- <heigh>341</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>640</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 824T
- SoftBank/1.0/824T/TJ001[/serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ S940SC
+ oftBank/1.0/940SC/SCJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/940SC/SCJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/940SC/SCJ001 Widgets/NetFront/1.0
+ SoftBank/1.0/940SC/SCJ001[/Serial] Flash/Flash-Lite/3.1
+ Mozilla/5.0 (940SC;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>824T</device_id>
- <device_name>SoftBank 824T</device_name>
+ <device_id>940SC</device_id>
+ <device_name>SoftBank 940SC</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>235</width>
- <heigh>341</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>512</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>800</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 830SH
- SoftBank/1.0/830SH/SHJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 941SH
+ SoftBank/1.0/941SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/941SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/941SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/941SH/SHJ001[/Serial] Flash/Flash-Lite/3.1
+ Mozilla/5.0 (941SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>830SH</device_id>
- <device_name>SoftBank 830SH</device_name>
+ <device_id>941SH</device_id>
+ <device_name>SoftBank 941SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>270</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>824</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>1024</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 830SHs
- SoftBank/1.0/830SHs/SHJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 840P
+ SoftBank/1.0/840P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/840P/PJP10[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/840P/PJP10[/Serial] Flash/Flash-Lite/2.0
+ Mozilla/4.08 (840P;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>830SHs</device_id>
- <device_name>SoftBank 830SHs</device_name>
+ <device_id>840P</device_id>
+ <device_name>SoftBank 840P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>270</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>236</width>
+ <heigh>369</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>320</wp_heigh>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 830P
- SoftBank/1.0/830P/PJP10[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 940N
+ SoftBank/1.0/940N/NJ001[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/940N/NJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/940N/NJ001 Widgets/WGTClient/1.0
+ SoftBank/1.0/940N/NJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (940N;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>830P</device_id>
- <device_name>SoftBank 830P</device_name>
+ <device_id>940N</device_id>
+ <device_name>SoftBank 940N</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <width>240</width>
- <heigh>375</heigh>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <color>262144</color>
+ <width>480</width>
+ <heigh>650</heigh>
<emoji_type></emoji_type>
- <wp_width>240</wp_width>
- <wp_heigh>427</wp_heigh>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 930SH
- SoftBank/1.0/930SH/SHJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 940P
+ SoftBank/1.0/940P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/940P/PJP10[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/940P/PJP10 Widgets/Widgets/1.0
+ SoftBank/1.0/940P/PJP10[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (940P;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>930SH</device_id>
- <device_name>SoftBank 930SH</device_name>
+ <device_id>940P</device_id>
+ <device_name>SoftBank 940P</device_name>
<html_spec_type>JXHTML</html_spec_type>
- <color>16777216</color>
+ <color>262144</color>
<gif>true</gif>
<jpeg>true</jpeg>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <width>480</width>
- <heigh>754</heigh>
+ <width>471</width>
+ <heigh>700</heigh>
<emoji_type></emoji_type>
<wp_width>480</wp_width>
<wp_heigh>854</wp_heigh>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 830CA
- SoftBank/1.0/830CA/CAJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 840SH
+ SoftBank/1.0/840SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/840SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/840SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (840SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>830CA</device_id>
- <device_name>SoftBank 830CA</device_name>
+ <device_id>840SH</device_id>
+ <device_name>SoftBank 840SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
<color>262144</color>
<gif>true</gif>
<heigh>350</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>427</wp_heigh>
+ <wp_heigh>400</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
-
- <!--
- 931SH
- SoftBank/1.0/931SH/SHJ001[/serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 941P
+ SoftBank/1.0/941P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/941P/PJP10[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/941P/PJP10 Widgets/Widgets/1.0
+ SoftBank/1.0/941P/PJP10[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/4.08 (941P;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>931SH</device_id>
- <device_name>SoftBank 931SH</device_name>
+ <device_id>941P</device_id>
+ <device_name>SoftBank 941P</device_name>
<html_spec_type>JXHTML</html_spec_type>
<color>262144</color>
<gif>true</gif>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <width>480</width>
- <heigh>824</heigh>
+ <width>471</width>
+ <heigh>700</heigh>
<emoji_type></emoji_type>
<wp_width>480</wp_width>
- <wp_heigh>1024</wp_heigh>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
-
- <!--
- 930SC
- SoftBank/1.0/930SC/SCJ001[/serial] Browser/NetFront/3.4
- -->
+ <!--
+ 942SH
+ SoftBank/1.0/942SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/942SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/942SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/942SH/SHJ001[/Serial] Flash/Flash-Lite/3.1
+ Mozilla/5.0 (942SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>930SC</device_id>
- <device_name>SoftBank 930SC</device_name>
+ <device_id>942SH</device_id>
+ <device_name>SoftBank 942SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
<color>262144</color>
<gif>true</gif>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <width>470</width>
- <heigh>512</heigh>
+ <width>480</width>
+ <heigh>754</heigh>
<emoji_type></emoji_type>
<wp_width>480</wp_width>
- <wp_heigh>800</wp_heigh>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
-
- <!--
- DM003SH
- SoftBank/1.0/DM003SH/SHJ001[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 840P for Biz
+ SoftBank/1.0/840Pe/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/840Pe/PJP10[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/840Pe/PJP10[/Serial] Flash/Flash-Lite/2.0
+ Mozilla/4.08 (840Pe;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>DM003SH</device_id>
- <device_name>SoftBank DM003SH</device_name>
+ <device_id>840Pe</device_id>
+ <device_name>SoftBank 840Pe</device_name>
<html_spec_type>JXHTML</html_spec_type>
<color>262144</color>
<gif>true</gif>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <width>240</width>
- <heigh>350</heigh>
+ <width>236</width>
+ <heigh>369</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_heigh>427</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
- <!--
- 830T
- SoftBank/1.0/830T/TJ001[/serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ 841P
+ SoftBank/1.0/841P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/841P/PJP10[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ ×
+ SoftBank/1.0/841P/PJP10[/Serial] Flash/Flash-Lite/2.0
+ Mozilla/4.08 (841P;SoftBank[;Serial]) NetFront/3.4
+ -->
<device>
- <device_id>830T</device_id>
- <device_name>SoftBank 830T</device_name>
+ <device_id>841P</device_id>
+ <device_name>SoftBank 941P</device_name>
<html_spec_type>JXHTML</html_spec_type>
<color>262144</color>
<gif>true</gif>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <width>235</width>
- <heigh>341</heigh>
+ <width>236</width>
+ <heigh>369</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
- <wp_heigh>400</wp_heigh>
+ <wp_heigh>427</wp_heigh>
+ <cache>307200</cache>
+ <dpi_width>96</dpi_width>
+ <dpi_heigh>96</dpi_heigh>
+ </device>
+ <!--
+ 943SH
+ SoftBank/1.0/943SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/943SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/943SH/SHJ001 Widgets/Widgets/2.0
+ SoftBank/1.0/943SH/SHJ001[/Serial] Flash/Flash-Lite/3.1
+ Mozilla/5.0 (943SH;SoftBank[;Serial]) NetFront/3.5
+ -->
+ <device>
+ <device_id>943SH</device_id>
+ <device_name>SoftBank 943SH</device_name>
+ <html_spec_type>JXHTML</html_spec_type>
+ <color>262144</color>
+ <gif>true</gif>
+ <jpeg>true</jpeg>
+ <png>true</png>
+ <bmp2>false</bmp2>
+ <bmp4>false</bmp4>
+ <width>480</width>
+ <heigh>754</heigh>
+ <emoji_type></emoji_type>
+ <wp_width>480</wp_width>
+ <wp_heigh>854</wp_heigh>
<cache>307200</cache>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!--
+ 942SH KT → 942SHと同じ
+ SoftBank/1.0/942SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/942SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/942SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/942SH/SHJ001[/Serial] Flash/Flash-Lite/3.1
+ Mozilla/5.0 (942SH;SoftBank[;Serial]) NetFront/3.5
+ -->
-
- <!--
- 831T
- SoftBank/1.0/831T/TJ001[/serial] Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!-- Disney Mobile -->
+ <!--
+ SoftBank/1.0/DM004SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/DM004SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/DM004SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/DM004SH/SHJ001[/Serial] Flash/Flash-Lite/3.0
+ Mozilla/5.0 (DM004SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>831T</device_id>
- <device_name>SoftBank 831T</device_name>
+ <device_id>DM004SH</device_id>
+ <device_name>SoftBank DM004SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
<color>262144</color>
<gif>true</gif>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <width>235</width>
- <heigh>341</heigh>
+ <width>240</width>
+ <heigh>350</heigh>
<emoji_type></emoji_type>
<wp_width>240</wp_width>
<wp_heigh>400</wp_heigh>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
-
-
- <!--
- 930P
- SoftBank/1.0/930P/PJP10[/serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
- -->
+ <!--
+ SoftBank/1.0/DM005SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/DM005SH/SHJ001[/Serial] Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ SoftBank/1.0/DM005SH/SHJ001 Widgets/Widgets/1.0
+ SoftBank/1.0/DM005SH/SHJ001[/Serial] Flash/Flash-Lite/3.1
+ Mozilla/5.0 (DM005SH;SoftBank[;Serial]) NetFront/3.5
+ -->
<device>
- <device_id>930P</device_id>
- <device_name>SoftBank 930P</device_name>
+ <device_id>DM005SH</device_id>
+ <device_name>SoftBank DM005SH</device_name>
<html_spec_type>JXHTML</html_spec_type>
<color>262144</color>
<gif>true</gif>
<png>true</png>
<bmp2>false</bmp2>
<bmp4>false</bmp4>
- <width>471</width>
- <heigh>700</heigh>
+ <width>480</width>
+ <heigh>754</heigh>
<emoji_type></emoji_type>
<wp_width>480</wp_width>
<wp_heigh>854</wp_heigh>
<dpi_width>96</dpi_width>
<dpi_heigh>96</dpi_heigh>
</device>
+ <!-- OSAKANA TARO add end -->
<!--
-->
<hex1>f8</hex1>
<hex2>9f</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\90°\82ê \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a0</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\93Ü\82è \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a1</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\89J \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a2</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\90á \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a3</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\97\8b \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a4</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\91ä\95\97 \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a5</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\96¶ \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a6</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\8f¬\89J \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a7</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\89²\97r\8dÀ \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a8</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\89²\8b\8d\8dÀ \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>a9</hex2>
<string></string>
+ <color>#008000</color>
<description>\91o\8eq\8dÀ \97Î</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>aa</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\8aI\8dÀ \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ab</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\8e\82\8eq\8dÀ \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ac</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\89³\8f\97\8dÀ \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ad</hex2>
<string></string>
+ <color>#008000</color>
<description>\93V\94\89\8dÀ \97Î</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ae</hex2>
<string></string>
+ <color>#0000FF</color>
<description>å¶\8dÀ \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>af</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\8eË\8eè\8dÀ \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b0</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\8eR\97r\8dÀ \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b1</hex2>
<string></string>
+ <color>#008000</color>
<description>\90\85\95r\8dÀ \97Î</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b2</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\8b\9b\8dÀ \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b3</hex2>
<string></string>
+ <color>#800080</color>
<description>\83X\83|\81[\83c \8e\87</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b4</hex2>
<string></string>
+ <color>#000000</color>
<description>\96ì\8b\85 \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b5</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\83S\83\8b\83t \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b6</hex2>
<string></string>
+ <color>#008000</color>
<description>\83e\83j\83X \97Î</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b7</hex2>
<string></string>
+ <color>#000000</color>
<description>\83T\83b\83J\81[ \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b8</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\83X\83L\81[ \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>b9</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\83o\83X\83P\83b\83g\83{\81[\83\8b \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ba</hex2>
<string></string>
+ <color>#000000</color>
<description>\83\82\81[\83^\81[\83X\83|\81[\83c \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>bb</hex2>
<string></string>
+ <color>#800080</color>
<description>\83|\83P\83b\83g\83x\83\8b \8e\87</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>bc</hex2>
<string></string>
+ <color>#008000</color>
<description>\93d\8eÔ \97Î</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>bd</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\92n\89º\93S \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>be</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\90V\8a²\90ü \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>bf</hex2>
<string></string>
+ <color>#000000</color>
<description>\8eÔ\81i\83Z\83_\83\93\81j \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c0</hex2>
<string></string>
+ <color>#008000</color>
<description>\8eÔ\81i\82q\82u\81j \97Î</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c1</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83o\83X \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c2</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\91D \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c3</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\94ò\8ds\8b@ \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c4</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\89Æ \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c5</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\83r\83\8b \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c6</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\97X\95Ö\8bÇ \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c7</hex2>
<string></string>
+ <color>#000000</color>
<description>\95a\89@ \90Ô\81^\8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c8</hex2>
<string></string>
+ <color>#800080</color>
<description>\8bâ\8ds \8e\87</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>c9</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\82`\82s\82l \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ca</hex2>
<string></string>
+ <color>#008000</color>
<description>\83z\83e\83\8b \97Î</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>cb</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\83R\83\93\83r\83j \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>cc</hex2>
<string></string>
+ <color>#800080</color>
<description>\83K\83\\83\8a\83\93\83X\83^\83\93\83h \8e\87</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>cd</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\92\93\8eÔ\8fê \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ce</hex2>
<string></string>
+ <color>#000000</color>
<description>\90M\8d\86 \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>cf</hex2>
<string></string>
+ <color>#000000</color>
<description>\83g\83C\83\8c \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d0</hex2>
<string></string>
+ <color>#000000</color>
<description>\83\8c\83X\83g\83\89\83\93 \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d1</hex2>
<string></string>
+ <color>#008000</color>
<description>\8bi\92\83\93X \97Î</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d2</hex2>
<string></string>
+ <color>#800080</color>
<description>\83o\81[ \8e\87</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d3</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\83r\81[\83\8b \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d4</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\83t\83@\81[\83X\83g\83t\81[\83h \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d5</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83u\83e\83B\83b\83N \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d6</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\94ü\97e\89@ \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d7</hex2>
<string></string>
+ <color>#000000</color>
<description>\83J\83\89\83I\83P \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d8</hex2>
<string></string>
+ <color>#000000</color>
<description>\89f\89æ \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>d9</hex2>
<string></string>
+ <color>#000000</color>
<description>\89E\8eÎ\82ß\8fã \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>da</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\97V\89\80\92n \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>db</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\89¹\8ay \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>dc</hex2>
<string></string>
+ <color>#800080</color>
<description>\83A\81[\83g \8e\87</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>dd</hex2>
<string></string>
+ <color>#000000</color>
<description>\89\89\8c\80 \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>de</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83C\83x\83\93\83g \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>df</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\83`\83P\83b\83g \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e0</hex2>
<string></string>
+ <color>#000000</color>
<description>\8bi\89\8c \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e1</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\8bÖ\89\8c \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e2</hex2>
<string></string>
+ <color>#000000</color>
<description>\83J\83\81\83\89 \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e3</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83J\83o\83\93 \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e4</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\96{ \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e5</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83\8a\83{\83\93 \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e6</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83v\83\8c\83[\83\93\83g \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e7</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83o\81[\83X\83f\81[ \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e8</hex2>
<string></string>
+ <color>#000000</color>
<description>\93d\98b \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>e9</hex2>
<string></string>
+ <color>#000000</color>
<description>\8cg\91Ñ\93d\98b \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ea</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\83\81\83\82 \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>eb</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\82s\82u \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ec</hex2>
<string></string>
+ <color>#000000</color>
<description>\83Q\81[\83\80 \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ed</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\82b\82c \90Â</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ee</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83n\81[\83g \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>ef</hex2>
<string></string>
+ <color>#000000</color>
<description>\83X\83y\81[\83h \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f0</hex2>
<string></string>
+ <color>#FF0000</color>
<description>\83_\83C\83\84 \90Ô</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f1</hex2>
<string></string>
+ <color>#000000</color>
<description>\83N\83\89\83u \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f2</hex2>
<string></string>
+ <color>#000000</color>
<description>\96Ú \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f3</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\8e¨ \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f4</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\8eè\81i\83O\81[\81j \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f5</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\8eè\81i\83`\83\87\83L\81j \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f6</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\8eè\81i\83p\81[\81j \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f7</hex2>
<string></string>
+ <color>#000000</color>
<description>\89E\8eÎ\82ß\89º \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f8</hex2>
<string></string>
+ <color>#000000</color>
<description>\8d¶\8eÎ\82ß\8fã \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>f9</hex2>
<string></string>
+ <color>#FF9900</color>
<description>\91« \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>fa</hex2>
<string></string>
+ <color>#000000</color>
<description>\82\82Â \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>fb</hex2>
<string></string>
+ <color>#000000</color>
<description>\8aá\8b¾ \8d\95</description>
</imode>
<ezweb>
<hex1>f8</hex1>
<hex2>fc</hex2>
<string></string>
+ <color>#0000FF</color>
<description>\8eÔ\88Ö\8eq \90Â</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>40</hex2>
<string>鹿</string>
+ <color>#000000</color>
<description>\90V\8c\8e \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>41</hex2>
<string>論</string>
+ <color>#000000</color>
<description>\82â\82â\8c\87\82¯\8c\8e \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>42</hex2>
<string>壟</string>
+ <color>#000000</color>
<description>\94¼\8c\8e \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>43</hex2>
<string>弄</string>
+ <color>#000000</color>
<description>\8eO\93ú\8c\8e \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>44</hex2>
<string>籠</string>
+ <color>#000000</color>
<description>\96\9e\8c\8e \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>45</hex2>
<string>聾</string>
+ <color>#FF9900</color>
<description>\8c¢ \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>46</hex2>
<string>牢</string>
+ <color>#FF9900</color>
<description>\94L \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>47</hex2>
<string>磊</string>
+ <color>#0000FF</color>
<description>\83\8a\83]\81[\83g \90Â</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>48</hex2>
<string>賂</string>
+ <color>#008000</color>
<description>\83N\83\8a\83X\83}\83X \97Î</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>49</hex2>
<string>雷</string>
+ <color>#000000</color>
<description>\8d¶\8eÎ\82ß\89º \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>72</hex2>
<string>沈</string>
+ <color>#000000</color>
<description>phone to \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>73</hex2>
<string>拾</string>
+ <color>#000000</color>
<description>mail to \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>74</hex2>
<string>若</string>
+ <color>#000000</color>
<description>fax to \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>75</hex2>
<string>掠</string>
+ <color>#FF9900</color>
<description>i\83\82\81[\83h \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>76</hex2>
<string>略</string>
+ <color>#FF9900</color>
<description>i\83\82\81[\83h\81i\98g\95t\82«\81j \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>77</hex2>
<string>亮</string>
+ <color>#000000</color>
<description>\83\81\81[\83\8b \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>78</hex2>
<string>兩</string>
+ <color>#000000</color>
<description>\83h\83R\83\82\92ñ\8b\9f \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>79</hex2>
<string>凉</string>
+ <color>#000000</color>
<description>\83h\83R\83\82\83|\83C\83\93\83g \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>7a</hex2>
<string>梁</string>
+ <color>#FF0000</color>
<description>\97L\97¿ \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>7b</hex2>
<string>糧</string>
+ <color>#FF0000</color>
<description>\96³\97¿ \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>7c</hex2>
<string>良</string>
+ <color>#FF0000</color>
<description>ID \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>7d</hex2>
<string>諒</string>
+ <color>#FF0000</color>
<description>\83p\83X\83\8f\81[\83h \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>7e</hex2>
<string>量</string>
+ <color>#FF0000</color>
<description>\8e\9f\8d\80\97L \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>80</hex2>
<string>呂</string>
+ <color>#FF0000</color>
<description>\83N\83\8a\83A \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>81</hex2>
<string>女</string>
+ <color>#0000FF</color>
<description>\83T\81[\83`\81i\92²\82×\82é\81j \90Â</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>82</hex2>
<string>廬</string>
+ <color>#FF0000</color>
<description>\82m\82d\82v \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>83</hex2>
<string>旅</string>
+ <color>#FF0000</color>
<description>\88Ê\92u\8fî\95ñ \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>84</hex2>
<string>濾</string>
+ <color>#000000</color>
<description>\83t\83\8a\81[\83_\83C\83\84\83\8b \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>85</hex2>
<string>礪</string>
+ <color>#000000</color>
<description>\83V\83\83\81[\83v\83_\83C\83\84\83\8b \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>86</hex2>
<string>閭</string>
+ <color>#000000</color>
<description>\83\82\83o\82p \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>87</hex2>
<string>驪</string>
+ <color>#000000</color>
<description>1 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>88</hex2>
<string>麗</string>
+ <color>#000000</color>
<description>2 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>89</hex2>
<string>黎</string>
+ <color>#000000</color>
<description>3 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>8a</hex2>
<string>力</string>
+ <color>#000000</color>
<description>4 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>8b</hex2>
<string>曆</string>
+ <color>#000000</color>
<description>5 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>8c</hex2>
<string>歷</string>
+ <color>#000000</color>
<description>6 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>8d</hex2>
<string>轢</string>
+ <color>#000000</color>
<description>7 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>8e</hex2>
<string>年</string>
+ <color>#000000</color>
<description>8 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>8f</hex2>
<string>憐</string>
+ <color>#000000</color>
<description>9 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>90</hex2>
<string>戀</string>
+ <color>#000000</color>
<description>0 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b0</hex2>
<string>聆</string>
+ <color>#FF0000</color>
<description>\8c\88\92è \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>91</hex2>
<string>撚</string>
+ <color>#FF0000</color>
<description>\8d\95\83n\81[\83g \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>92</hex2>
<string>漣</string>
+ <color>#FF0000</color>
<description>\97h\82ê\82é\83n\81[\83g \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>93</hex2>
<string>煉</string>
+ <color>#FF0000</color>
<description>\8e¸\97ö \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>94</hex2>
<string>璉</string>
+ <color>#FF0000</color>
<description>\83n\81[\83g\82½\82¿\81i\95¡\90\94\83n\81[\83g\81j \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>95</hex2>
<string>秊</string>
+ <color>#008000</color>
<description>\82í\81[\82¢\81i\8að\82µ\82¢\8aç\81j \8e\87</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>96</hex2>
<string>練</string>
+ <color>#FF0000</color>
<description>\82¿\82Á\81i\93{\82Á\82½\8aç\81j \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>97</hex2>
<string>聯</string>
+ <color>#0000FF</color>
<description>\82ª\82\81`\81i\97\8e\92_\82µ\82½\8aç\81j \90Â</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>98</hex2>
<string>輦</string>
+ <color>#008000</color>
<description>\82à\82¤\82â\82¾\81`\81i\94ß\82µ\82¢\8aç\81j \97Î</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>99</hex2>
<string>蓮</string>
+ <color>#0000FF</color>
<description>\82Ó\82ç\82Ó\82ç \90Â</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>9a</hex2>
<string>連</string>
+ <color>#FF0000</color>
<description>\83O\83b\83h\81i\8fã\8cü\82«\96î\88ó\81j \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>9b</hex2>
<string>鍊</string>
+ <color>#FF0000</color>
<description>\82é\82ñ\82é\82ñ \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>9c</hex2>
<string>列</string>
+ <color>#FF0000</color>
<description>\82¢\82¢\8bC\95ª\81i\89·\90ò\81j \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>9d</hex2>
<string>劣</string>
+ <color>#008000</color>
<description>\82©\82í\82¢\82¢ \8e\87</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>9e</hex2>
<string>咽</string>
+ <color>#FF0000</color>
<description>\83L\83X\83}\81[\83N \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>9f</hex2>
<string>烈</string>
+ <color>#FF9900</color>
<description>\82Ò\82©\82Ò\82©\81i\90V\82µ\82¢\81j \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a0</hex2>
<string>裂</string>
+ <color>#FF9900</color>
<description>\82Ð\82ç\82ß\82« \83I\83\8c\83\93\83W</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a1</hex2>
<string>說</string>
+ <color>#000000</color>
<description>\82Þ\82©\82Á\81i\93{\82è\81j \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a2</hex2>
<string>廉</string>
+ <color>#FF0000</color>
<description>\83p\83\93\83` \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a3</hex2>
<string>念</string>
+ <color>#000000</color>
<description>\94\9a\92e \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a4</hex2>
<string>捻</string>
+ <color>#FF0000</color>
<description>\83\80\81[\83h \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a5</hex2>
<string>殮</string>
+ <color>#0000FF</color>
<description>\83o\83b\83h\81i\89º\8cü\82«\96î\88ó\81j \90Â</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a6</hex2>
<string>簾</string>
+ <color>#0000FF</color>
<description>\96°\82¢(\90\87\96°) \90Â</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a7</hex2>
<string>獵</string>
+ <color>#FF0000</color>
<description>exclamation \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>a8</hex2>
<string>令</string>
- <description>exclamation&question \8e\87</description>
+ <color>#800080</color>
+ <description>exclamation&question \8e\87</description>
</imode>
<ezweb>
<A>3</A>
<hex1>f9</hex1>
<hex2>a9</hex2>
<string>囹</string>
+ <color>#FF0000</color>
<description>exclamation\81~2 \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>aa</hex2>
<string>寧</string>
+ <color>#FF0000</color>
<description>\82Ç\82ñ\82Á\81i\8fÕ\8c\82\81j \90Ô</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>ab</hex2>
<string>嶺</string>
+ <color>#000000</color>
<description>\82 \82¹\82 \82¹\81i\94ò\82Ñ\8eU\82é\8a¾\81j \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>ac</hex2>
<string>怜</string>
+ <color>#000000</color>
<description>\82½\82ç\81[\82Á\81i\8a¾\81j \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>ad</hex2>
<string>玲</string>
+ <color>#000000</color>
<description>\83_\83b\83V\83\85\81i\91\96\82è\8fo\82·\82³\82Ü\81j \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>ae</hex2>
<string>瑩</string>
+ <color>#000000</color>
<description>\81[\81i\92·\89¹\8bL\8d\86\82P\81j \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>af</hex2>
<string>羚</string>
+ <color>#000000</color>
<description>\81[\81i\92·\89¹\8bL\8d\86\82Q\81j \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>50</hex2>
<string>縷</string>
+ <color>#000000</color>
<description>\83J\83`\83\93\83R \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>51</hex2>
<string>陋</string>
+ <color>#000000</color>
<description>\82Ó\82\82ë \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>52</hex2>
<string>勒</string>
+ <color>#000000</color>
<description>\83y\83\93 \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>55</hex2>
<string>凌</string>
+ <color>#000000</color>
<description>\90l\89e \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>56</hex2>
<string>稜</string>
+ <color>#000000</color>
<description>\82¢\82· \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>57</hex2>
<string>綾</string>
+ <color>#000000</color>
<description>\96é \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>5b</hex2>
<string>拏</string>
+ <color>#000000</color>
<description>soon \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>5c</hex2>
<string>樂</string>
+ <color>#000000</color>
<description>on \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>5d</hex2>
<string>諾</string>
+ <color>#000000</color>
<description>end \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>5e</hex2>
<string>丹</string>
+ <color>#000000</color>
<description>\8e\9e\8cv \8d\95</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b1</hex2>
<string>鈴</string>
+ <color>#FF9900</color>
<description>i\83A\83v\83\8a</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b2</hex2>
<string>零</string>
+ <color>#FF9900</color>
<description>i\83A\83v\83\8a\81i\98g\95t\82«\81j</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b3</hex2>
<string>靈</string>
+ <color>#0000FF</color>
<description>T\83V\83\83\83c\81i\83{\81[\83_\81[\81j</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b4</hex2>
<string>領</string>
+ <color>#000000</color>
<description>\82ª\82Ü\8cû\8dà\95z</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b5</hex2>
<string>例</string>
+ <color>#FF0000</color>
<description>\89»\8fÏ</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b6</hex2>
<string>禮</string>
+ <color>#0000FF</color>
<description>\83W\81[\83\93\83Y</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b7</hex2>
<string>醴</string>
+ <color>#0000FF</color>
<description>\83X\83m\83{</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b8</hex2>
<string>隸</string>
+ <color>#FF9900</color>
<description>\83`\83\83\83y\83\8b</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>b9</hex2>
<string>惡</string>
+ <color>#800000</color>
<description>\83h\83A</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>ba</hex2>
<string>了</string>
+ <color>#800000</color>
<description>\83h\83\8b\91Ü</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>bb</hex2>
<string>僚</string>
+ <color>#000000</color>
<description>\83p\83\\83R\83\93</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>bc</hex2>
<string>寮</string>
+ <color>#FF0000</color>
<description>\83\89\83u\83\8c\83^\81[</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>bd</hex2>
<string>尿</string>
+ <color>#000000</color>
<description>\83\8c\83\93\83`</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>be</hex2>
<string>料</string>
+ <color>#008000</color>
<description>\89\94\95M</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>bf</hex2>
<string>樂</string>
+ <color>#FF9900</color>
<description>\89¤\8a¥</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C0</hex2>
<string>燎</string>
+ <color>#800080</color>
<description>\8ew\97Ö</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C1</hex2>
<string>療</string>
+ <color>#000000</color>
<description>\8d»\8e\9e\8cv</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C2</hex2>
<string>蓼</string>
+ <color>#000000</color>
<description>\8e©\93]\8eÔ</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C3</hex2>
<string>遼</string>
+ <color>#008000</color>
<description>\93\92\82Ì\82Ý</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C4</hex2>
<string>龍</string>
+ <color>#000000</color>
<description>\98r\8e\9e\8cv</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C5</hex2>
<string>暈</string>
+ <color>#008000</color>
<description>\8dl\82¦\82Ä\82é\8aç</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C6</hex2>
<string>阮</string>
+ <color>#800080</color>
<description>\82Ù\82Á\82Æ\82µ\82½\8aç</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C7</hex2>
<string>劉</string>
+ <color>#0000FF</color>
<description>\97â\82â\8a¾</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C8</hex2>
<string>杻</string>
+ <color>#0000FF</color>
<description>\97â\82â\8a¾2</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>C9</hex2>
<string>柳</string>
+ <color>#FF0000</color>
<description>\82Õ\82Á\82\82Á\82\82È\8aç</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>CA</hex2>
<string>流</string>
+ <color>#800080</color>
<description>\83{\83P\81[\82Á\82Æ\82µ\82½\8aç</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>CB</hex2>
<string>溜</string>
+ <color>#FF1493</color>
<description>\96Ú\82ª\83n\81[\83g</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>CC</hex2>
<string>琉</string>
+ <color>#FF0000</color>
<description>\8ew\82ÅOK</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>CD</hex2>
<string>留</string>
+ <color>#FF0000</color>
<description>\82 \82Á\82©\82ñ\82×\81[</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>CE</hex2>
<string>硫</string>
+ <color>#FF1493</color>
<description>\83E\83B\83\93\83N</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>CF</hex2>
<string>紐</string>
+ <color>#FF1493</color>
<description>\82¤\82ê\82µ\82¢\8aç</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D0</hex2>
<string>類</string>
+ <color>#000080</color>
<description>\82ª\82Ü\82ñ\8aç</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D1</hex2>
<string>六</string>
+ <color>#FF9900</color>
<description>\94L2</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D2</hex2>
<string>戮</string>
+ <color>#000080</color>
<description>\8b\83\82«\8aç</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D3</hex2>
<string>陸</string>
+ <color>#000080</color>
<description>\97Ü</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D4</hex2>
<string>倫</string>
+ <color>#FF0000</color>
<description>NG</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D5</hex2>
<string>崙</string>
+ <color>#0000FF</color>
<description>\83N\83\8a\83b\83v</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D6</hex2>
<string>淪</string>
+ <color>#000000</color>
<description>\83R\83s\81[\83\89\83C\83g</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D7</hex2>
<string>輪</string>
+ <color>#000000</color>
<description>\83g\83\8c\81[\83h\83}\81[\83N</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D8</hex2>
<string>律</string>
+ <color>#000000</color>
<description>\91\96\82é\90l</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>D9</hex2>
<string>慄</string>
+ <color>#FF0000</color>
<description>\83}\83\8b\94é</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>DA</hex2>
<string>栗</string>
+ <color>#008000</color>
<description>\83\8a\83T\83C\83N\83\8b</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>DB</hex2>
<string>率</string>
+ <color>#000000</color>
<description>\83\8c\83W\83X\83^\81[\83h\83g\83\8c\81[\83h\83}\81[\83N</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>DC</hex2>
<string>隆</string>
+ <color>#FF9900</color>
<description>\8aë\8c¯\81E\8cx\8d\90</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>DD</hex2>
<string>利</string>
+ <color>#FF0000</color>
<description>\8bÖ\8e~</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>DE</hex2>
<string>吏</string>
+ <color>#0000FF</color>
<description>\8bó\8eº\81E\8bó\90È\81E\8bó\8eÔ</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>DF</hex2>
<string>履</string>
+ <color>#FF0000</color>
<description>\8d\87\8ai\83}\81[\83N</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E0</hex2>
<string>易</string>
+ <color>#FF0000</color>
<description>\96\9e\8eº\81E\96\9e\90È\81E\96\9e\8eÔ</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E1</hex2>
<string>李</string>
+ <color>#000000</color>
<description>\96î\88ó\8d¶\89E</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E2</hex2>
<string>梨</string>
+ <color>#000000</color>
<description>\96î\88ó\8fã\89º</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E3</hex2>
<string>泥</string>
+ <color>#008000</color>
<description>\8aw\8dZ</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E4</hex2>
<string>理</string>
+ <color>#0000FF</color>
<description>\94g</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E5</hex2>
<string>痢</string>
+ <color>#0000FF</color>
<description>\95x\8em\8eR</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E6</hex2>
<string>罹</string>
+ <color>#008000</color>
<description>\83N\83\8d\81[\83o\81[</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E7</hex2>
<string>裏</string>
+ <color>#FF0000</color>
<description>\82³\82\82ç\82ñ\82Ú</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E8</hex2>
<string>裡</string>
+ <color>#FF0000</color>
<description>\83`\83\85\81[\83\8a\83b\83v</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>E9</hex2>
<string>里</string>
+ <color>#FF9900</color>
<description>\83o\83i\83i</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>EA</hex2>
<string>離</string>
+ <color>#FF0000</color>
<description>\82è\82ñ\82²</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>EB</hex2>
<string>匿</string>
+ <color>#008000</color>
<description>\89è</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>EC</hex2>
<string>溺</string>
+ <color>#FF0000</color>
<description>\82à\82Ý\82¶</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>ED</hex2>
<string>吝</string>
+ <color>#FF1493</color>
<description>\8d÷</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>EE</hex2>
<string>燐</string>
+ <color>#000000</color>
<description>\82¨\82É\82¬\82è</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>EF</hex2>
<string>璘</string>
+ <color>#FF0000</color>
<description>\83V\83\87\81[\83g\83P\81[\83L</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F0</hex2>
<string>藺</string>
+ <color>#800000</color>
<description>\82Æ\82Á\82\82è\81i\82¨\82¿\82å\82±\95t\82«\81j</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F1</hex2>
<string>隣</string>
+ <color>#FF9900</color>
<description>\82Ç\82ñ\82Ô\82è</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F2</hex2>
<string>鱗</string>
+ <color>#800000</color>
<description>\83p\83\93</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F3</hex2>
<string>麟</string>
+ <color>#800000</color>
<description>\82©\82½\82Â\82Þ\82è</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F4</hex2>
<string>林</string>
+ <color>#FF9900</color>
<description>\82Ð\82æ\82±</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F5</hex2>
<string>淋</string>
+ <color>#000080</color>
<description>\83y\83\93\83M\83\93</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F6</hex2>
<string>臨</string>
+ <color>#0000FF</color>
<description>\8b\9b</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F7</hex2>
<string>立</string>
+ <color>#FF9900</color>
<description>\82¤\82Ü\82¢\81I</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F8</hex2>
<string>笠</string>
+ <color>#FF9900</color>
<description>\83E\83b\83V\83b\83V</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>F9</hex2>
<string>粒</string>
+ <color>#800000</color>
<description>\83E\83}</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>FA</hex2>
<string>狀</string>
+ <color>#FF9900</color>
<description>\83u\83^</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>FB</hex2>
<string>炙</string>
+ <color>#800080</color>
<description>\83\8f\83C\83\93\83O\83\89\83X</description>
</imode>
<ezweb>
<hex1>f9</hex1>
<hex2>FC</hex2>
<string>識</string>
+ <color>#800080</color>
<description>\82°\82Á\82»\82è</description>
</imode>
<ezweb>
#define HTTP_X_CHXJ_VERSION "X-Chxj-Version"
+#define HTTP_X_CHXJ_INFO "X-Chxj-Info"
+
extern void chxj_add_device_env(request_rec *r, device_table *spec);
#endif
extern char *chxj_rencoding(
request_rec *r,
const char *src,
- apr_size_t *len);
+ apr_size_t *len,
+ const char *enc);
extern char *chxj_encoding_parameter(
request_rec *r,
char **obuf,
apr_size_t *olen);
-
-char *chxj_iconv(request_rec *r, apr_pool_t *pool, const char *src, apr_size_t *len, const char *from, const char *to);
#endif
device_table* spec,
const char* s);
+extern char*
+chxj_img_rewrite_parameter(
+ request_rec *r,
+ mod_chxj_config *conf,
+ const char *href);
+
#endif
apr_pool_t* p,
mod_chxj_config* conf);
+extern void chxj_load_device_tsv_data(
+ apr_file_t* fp,
+ apr_pool_t* p,
+ mod_chxj_config* conf);
+
#endif
struct device_table_t {
struct device_table_t* next;
+ int provider; /* DOCOMO|AU|SOFTBANK|UNKNOWN */
const char* device_id;
const char* device_name;
spec_type html_spec_type;
/*--------------------------------------------------------------------------*/
int color;
char* emoji_type;
+ char* output_encoding; /* Output encoding */
};
typedef struct device_table_list_t device_table_list;
request_rec *r,
const char *user_agent);
+extern device_table* chxj_specified_device_from_xml(
+ request_rec *r,
+ const char *user_agent);
+
+extern device_table* chxj_specified_device_from_tsv(
+ request_rec *r,
+ device_table *spec,
+ const char *user_agent);
+
#endif
#define PACKAGE_NAME "mod_chxj"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "mod_chxj 0.13.0-rc"
+#define PACKAGE_STRING "mod_chxj 0.13.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "mod_chxj"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "0.13.0-rc"
+#define PACKAGE_VERSION "0.13.0"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
-#define VERSION "0.13.0-rc"
+#define VERSION "0.13.0"
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
#include "apr_dso.h"
#include "apr_general.h"
#include "apr_pools.h"
+#include "apr_hash.h"
#if defined(AP_NEED_SET_MUTEX_PERMS)
# include "unixd.h"
char hex1byte;
char hex2byte;
char* string;
+ char* color;
char *description;
};
tagMARQUEE,
tagLINK,
tagNLMARK, /* New Line Code */
+ tagOBJECT,
+ tagPARAM,
+ tagCAPTION,
} tag_type;
typedef struct mod_chxj_config mod_chxj_config;
device_table_list *devices;
emoji_t *emoji;
emoji_t *emoji_tail;
+ int imode_emoji_color;
char *server_side_encoding;
char *dir; /* for LOG */
cookie_store_type_t cookie_store_type;
int cookie_lazy_mode;
char *cookie_dbm_type;
+
+ int detect_device_type; /* XML|TSV */
#if defined(USE_MYSQL_COOKIE)
mysql_t mysql;
chxj_new_line_type_t new_line_type;
char *post_log; /* post log environment name. */
+
+ apr_array_header_t *device_keys; /* TSV header array */
+ apr_hash_t *device_hash; /* TSV device data hash table */
+
+ int image_rewrite;
+ char *image_rewrite_url;
+ int image_rewrite_mode;
};
#define IS_COOKIE_STORE_DBM(X) ((X) == COOKIE_STORE_TYPE_DBM)
#define CHXJ_IMG_OFF (1)
#define CHXJ_IMG_NONE (0)
+#define CHXJ_IMODE_EMOJI_COLOR_ON (3)
+#define CHXJ_IMODE_EMOJI_COLOR_AUTO (2)
+#define CHXJ_IMODE_EMOJI_COLOR_OFF (1)
+#define CHXJ_IMODE_EMOJI_COLOR_NONE (0)
+
+#define CHXJ_ADD_DETECT_DEVICE_TYPE_TSV (1)
+#define CHXJ_ADD_DETECT_DEVICE_TYPE_NONE (0)
+
+#define CHXJ_PROVIDER_UNKNOWN (0)
+#define CHXJ_PROVIDER_DOCOMO (1)
+#define CHXJ_PROVIDER_AU (2)
+#define CHXJ_PROVIDER_SOFTBANK (3)
+
+#define CHXJ_IMG_REWRITE_ON (2)
+#define CHXJ_IMG_REWRITE_OFF (1)
+#define CHXJ_IMG_REWRITE_NONE (0)
+
+#define CHXJ_IMG_REWRITE_MODE_ALL (3)
+#define CHXJ_IMG_REWRITE_MODE_USER (2)
+#define CHXJ_IMG_REWRITE_MODE_TAG (1)
+#define CHXJ_IMG_REWRITE_MODE_NONE (0)
+
+#define CHXJ_IMG_REWRITE_URL_STRING "_x-chxj_imgrewrite=on"
+#define CHXJ_IMG_X_HTTP_IMAGE_FILENAME "X-Chxj-Image-Filename"
+#define CHXJ_IMG_X_HTTP_IMAGE_TYPE "X-Chxj-Image-Type"
#define DBG(X,args...) chxj_log_rerror(APLOG_MARK,APLOG_DEBUG,0,(request_rec*)(X),##args)
#define SDBG(X,Y) chxj_log_error(APLOG_MARK,APLOG_DEBUG,0,(X),(Y))
apr_size_t *len
);
-extern void chxj_dump_string(request_rec *r, const char *filename, int line, const char *title, const char *str, apr_size_t len);
-
#define IMAGE_CACHE_LIMIT_FMT_LEN (20)
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
libmod_chxj_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libmod_chxj_la_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
DDEFS = @DDEFS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
OBJEXT = @OBJEXT@
OPENSSL_PATH = @OPENSSL_PATH@
PACKAGE = @PACKAGE@
PCRE_CONFIG = @PCRE_CONFIG@
QDEFS = @QDEFS@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
apr_table_setn(r->headers_in, HTTP_X_CHXJ_CACHE, apr_psprintf(r->pool, "%d", spec->cache));
apr_table_setn(r->headers_in, HTTP_X_CHXJ_VERSION, apr_pstrdup(r->pool, PACKAGE_VERSION));
+
+ mod_chxj_config* dconf;
+ dconf = chxj_get_module_config(r->per_dir_config, &chxj_module);
+ if (dconf->detect_device_type == CHXJ_ADD_DETECT_DEVICE_TYPE_TSV ){
+ if (spec->device_id != NULL &&
+ dconf->device_hash != NULL){
+ char *key = apr_psprintf(r->pool,"%d.%s",spec->provider,spec->device_id);
+ apr_table_t *ht = apr_hash_get(dconf->device_hash,key,APR_HASH_KEY_STRING);
+
+ if(ht != NULL){
+ int i;
+ for ( i=0; i< dconf->device_keys->nelts; i++){
+ const char *k = ((const char**)dconf->device_keys->elts)[i];
+ char *val = (char *)apr_table_get(ht,k);
+ if(val != NULL){
+ char *info_key = apr_psprintf(r->pool,"%s-%s",HTTP_X_CHXJ_INFO,k);
+ apr_table_setn(r->headers_in, info_key, val);
+ }
+ }
+ }
+ }
+ }
DBG(r, "REQ[%X] end chxj_add_device_env()", (unsigned int)(apr_size_t)r);
}
s_chtml10_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagParam */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ NULL,
+ NULL,
+ },
};
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml10->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml10->conf,value);
attr_src = value;
#else
value = chxj_img_conv(r, spec, value);
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml10->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml10->conf,value);
attr_src = value;
#endif
}
static void s_init_chtml20(chtml20_t *chtml, Doc *doc, request_rec *r, device_table *spec);
-static int s_chtml20_search_emoji(chtml20_t *chtml, char *txt, char **rslt);
+static int s_chtml20_search_emoji(chtml20_t *chtml, char *txt, char **rslt, Node *node);
static char *s_chtml20_chxjif_tag(void *pdoc, Node *node);
static char *s_chtml20_text_tag(void *pdoc, Node *node);
s_chtml20_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagParam */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ NULL,
+ NULL,
+ },
};
/**
* EMOJI is specified.
* @param rslt [o] The pointer to the pointer that stores the result is
* specified.
+ * @param node [i] The current node to check whether tag is span/font for CHXJ_IMODE_EMOJI_COLOR_AUTO.
* @return When corresponding EMOJI exists, it returns it excluding 0.
*/
static int
-s_chtml20_search_emoji(chtml20_t *chtml20, char *txt, char **rslt)
+s_chtml20_search_emoji(chtml20_t *chtml20, char *txt, char **rslt, Node *node)
{
emoji_t *ee;
request_rec *r;
(*rslt)[0] = ee->imode->hex1byte & 0xff;
(*rslt)[1] = ee->imode->hex2byte & 0xff;
(*rslt)[2] = 0;
+
+ if(chtml20->conf->imode_emoji_color >= CHXJ_IMODE_EMOJI_COLOR_AUTO ){
+ if(ee->imode->color != NULL){
+ if(chtml20->conf->imode_emoji_color == CHXJ_IMODE_EMOJI_COLOR_AUTO && node != NULL ){
+ if(strcasecmp(node->parent->name, "span") == 0 ||
+ strcasecmp(node->parent->name, "font") == 0 ){
+ return strlen(ee->imode->string);
+ }
+ }
+ char *tmp = apr_pstrdup(r->pool,*rslt);
+ *rslt = apr_psprintf(r->pool,
+ "<font color=\"%s\">%s</font>",ee->imode->color,tmp);
+ }
+ }
return strlen(ee->imode->string);
}
char *out;
int rtn;
- rtn = s_chtml20_search_emoji(chtml20, (char *)&src[ii], &out);
+ rtn = s_chtml20_search_emoji(chtml20, (char *)&src[ii], &out, NULL);
if (rtn) {
W_V(out);
ii+=(rtn - 1);
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml20->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml20->conf,value);
attr_src = value;
#else
value = chxj_img_conv(r, spec, value);
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml20->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml20->conf,value);
attr_src = value;
#endif
}
W_V(attr_align);
W_L("\"");
}
- W_L("<h3");
- if (attr_align) {
- W_L(" align=\"");
- W_V(attr_align);
- W_L("\"");
- }
W_L(">");
return chtml20->out;
for (ii=0; ii<qs_get_node_size(doc,child); ii++) {
char *out;
- int rtn = s_chtml20_search_emoji(chtml20, &textval[ii], &out);
+ int rtn = s_chtml20_search_emoji(chtml20, &textval[ii], &out, child);
if (rtn != 0) {
tdst = qs_out_apr_pstrcat(r, tdst, out, &tdst_len);
ii+=(rtn - 1);
static void s_init_chtml30(chtml30_t *chtml, Doc *doc, request_rec *r, device_table *spec);
-static int s_chtml30_search_emoji(chtml30_t *chtml, char *txt, char **rslt);
+static int s_chtml30_search_emoji(chtml30_t *chtml, char *txt, char **rslt, Node *node);
static css_prop_list_t *s_chtml30_push_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
static css_prop_list_t *s_chtml30_nopush_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
s_chtml30_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagParam */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ NULL,
+ NULL,
+ },
};
* EMOJI is specified.
* @param rslt [o] The pointer to the pointer that stores the result is
* specified.
+ * @param node [i] The current node to check whether tag is span/font for CHXJ_IMODE_EMOJI_COLOR_AUTO
* @return When corresponding EMOJI exists, it returns it excluding 0.
*/
static int
-s_chtml30_search_emoji(chtml30_t *chtml30, char *txt, char **rslt)
+s_chtml30_search_emoji(chtml30_t *chtml30, char *txt, char **rslt, Node *node)
{
emoji_t *ee;
request_rec *r;
(*rslt)[0] = ee->imode->hex1byte & 0xff;
(*rslt)[1] = ee->imode->hex2byte & 0xff;
(*rslt)[2] = 0;
+
+ if(chtml30->conf->imode_emoji_color >= CHXJ_IMODE_EMOJI_COLOR_AUTO ){
+ if(ee->imode->color != NULL){
+ if(chtml30->conf->imode_emoji_color == CHXJ_IMODE_EMOJI_COLOR_AUTO && node != NULL ){
+ if(strcasecmp(node->parent->name, "span") == 0 ||
+ strcasecmp(node->parent->name, "font") == 0 ){
+ return strlen(ee->imode->string);
+ }
+ }
+ char *tmp = apr_pstrdup(r->pool,*rslt);
+ *rslt = apr_psprintf(r->pool,
+ "<font color=\"%s\">%s</font>",ee->imode->color,tmp);
+ }
+ }
+ return strlen(ee->imode->string);
+
return strlen(ee->imode->string);
}
char *out;
int rtn;
- rtn = s_chtml30_search_emoji(chtml30, (char *)&src[ii], &out);
+ rtn = s_chtml30_search_emoji(chtml30, (char *)&src[ii], &out, NULL);
if (rtn) {
W_V(out);
ii+=(rtn - 1);
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml30->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml30->conf,value);
attr_src = value;
#else
value = chxj_img_conv(r,spec,value);
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml30->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml30->conf,value);
attr_src = value;
#endif
}
W_V(attr_value);
W_L("\"");
}
-
- W_L("<li");
- if (attr_type) {
- W_L(" type=\"");
- W_V(attr_type);
- W_L("\"");
- }
- if (attr_value) {
- W_L(" value=\"");
- W_V(attr_value);
- W_L("\"");
- }
W_L(">");
return chtml30->out;
}
W_V(attr_align);
W_L("\"");
}
- W_L("<h5");
- if (attr_align) {
- W_L(" align=\"");
- W_V(attr_align);
- W_L("\"");
- }
W_L(">");
return chtml30->out;
else if (STRCASEEQ('s','S',"style", name) && value && *value) {
attr_style = value;
}
- }
-
- W_L("<textarea");
- if (attr_accesskey) {
- W_L(" accesskey=\"");
- W_V(attr_accesskey);
- W_L("\"");
- }
- if (attr_name) {
- W_L(" name=\"");
- W_V(attr_name);
- W_L("\"");
- }
- if (attr_rows) {
- W_L(" rows=\"");
- W_V(attr_rows);
- W_L("\"");
- }
- if (attr_cols) {
- W_L(" cols=\"");
- W_V(attr_cols);
- W_L("\"");
- }
- if (attr_istyle) {
- W_L(" istyle=\"");
- W_V(attr_istyle);
- W_L("\"");
}
if (IS_CSS_ON(chtml30->entryp)) {
for (ii=0; ii<qs_get_node_size(doc,child); ii++) {
char* out;
- int rtn = s_chtml30_search_emoji(chtml30, &textval[ii], &out);
+ int rtn = s_chtml30_search_emoji(chtml30, &textval[ii], &out, child);
if (rtn) {
tdst = qs_out_apr_pstrcat(r, tdst, out, &tdst_len);
ii+=(rtn - 1);
W_V(attr_loop);
W_L("\"");
}
- W_L("<marquee");
- if (attr_direction) {
- W_L(" direction=\"");
- W_V(attr_direction);
- W_L("\"");
- }
- if (attr_behavior) {
- W_L(" behavior=\"");
- W_V(attr_behavior);
- W_L("\"");
- }
- if (attr_loop) {
- W_L(" loop=\"");
- W_V(attr_loop);
- W_L("\"");
- }
W_L(">");
chtml30_flags_t *flg = (chtml30_flags_t *)apr_palloc(doc->pool, sizeof(chtml30_flags_t));
static void s_init_chtml40(chtml40_t *chtml, Doc *doc, request_rec *r, device_table *spec);
-static int s_chtml40_search_emoji(chtml40_t *chtml, char *txt, char **rslt);
+static int s_chtml40_search_emoji(chtml40_t *chtml, char *txt, char **rslt, Node *node);
static css_prop_list_t *s_chtml40_push_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
static css_prop_list_t *s_chtml40_nopush_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
s_chtml40_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagParam */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ NULL,
+ NULL,
+ },
};
* EMOJI is specified.
* @param rslt [o] The pointer to the pointer that stores the result is
* specified.
+ * @param node [i] The current node to check whether tag is span/font for CHXJ_IMODE_EMOJI_COLOR_AUTO.
* @return When corresponding EMOJI exists, it returns it excluding 0.
*/
static int
-s_chtml40_search_emoji(chtml40_t *chtml40, char *txt, char **rslt)
+s_chtml40_search_emoji(chtml40_t *chtml40, char *txt, char **rslt, Node *node)
{
emoji_t *ee;
request_rec *r;
(*rslt)[0] = ee->imode->hex1byte & 0xff;
(*rslt)[1] = ee->imode->hex2byte & 0xff;
(*rslt)[2] = 0;
+
+ if(chtml40->conf->imode_emoji_color >= CHXJ_IMODE_EMOJI_COLOR_AUTO ){
+ if(ee->imode->color != NULL){
+ if(chtml40->conf->imode_emoji_color == CHXJ_IMODE_EMOJI_COLOR_AUTO && node != NULL ){
+ if(strcasecmp(node->parent->name, "span") == 0 ||
+ strcasecmp(node->parent->name, "font") == 0 ){
+ return strlen(ee->imode->string);
+ }
+ }
+ char *tmp = apr_pstrdup(r->pool,*rslt);
+ *rslt = apr_psprintf(r->pool,
+ "<font color=\"%s\">%s</font>",ee->imode->color,tmp);
+ }
+ }
return strlen(ee->imode->string);
}
char *out;
int rtn;
- rtn = s_chtml40_search_emoji(chtml40, (char *)&src[ii], &out);
+ rtn = s_chtml40_search_emoji(chtml40, (char *)&src[ii], &out, NULL);
if (rtn) {
W_V(out);
ii+=(rtn - 1);
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml40->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml40->conf,value);
attr_src = value;
#else
value = chxj_img_conv(r,spec,value);
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml40->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml40->conf,value);
attr_src = value;
#endif
}
W_V(attr_start);
W_L("\"");
}
- W_L("<ol");
- if (attr_type) {
- W_L(" type=\"");
- W_V(attr_type);
- W_L("\"");
- }
- if (attr_start) {
- W_L(" start=\"");
- W_V(attr_start);
- W_L("\"");
- }
W_L(">");
return chtml40->out;
W_V(attr_align);
W_L("\"");
}
- W_L("<h5");
- if (attr_align) {
- W_L(" align=\"");
- W_V(attr_align);
- W_L("\"");
- }
W_L(">");
return chtml40->out;
for (ii=0; ii<qs_get_node_size(doc,child); ii++) {
char* out;
- int rtn = s_chtml40_search_emoji(chtml40, &textval[ii], &out);
+ int rtn = s_chtml40_search_emoji(chtml40, &textval[ii], &out, child);
if (rtn) {
tdst = qs_out_apr_pstrcat(r, tdst, out, &tdst_len);
ii+=(rtn - 1);
static void s_init_chtml50(chtml50_t *chtml, Doc *doc, request_rec *r, device_table *spec);
-static int s_chtml50_search_emoji(chtml50_t *chtml, char *txt, char **rslt);
+static int s_chtml50_search_emoji(chtml50_t *chtml, char *txt, char **rslt, Node *node);
static css_prop_list_t *s_chtml50_push_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
static css_prop_list_t *s_chtml50_nopush_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
s_chtml50_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagParam */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ NULL,
+ NULL,
+ },
};
* EMOJI is specified.
* @param rslt [o] The pointer to the pointer that stores the result is
* specified.
+ * @param node [i] The current node to check whether tag is span/font for CHXJ_IMODE_EMOJI_COLOR_AUTO.
* @return When corresponding EMOJI exists, it returns it excluding 0.
*/
static int
-s_chtml50_search_emoji(chtml50_t *chtml50, char *txt, char **rslt)
+s_chtml50_search_emoji(chtml50_t *chtml50, char *txt, char **rslt, Node *node)
{
emoji_t *ee;
request_rec *r;
(*rslt)[0] = ee->imode->hex1byte & 0xff;
(*rslt)[1] = ee->imode->hex2byte & 0xff;
(*rslt)[2] = 0;
+
+ if(chtml50->conf->imode_emoji_color >= CHXJ_IMODE_EMOJI_COLOR_AUTO ){
+ if(ee->imode->color != NULL){
+ if(chtml50->conf->imode_emoji_color == CHXJ_IMODE_EMOJI_COLOR_AUTO && node != NULL ){
+ if(strcasecmp(node->parent->name, "span") == 0 ||
+ strcasecmp(node->parent->name, "font") == 0 ){
+ return strlen(ee->imode->string);
+ }
+ }
+ char *tmp = apr_pstrdup(r->pool,*rslt);
+ *rslt = apr_psprintf(r->pool,
+ "<font color=\"%s\">%s</font>",ee->imode->color,tmp);
+ }
+ }
return strlen(ee->imode->string);
}
char *out;
int rtn;
- rtn = s_chtml50_search_emoji(chtml50, (char *)&src[ii], &out);
+ rtn = s_chtml50_search_emoji(chtml50, (char *)&src[ii], &out, NULL);
if (rtn) {
W_V(out);
ii+=(rtn - 1);
W_V(attr_vlink);
W_L("\"");
}
-
- W_L("<body");
- if (attr_bgcolor) {
- attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
- W_L(" bgcolor=\"");
- W_V(attr_bgcolor);
- W_L("\"");
- }
- if (attr_text) {
- attr_text = chxj_css_rgb_func_to_value(doc->pool, attr_text);
- W_L(" text=\"");
- W_V(attr_text);
- W_L("\"");
- }
- if (attr_link) {
- attr_link = chxj_css_rgb_func_to_value(doc->pool, attr_link);
- W_L(" link=\"");
- W_V(attr_link);
- W_L("\"");
- }
- if (attr_alink) {
- attr_alink = chxj_css_rgb_func_to_value(doc->pool, attr_alink);
- W_L(" alink=\"");
- W_V(attr_alink);
- W_L("\"");
- }
- if (attr_vlink) {
- attr_vlink = chxj_css_rgb_func_to_value(doc->pool, attr_vlink);
- W_L(" vlink=\"");
- W_V(attr_vlink);
- W_L("\"");
- }
W_L(">");
return chtml50->out;
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml50->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml50->conf,value);
attr_src = value;
#else
value = chxj_img_conv(r,spec,value);
value = chxj_encoding_parameter(r, value, 0);
value = chxj_add_cookie_parameter(r, value, chtml50->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,chtml50->conf,value);
attr_src = value;
#endif
}
W_V(attr_start);
W_L("\"");
}
- W_L("<ol");
- if (attr_type) {
- W_L(" type=\"");
- W_V(attr_type);
- W_L("\"");
- }
- if (attr_start) {
- W_L(" start=\"");
- W_V(attr_start);
- W_L("\"");
- }
W_L(">");
return chtml50->out;
W_V(attr_align);
W_L("\"");
}
- W_L("<h3");
- if (attr_align) {
- W_L(" align=\"");
- W_V(attr_align);
- W_L("\"");
- }
W_L(">");
return chtml50->out;
W_V(attr_align);
W_L("\"");
}
- W_L("<h5");
- if (attr_align) {
- W_L(" align=\"");
- W_V(attr_align);
- W_L("\"");
- }
W_L(">");
return chtml50->out;
for (ii=0; ii<qs_get_node_size(doc,child); ii++) {
char* out;
- int rtn = s_chtml50_search_emoji(chtml50, &textval[ii], &out);
+ int rtn = s_chtml50_search_emoji(chtml50, &textval[ii], &out, child);
if (rtn) {
tdst = qs_out_apr_pstrcat(r, tdst, out, &tdst_len);
ii+=(rtn - 1);
W_V(attr_type);
W_L("\"");
}
- W_L("<menu");
- if (attr_type) {
- W_L(" type=\"");
- W_V(attr_type);
- W_L("\"");
- }
W_L(">");
chtml50_flags_t *flg = (chtml50_flags_t *)apr_palloc(doc->pool, sizeof(chtml50_flags_t));
memset(flg, 0, sizeof(*flg));
dst = s_convert_img_tag(r, dst, len, cookie);
dst = s_convert_form_tag(r, dst, len, cookie);
- result = chxj_rencoding(r, dst, len);
+ result = chxj_rencoding(r, dst, len, NULL);
DBG(r, "REQ[%X] end chxj_cookie_only_mode()", TO_ADDR(r));
return result;
}
char *
-chxj_rencoding(request_rec *r, const char *src, apr_size_t *len)
+chxj_rencoding(request_rec *r, const char *src, apr_size_t *len,const char *enc)
{
char *obuf;
char *ibuf;
DBG(r,"REQ[%X] end chxj_rencoding()", (unsigned int)(apr_size_t)r);
return ibuf;
}
- DBG(r,"encode convert [%s] -> [%s]", "CP932", entryp->encoding);
-
+ char *from_enc = enc;
+ if (!enc){
+ from_enc = "CP932";
+ }
+ if (strcasecmp(enc,"Shift_JIS") == 0){
+ from_enc = "CP932";
+ }
+ DBG(r,"encode convert [%s] -> [%s]", from_enc, entryp->encoding);
memset(obuf, 0, olen);
- cd = iconv_open(entryp->encoding, "CP932");
+ cd = iconv_open(entryp->encoding, from_enc);
if (cd == (iconv_t)-1) {
if (EINVAL == errno) {
ERR(r, "The conversion from %s to %s is not supported by the implementation.", "CP932", entryp->encoding);
NULL,
NULL,
},
+ /* tagObject */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagParam */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ NULL,
+ NULL,
+ },
};
/**
return dst;
}
+
+char *
+chxj_img_rewrite_parameter(
+ request_rec *r,
+ mod_chxj_config *conf,
+ const char *href)
+{
+ if (conf->image_rewrite == CHXJ_IMG_REWRITE_ON &&
+ conf->image_rewrite_mode == CHXJ_IMG_REWRITE_MODE_TAG){
+ if(strstr(href,"?")){
+ return apr_pstrcat(r->pool,href,"&",CHXJ_IMG_REWRITE_URL_STRING,NULL);
+ }
+ else{
+ return apr_pstrcat(r->pool,href,"?",CHXJ_IMG_REWRITE_URL_STRING,NULL);
+ }
+ }
+ else{
+ return apr_pstrcat(r->pool,href,NULL);
+ }
+}
/*----------------------------------------------------------------------------*/
static device_table v_ignore_spec = {
NULL,
+ 0,
"IGN",
"IGN",
CHXJ_SPEC_HTML,
96,
65536,
NULL,
+ "Shift_JIS"
};
/*----------------------------------------------------------------------------*/
EXIT_MAGICK_ERROR();
return HTTP_NOT_FOUND;
}
- if (MagickStripImage(magick_wand) == MagickFalse) {
- ERR(r, "mod_chxj: strip image failure.");
- EXIT_MAGICK_ERROR();
- return HTTP_NOT_FOUND;
- }
/*------------------*/
/* for AnimationGIF */
DBG(r, "REQ[%X] offset:[%ld]", TO_ADDR(r), query_string->offset);
DBG(r, "REQ[%X] count:[%ld]", TO_ADDR(r), query_string->count);
+ /* for mod_cache */
+ {
+ apr_table_setn(r->headers_out, "Vary", "User-Agent");
+ apr_table_setn(r->err_headers_out, "Vary", "User-Agent");
+ ap_update_mtime(r, st.mtime);
+ ap_set_last_modified(r);
+ }
+
if (query_string->mode != IMG_CONV_MODE_EZGET && query_string->name == NULL) {
contentLength = apr_psprintf(r->pool, "%d", (int)st.size);
apr_table_setn(r->headers_out, "Content-Length", (const char*)contentLength);
if (rv != APR_SUCCESS)
return HTTP_NOT_FOUND;
+ /* for mod_cache */
+ {
+ apr_table_setn(r->headers_out, "Vary", "User-Agent");
+ apr_table_setn(r->err_headers_out, "Vary", "User-Agent");
+ ap_update_mtime(r, st.mtime);
+ ap_set_last_modified(r);
+ }
+
rv = apr_file_open(&fout, originalfile,
APR_READ | APR_BINARY, APR_OS_DEFAULT, r->pool);
if (rv != APR_SUCCESS) {
pos += 4;
memcpy(&result[pos], &data[PNG_SIG_AND_IHDR_SZ] , *len - PNG_SIG_AND_IHDR_SZ);
*len = *len + total_tEXt_size;
- DBG(r, "REQ[%X] writebyte:[%d]", (unsigned int)(apr_size_t)r, *len);
+ DBG(r, "REQ[%X] writebyte:[%d]", (unsigned int)(apr_size_t)r, (unsigned int)*len);
}
else {
result = data;
#include "chxj_url_encode.h"
#include "chxj_str_util.h"
#include "chxj_conv_z2h.h"
+#include "chxj_header_inf.h"
#define GET_IXHTML10(X) ((ixhtml10_t *)(X))
static char *s_ixhtml10_end_li_tag (void *pdoc, Node *node);
static char *s_ixhtml10_start_br_tag (void *pdoc, Node *node);
static char *s_ixhtml10_end_br_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_start_table_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_end_table_tag (void *pdoc, Node *node);
static char *s_ixhtml10_start_tr_tag (void *pdoc, Node *node);
static char *s_ixhtml10_end_tr_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_start_th_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_end_th_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_start_td_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_end_td_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_start_td_or_th_tag (void *pdoc, Node *node,char *tagName);
+static char *s_ixhtml10_end_td_or_th_tag (void *pdoc, Node *node,char *tagName);
static char *s_ixhtml10_start_font_tag (void *pdoc, Node *node);
static char *s_ixhtml10_end_font_tag (void *pdoc, Node *node);
static char *s_ixhtml10_start_form_tag (void *pdoc, Node *node);
static char *s_ixhtml10_end_nobr_tag (void *pdoc, Node *node);
static char *s_ixhtml10_start_small_tag (void *pdoc, Node *node);
static char *s_ixhtml10_end_small_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_start_object_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_end_object_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_start_param_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_start_caption_tag (void *pdoc, Node *node);
+static char *s_ixhtml10_end_caption_tag (void *pdoc, Node *node);
static void s_init_ixhtml10(ixhtml10_t *ixhtml10, Doc *doc, request_rec *r, device_table *spec);
-static int s_ixhtml10_search_emoji(ixhtml10_t *ixhtml10, char *txt, char **rslt);
+static int s_ixhtml10_search_emoji(ixhtml10_t *ixhtml10, char *txt, char **rslt,Node *node);
static char *s_ixhtml10_istyle_to_wap_input_format(apr_pool_t *p, const char *s);
static css_prop_list_t *s_ixhtml10_nopush_and_get_now_style(void *pdoc, Node *node, const char *style_attr_value);
},
/* tagTABLE */
{
- NULL,
- NULL,
+ s_ixhtml10_start_table_tag,
+ s_ixhtml10_end_table_tag,
},
/* tagTR */
{
},
/* tagTD */
{
- NULL,
- NULL,
+ s_ixhtml10_start_td_tag,
+ s_ixhtml10_end_td_tag,
},
/* tagTBODY */
{
},
/* tagTH */
{
- NULL,
- NULL,
+ s_ixhtml10_start_th_tag,
+ s_ixhtml10_end_th_tag,
},
/* tagB */
{
s_ixhtml10_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ s_ixhtml10_start_object_tag,
+ s_ixhtml10_end_object_tag,
+ },
+ /* tagParam */
+ {
+ s_ixhtml10_start_param_tag,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ s_ixhtml10_start_caption_tag,
+ s_ixhtml10_end_caption_tag,
+ },
};
ixhtml10.entryp = entryp;
ixhtml10.cookie = cookie;
+ if (strcasecmp(spec->output_encoding,"UTF-8") == 0 ){
+ apr_table_setn(r->headers_out,HTTP_X_CHXJ_SET_CONTENT_TYPE,"application/xhtml+xml; charset=UTF-8");
+ }
chxj_set_content_type(r, chxj_header_inf_set_content_type(r, "application/xhtml+xml; charset=Shift_JIS"));
/*--------------------------------------------------------------------------*/
* EMOJI is specified.
* @param rslt [o] The pointer to the pointer that stores the result is
* specified.
+ * @param node [i] The current node to check whether tag is span/font for CHXJ_IMODE_EMOJI_COLOR_AUTO.
* @return When corresponding EMOJI exists, it returns it excluding 0.
*/
static int
-s_ixhtml10_search_emoji(ixhtml10_t *ixhtml10, char *txt, char **rslt)
+s_ixhtml10_search_emoji(ixhtml10_t *ixhtml10, char *txt, char **rslt, Node *node)
{
emoji_t *ee;
request_rec *r;
if (!spec) {
DBG(r,"spec is NULL");
}
-
+
+
for (ee = ixhtml10->conf->emoji;
ee;
ee = ee->next) {
(*rslt)[0] = ee->imode->hex1byte & 0xff;
(*rslt)[1] = ee->imode->hex2byte & 0xff;
(*rslt)[2] = 0;
+
+ if(ixhtml10->conf->imode_emoji_color >= CHXJ_IMODE_EMOJI_COLOR_AUTO ){
+ if(ee->imode->color != NULL){
+ if(ixhtml10->conf->imode_emoji_color == CHXJ_IMODE_EMOJI_COLOR_AUTO ){
+ if(strcasecmp(node->parent->name, "span") == 0 ||
+ strcasecmp(node->parent->name, "font") == 0 ){
+ return strlen(ee->imode->string);
+ }
+ }
+ char *tmp = apr_pstrdup(r->pool,*rslt);
+ *rslt = apr_psprintf(r->pool,
+ "<span style=\"color:%s\">%s</span>",ee->imode->color,tmp);
+ }
+ }
return strlen(ee->imode->string);
}
r = doc->r;
DBG(r, "REQ[%X] start s_ixhtml10_start_html_tag()", (unsigned int)(apr_size_t)r);
- W_L("<?xml version=\"1.0\" encoding=\"Shift_JIS\" ?>");
+ W_L("<?xml version=\"1.0\" encoding=\"");
+ W_V(ixhtml10->spec->output_encoding);
+ W_L("\" ?>");
W_NLCODE();
- W_L("<!DOCTYPE html PUBLIC \"-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN\" \"i-xhtml_4ja_10.dtd\">");
+ W_L("<!DOCTYPE html PUBLIC \"-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.0) 1.0//EN\" \"i-xhtml_4ja_10.dtd\">");
W_NLCODE();
/*--------------------------------------------------------------------------*/
}
}
break;
-
+ case 'n':
+ case 'N':
+ if (strcasecmp(name, "name") == 0 && value && *value) {
+ W_L(" name=\"");
+ W_V(value);
+ W_L("\"");
+ }
+ break;
default:
break;
}
char *attr_vlink = NULL;
char *attr_alink = NULL;
char *attr_style = NULL;
+ char *attr_background = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
/*----------------------------------------------------------------------*/
attr_vlink = value;
}
+ else if (STRCASEEQ('b','B',"background",name) && value && *value) {
+ /*----------------------------------------------------------------------*/
+ /* CHTML 6.0 */
+ /*----------------------------------------------------------------------*/
+ attr_background = value;
+ }
else if (STRCASEEQ('s','S',"style",name) && value && *value) {
attr_style = value;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *bgimage_prop = chxj_css_get_property_value(doc, style, "background-image");
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
if (cur->value && *cur->value) {
attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
}
}
+ for (cur = bgimage_prop->next; cur != bgimage_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmps = strstr(tmp,"(");
+ if(tmps){
+ char *tmpe = strstr(tmp,")");
+ size_t len = strlen(tmps) - strlen(tmpe) -1 ;
+ tmps++;
+ attr_background = apr_pstrndup(doc->pool, tmps,len);
+ }
+ }
+ }
}
if (ixhtml10->style) {
css_stylesheet_t *pseudos = chxj_find_pseudo_selectors(doc, ixhtml10->style);
W_L("<body");
- if (attr_bgcolor || attr_text) {
+ if (attr_bgcolor || attr_text || attr_background) {
W_L(" style=\"");
if (attr_bgcolor) {
attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
W_V(attr_text);
W_L(";");
}
+ if( attr_background) {
+ W_L("background-image:url(");
+ W_V(attr_background);
+ W_L(");");
+ }
W_L("\"");
}
W_L(">");
request_rec *r;
Attr *attr;
char *attr_style = NULL;
+ char *attr_id = NULL;
+ char *attr_lcs = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
attr = qs_get_next_attr(doc,attr)) {
char *name = qs_get_attr_name(doc,attr);
char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('i','I',"id",name)){
+ attr_id = apr_pstrdup(doc->buf.pool, value);
+ }
if (STRCASEEQ('n','N',"name",name)) {
/*----------------------------------------------------------------------*/
/* CHTML1.0 */
/*----------------------------------------------------------------------*/
- W_L(" name=\"");
- W_V(value);
- W_L("\"");
+ attr_id = apr_pstrdup(doc->buf.pool, value);
}
else if (STRCASEEQ('h','H',"href",name)) {
/*----------------------------------------------------------------------*/
/* CHTML 3.0 */
/* It is special only for CHTML. */
/*----------------------------------------------------------------------*/
- W_L(" utn ");
+ W_L(" utn=\"utn\"");
}
else if (STRCASEEQ('t','T',"telbook",name)) {
/*----------------------------------------------------------------------*/
/*----------------------------------------------------------------------*/
attr_style = value;
}
+ if (STRCASEEQ('l','L',"lcs",name)) {
+ attr_lcs = "lcs";
+ }
+ }
+ if(attr_id){
+ W_L(" id=\"");
+ W_V(attr_id);
+ W_L("\"");
+ }
+
+ if(attr_lcs){
+ W_L(" lcs");
}
+
W_L(">");
if (IS_CSS_ON(ixhtml10->entryp)) {
- s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
}
return ixhtml10->out;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
}
}
}
- W_L("<br");
- if (attr_clear) {
+
+ if(attr_clear){
+ W_L("<div");
W_L(" style=\"");
W_L("clear:");
if (STRCASEEQ('a','A',"all",attr_clear)) {
}
W_L(";");
W_L("\"");
+ W_L("></div>");
+ }
+ else{
+ W_L("<br");
+ W_L(" />");
}
- W_L(" />");
return ixhtml10->out;
}
/**
+ * It is a handler who processes the TABLE tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_start_table_tag(void *pdoc, Node *node)
+{
+ ixhtml10_t *ixhtml10;
+ Doc *doc;
+ request_rec *r;
+ Attr *attr;
+
+ ixhtml10 = GET_IXHTML10(pdoc);
+ doc = ixhtml10->doc;
+ r = doc->r;
+
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+ char *attr_bgcolor = NULL;
+ char *attr_border_width = NULL;
+ char *attr_border_color = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *val = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('h','H',"height",name) && val && *val) {
+ attr_height = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('w','W',"width",name) && val && *val) {
+ attr_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ else if (STRCASEEQ('b','B',"border",name) && val && *val) {
+ attr_border_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bordercolor",name) && val && *val) {
+ attr_border_color = apr_pstrdup(doc->buf.pool, val);
+ attr_border_color = chxj_css_rgb_func_to_value(doc->pool, attr_border_color);
+ }
+ }
+
+ if (IS_CSS_ON(ixhtml10->entryp)) {
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
+ css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *border_width_prop = chxj_css_get_property_value(doc, style, "border-width");
+ css_property_t *border_color_prop = chxj_css_get_property_value(doc, style, "border-color");
+
+ css_property_t *cur;
+ for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_width = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_width = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_height = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_height = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ for (cur = border_width_prop->next; cur != border_width_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_border_width = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_border_width = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = border_color_prop->next; cur != border_color_prop; cur = cur->next) {
+ attr_border_color = apr_pstrdup(doc->pool, cur->value);
+ attr_border_color = chxj_css_rgb_func_to_value(doc->pool, attr_border_color);
+ }
+ }
+ }
+
+ W_L("<table");
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ if (attr_height){
+ W_L(" height=\"");
+ W_V(attr_height);
+ W_L("\"");
+ }
+ if (attr_width){
+ W_L(" width=\"");
+ W_V(attr_width);
+ W_L("\"");
+ }
+ if (attr_border_width){
+ W_L(" border=\"");
+ W_V(attr_border_width);
+ W_L("\"");
+ }
+ if (attr_border_color && *attr_border_color){
+ W_L(" bordercolor=\"");
+ W_V(attr_border_color);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ W_L(">");
+
+ return ixhtml10->out;
+}
+
+
+/**
+ * It is a handler who processes the TABLE tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_end_table_tag(void *pdoc, Node *UNUSED(child))
+{
+ ixhtml10_t *ixhtml10;
+ Doc *doc;
+ request_rec *r;
+
+ ixhtml10 = GET_IXHTML10(pdoc);
+ doc = ixhtml10->doc;
+ r = doc->r;
+
+ W_L("</table>");
+
+ if (IS_CSS_ON(ixhtml10->entryp)) {
+ chxj_css_pop_prop_list(ixhtml10->css_prop_stack);
+ }
+
+ return ixhtml10->out;
+}
+
+
+/**
* It is a handler who processes the TR tag.
*
* @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
* @return The conversion result is returned.
*/
static char *
-s_ixhtml10_start_tr_tag(void *pdoc, Node *UNUSED(node))
+s_ixhtml10_start_tr_tag(void *pdoc, Node *node)
{
ixhtml10_t *ixhtml10;
Doc *doc;
request_rec *r;
+ Attr *attr;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
r = doc->r;
+
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_valign = NULL;
+ char *attr_bgcolor = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *val = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('v','V',"valign",name) && val && *val) {
+ if (val && (STRCASEEQ('t','T',"top",val) || STRCASEEQ('m','M',"middle",val) || STRCASEEQ('b','B',"bottom",val))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ }
+
+ if (IS_CSS_ON(ixhtml10->entryp)) {
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *valign_prop = chxj_css_get_property_value(doc, style, "vertical-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+
+ css_property_t *cur;
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('t','T',"top",cur->value) || STRCASEEQ('m','M',"middle",cur->value) || STRCASEEQ('b','B',"bottom",cur->value))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ }
+ }
- W_L("<br />");
+ W_L("<tr");
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ if (attr_valign){
+ W_L(" valign=\"");
+ W_V(attr_valign);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ W_L(">");
return ixhtml10->out;
}
static char *
s_ixhtml10_end_tr_tag(void *pdoc, Node *UNUSED(child))
{
- ixhtml10_t *ixhtml10 = GET_IXHTML10(pdoc);
+ ixhtml10_t *ixhtml10;
+ Doc *doc;
+ request_rec *r;
+
+ ixhtml10 = GET_IXHTML10(pdoc);
+ doc = ixhtml10->doc;
+ r = doc->r;
+
+ W_L("</tr>");
+ return ixhtml10->out;
+}
+
+/**
+ * It is a handler who processes the TABLE tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_start_td_or_th_tag(void *pdoc, Node *node,char *tagName)
+{
+ ixhtml10_t *ixhtml10;
+ Doc *doc;
+ request_rec *r;
+ Attr *attr;
+
+ ixhtml10 = GET_IXHTML10(pdoc);
+ doc = ixhtml10->doc;
+ r = doc->r;
+
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_valign = NULL;
+ char *attr_bgcolor = NULL;
+ char *attr_colspan = NULL;
+ char *attr_rowspan = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *val = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('v','V',"valign",name) && val && *val) {
+ if (val && (STRCASEEQ('t','T',"top",val) || STRCASEEQ('m','M',"middle",val) || STRCASEEQ('b','B',"bottom",val))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ else if (STRCASEEQ('c','C',"colspan",name) && val && *val) {
+ attr_colspan = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('r','R',"rowspan",name) && val && *val) {
+ attr_rowspan = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('w','W',"width",name) && val && *val) {
+ attr_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('h','H',"height",name) && val && *val) {
+ attr_height = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+
+ if (IS_CSS_ON(ixhtml10->entryp)) {
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *valign_prop = chxj_css_get_property_value(doc, style, "vertical-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
+ css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
+
+ css_property_t *cur;
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('t','T',"top",cur->value) || STRCASEEQ('m','M',"middle",cur->value) || STRCASEEQ('b','B',"bottom",cur->value))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_width = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else {
+ tmpp = strstr(tmp, "%");
+ if (tmpp) {
+ attr_width = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ }
+ for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_height = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else {
+ tmpp = strstr(tmp, "%");
+ if (tmpp) {
+ attr_height = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ }
+ }
+ }
+
+ W_L("<");
+ W_V(tagName);
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ if (attr_valign){
+ W_L(" valign=\"");
+ W_V(attr_valign);
+ W_L("\"");
+ }
+ if (attr_colspan){
+ W_L(" colspan=\"");
+ W_V(attr_colspan);
+ W_L("\"");
+ }
+ if (attr_rowspan){
+ W_L(" rowspan=\"");
+ W_V(attr_rowspan);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ if (attr_width){
+ W_L(" width=\"");
+ W_V(attr_width);
+ W_L("\"");
+ }
+ if (attr_height){
+ W_L(" height=\"");
+ W_V(attr_height);
+ W_L("\"");
+ }
+ W_L(">");
return ixhtml10->out;
}
/**
+ * It is a handler who processes the TABLE tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_end_td_or_th_tag(void *pdoc, Node *UNUSED(child),char *tagName)
+{
+ ixhtml10_t *ixhtml10;
+ Doc *doc;
+ request_rec *r;
+
+ ixhtml10 = GET_IXHTML10(pdoc);
+ doc = ixhtml10->doc;
+ r = doc->r;
+
+ W_L("</");
+ W_V(tagName);
+ W_L(">");
+ return ixhtml10->out;
+}
+
+/**
+ * It is a handler who processes the TABLE tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_start_td_tag(void *pdoc, Node *node)
+{
+ return s_ixhtml10_start_td_or_th_tag(pdoc,node,"td");
+}
+/**
+ * It is a handler who processes the TABLE tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_end_td_tag(void *pdoc, Node *node)
+{
+ return s_ixhtml10_end_td_or_th_tag(pdoc,node,"td");
+}
+
+/**
+ * It is a handler who processes the TABLE tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_start_th_tag(void *pdoc, Node *node)
+{
+ return s_ixhtml10_start_td_or_th_tag(pdoc,node,"th");
+}
+/**
+ * It is a handler who processes the TABLE tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_end_th_tag(void *pdoc, Node *node)
+{
+ return s_ixhtml10_end_td_or_th_tag(pdoc,node,"th");
+}
+
+
+
+/**
* It is a handler who processes the FONT tag.
*
* @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
char *attr_align = NULL;
char *attr_name = NULL;
char *new_hidden_tag = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *text_align_prop = chxj_css_get_property_value(doc, style, "text-align");
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
attr_color = apr_pstrdup(doc->pool, cur->value);
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_V(attr_name);
W_L("\"");
}
+
+ if (css_clear) {
+ W_L(" style=\"");
+ W_L("clear:");
+ W_V(css_clear);
+ W_L("\"");
+ }
+
W_L(">");
ixhtml10_flags_t *flg = (ixhtml10_flags_t *)apr_palloc(doc->pool, sizeof(ixhtml10_flags_t));
W_V(attr_align);
W_L(";");
}
+
+
flg->with_div_flag = 1;
W_L("\">");
}
W_L("\"");
}
if (attr_value) {
- if (STRCASEEQ('s','S',"submit",attr_type) || STRCASEEQ('r','R',"reset",attr_type)) {
- apr_size_t value_len = strlen(attr_value);
- attr_value = chxj_conv_z2h(r, attr_value, &value_len, chtml20->entryp);
+ if (attr_type){
+ if (STRCASEEQ('s','S',"submit",attr_type) || STRCASEEQ('r','R',"reset",attr_type)) {
+ apr_size_t value_len = strlen(attr_value);
+ attr_value = chxj_conv_z2h(r, attr_value, &value_len, ixhtml10->entryp);
+ }
}
W_L(" value=\"");
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
css_property_t *cur;
char *attr_style = NULL;
char *attr_start = NULL;
char *attr_type = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('d','D',"decimal", cur->value)) {
attr_type = apr_pstrdup(doc->pool, "lower-alpha");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<ol");
- if (attr_type) {
+ if (attr_type || css_clear) {
W_L(" style=\"");
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
+ if (attr_type) {
+ W_L("list-style-type:");
+ W_V(attr_type);
+ W_L(";");
+ }
+ if (css_clear) {
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
if (attr_start) {
char *attr_style = NULL;
char *attr_color = NULL;
char *attr_blink = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *text_align_prop = chxj_css_get_property_value(doc, style, "text-align");
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *text_deco_prop = chxj_css_get_property_value(doc, style, "text-decoration");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
css_property_t *cur;
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left",cur->value)) {
attr_blink = apr_pstrdup(doc->pool, cur->value);
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<p");
- if ((attr_align && *attr_align) || (attr_color && *attr_color) || (attr_blink && *attr_blink)) {
+ if ((attr_align && *attr_align) || (attr_color && *attr_color) || (attr_blink && *attr_blink) || css_clear) {
W_L(" style=\"");
if (attr_align) {
W_L("text-align:");
W_V(attr_blink);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Doc *doc = ixhtml10->doc;
Attr *attr;
char *attr_style = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
+ css_property_t *cur;
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
}
ixhtml10->pre_flag++;
- W_L("<pre>");
+ W_L("<pre");
+ if (css_clear) {
+ W_L(" style=\"");
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ W_L("\"");
+ }
+ W_L(">");
return ixhtml10->out;
}
Attr *attr;
char *attr_type = NULL;
char *attr_style = NULL;
+ char *css_clear = NULL;
+
/*--------------------------------------------------------------------------*/
/* Get Attributes */
/*--------------------------------------------------------------------------*/
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('d','D',"disc",cur->value)) {
attr_type = apr_pstrdup(doc->pool, "square");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<ul");
- if (attr_type) {
+ if (attr_type || css_clear) {
W_L(" style=\"");
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
+ if (attr_type) {
+ W_L("list-style-type:");
+ W_V(attr_type);
+ W_L(";");
+ }
+ if (css_clear) {
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
char *attr_style = NULL;
char *attr_color = NULL;
char *attr_bgcolor = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "border-color");
css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *float_prop = chxj_css_get_property_value(doc, style, "float");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = border_style_prop->next; cur != border_style_prop; cur = cur->next) {
if (STRCASEEQ('s','S',"solid",cur->value)) {
attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
}
for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
- char *tmp = apr_pstrdup(doc->pool, cur->value);
- char *tmpp = strstr(tmp, "px");
- if (tmpp) {
- attr_size = apr_pstrdup(doc->pool, tmp);
- }
+ attr_size = apr_pstrdup(doc->pool, cur->value);
}
for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
char *tmp = apr_pstrdup(doc->pool, cur->value);
}
}
}
+ if(!attr_align){
+ for (cur = float_prop->next; cur != float_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ if(tmp){
+ attr_align = apr_pstrdup(doc->pool,tmp);
+ }
+ }
+ }
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<hr");
- if (attr_align || attr_size || attr_width || attr_noshade || attr_color) {
+ if (attr_align || attr_size || attr_width || attr_noshade || attr_color || attr_bgcolor || css_clear) {
W_L(" style=\"");
if (attr_align) {
W_L("float:");
if (attr_size) {
W_L("height:");
W_V(attr_size);
- if (!strstr(attr_size, "px")) {
+ if (chxj_chk_numeric(attr_size) == 0) {
W_L("px");
}
W_L(";");
W_V(attr_bgcolor);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(" />");
char *attr_style = NULL;
char *attr_hspace = NULL;
char *attr_vspace = NULL;
+
+ char *css_float = NULL;
+ char *css_margin_left = NULL;
+ char *css_margin_right = NULL;
+ char *css_margin_top = NULL;
+ char *css_margin_bottom = NULL;
+ char *css_display = NULL;
+ char *css_valign = NULL;
+
#ifndef IMG_NOT_CONVERT_FILENAME
device_table *spec = ixhtml10->spec;
#endif
value = chxj_encoding_parameter(r, value, 1);
value = chxj_add_cookie_parameter(r, value, ixhtml10->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,ixhtml10->conf,value);
attr_src = value;
#else
value = chxj_img_conv(r, spec, value);
value = chxj_encoding_parameter(r, value, 1);
value = chxj_add_cookie_parameter(r, value, ixhtml10->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,ixhtml10->conf,value);
attr_src = value;
#endif
}
css_property_t *margin_right_prop = chxj_css_get_property_value(doc, style, "margin-right");
css_property_t *margin_top_prop = chxj_css_get_property_value(doc, style, "margin-top");
css_property_t *margin_bottom_prop = chxj_css_get_property_value(doc, style, "margin-bottom");
+
+
css_property_t *cur;
for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
attr_height = apr_pstrdup(doc->pool, cur->value);
attr_width = apr_pstrdup(doc->pool, cur->value);
}
for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
- attr_align = apr_pstrdup(doc->pool, cur->value);
- }
- for (cur = margin_left_prop->next; cur != margin_left_prop; cur = cur->next) {
- attr_hspace = apr_pstrdup(doc->pool, cur->value);
+ css_valign = apr_pstrdup(doc->pool, cur->value);
}
+
if (! attr_hspace) {
+ for (cur = margin_left_prop->next; cur != margin_left_prop; cur = cur->next) {
+ css_margin_left = apr_pstrdup(doc->pool, cur->value);
+ }
for (cur = margin_right_prop->next; cur != margin_right_prop; cur = cur->next) {
- attr_hspace = apr_pstrdup(doc->pool, cur->value);
+ css_margin_right = apr_pstrdup(doc->pool, cur->value);
}
}
- for (cur = margin_top_prop->next; cur != margin_top_prop; cur = cur->next) {
- attr_vspace = apr_pstrdup(doc->pool, cur->value);
- }
+
if (! attr_vspace) {
+ for (cur = margin_top_prop->next; cur != margin_top_prop; cur = cur->next) {
+ css_margin_top = apr_pstrdup(doc->pool, cur->value);
+ }
for (cur = margin_bottom_prop->next; cur != margin_bottom_prop; cur = cur->next) {
- attr_vspace = apr_pstrdup(doc->pool, cur->value);
+ css_margin_bottom = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+
+ css_property_t *float_prop = chxj_css_get_property_value(doc, style, "float");
+ for (cur = float_prop->next; cur != float_prop; cur = cur->next) {
+ css_float = apr_pstrdup(doc->pool, cur->value);
+ }
+ css_property_t *display_prop = chxj_css_get_property_value(doc, style, "display");
+ for (cur = display_prop->next; cur != display_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "none");
+ if(tmpp){
+ css_display = apr_pstrdup(doc->pool, tmp);
}
}
}
}
+
+ if(!css_display){
W_L("<img");
if (attr_src) {
W_L(" src=\"");
W_V(attr_src);
+ DBG(r,"mode is %d -> %s",ixhtml10->conf->image_rewrite_mode, attr_src);
W_L("\"");
}
- if (attr_align || attr_hspace || attr_vspace) {
+ if (attr_align || attr_hspace || attr_vspace || css_float || css_margin_left || css_margin_right || css_margin_top || css_margin_bottom || css_valign ) {
W_L(" style=\"");
if (attr_align) {
if (STRCASEEQ('t','T',"top", attr_align)) {
+ css_valign = NULL;
W_L("vertical-align:top;");
}
else if (STRCASEEQ('m','M',"middle", attr_align) || STRCASEEQ('c','C',"center",attr_align)) {
+ css_valign = NULL;
W_L("vertical-align:middle;");
}
else if (STRCASEEQ('b','B',"bottom", attr_align)) {
+ css_valign = NULL;
W_L("vertical-align:bottom;");
}
else if (STRCASEEQ('l','L',"left", attr_align)) {
+ css_float = NULL;
W_L("float:left;");
}
else if (STRCASEEQ('r','R',"right", attr_align)) {
+ css_float = NULL;
W_L("float:right;");
}
+ }
+
+
+ if(css_float){
+ W_L("float:");
+ W_V(css_float);
+ W_L(";");
+ }
+ if(css_valign){
+ W_L("vertical-align:");
+ W_V(css_valign);
+ W_L(";");
}
+
if (attr_hspace) {
W_L("margin-left:");
W_V(attr_hspace);
W_V(attr_hspace);
W_L(";");
}
+ else{
+ if(css_margin_left){
+ W_L("margin-left:");
+ W_V(css_margin_left);
+ W_L(";");
+ }
+ if(css_margin_right){
+ W_L("margin-right:");
+ W_V(css_margin_right);
+ W_L(";");
+ }
+ }
if (attr_vspace) {
W_L("margin-top:");
W_V(attr_vspace);
W_V(attr_vspace);
W_L(";");
}
+ else{
+ if(css_margin_top){
+ W_L("margin-top:");
+ W_V(css_margin_top);
+ W_L(";");
+ }
+ if(css_margin_bottom){
+ W_L("margin-bottom:");
+ W_V(css_margin_bottom);
+ W_L(";");
+ }
+ }
W_L("\"");
}
if (attr_width) {
W_L(" alt=\"\"");
}
W_L(" />");
+ }
return ixhtml10->out;
}
W_L("\"");
}
if (multiple) {
- W_L(" multiple");
+ W_L(" multiple=\"multiple\"");
}
W_L(">");
if (IS_CSS_ON(ixhtml10->entryp)) {
- s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
}
return ixhtml10->out;
W_L(">");
if (IS_CSS_ON(ixhtml10->entryp)) {
- s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
}
return ixhtml10->out;
char *attr_color = NULL;
char *attr_bgcolor = NULL;
char *attr_font_size = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
css_property_t *font_size_prop = chxj_css_get_property_value(doc, style, "font-size");
css_property_t *background_color_prop = chxj_css_get_property_value(doc, style, "background-color");
css_property_t *background_prop = chxj_css_get_property_value(doc, style, "background");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = display_prop->next; cur != display_prop; cur = cur->next) {
}
}
for (cur = wap_marquee_loop_prop->next; cur != wap_marquee_loop_prop; cur = cur->next) {
- attr_wap_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ if(strcmp(cur->value,"0") == 0 || strcmp(cur->value,"-1") == 0){
+ attr_wap_marquee_loop = "infinite";
+ }
+ else{
+ attr_wap_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<div");
|| attr_wap_marquee_loop
|| attr_color
|| attr_bgcolor
- || attr_font_size) {
+ || attr_font_size
+ || css_clear ) {
W_L(" style=\"");
if (attr_align) {
W_L("text-align:");
W_V(attr_font_size);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
for (ii=0; ii<qs_get_node_size(doc,child); ii++) {
char* out;
- int rtn = s_ixhtml10_search_emoji(ixhtml10, &textval[ii], &out);
+ int rtn = s_ixhtml10_search_emoji(ixhtml10, &textval[ii], &out,child);
if (rtn) {
tdst = qs_out_apr_pstrcat(r, tdst, out, &tdst_len);
ii+=(rtn - 1);
char *attr_style = NULL;
char *attr_color = NULL;
char *attr_size = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *font_size_prop = chxj_css_get_property_value(doc, style, "font-size");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
if (cur->value && *cur->value) {
}
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<blockquote");
- if (attr_color || attr_size) {
+ if (attr_color || attr_size || css_clear) {
W_L(" style=\"");
if (attr_color) {
attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
W_V(attr_size);
W_L(";");
}
+ if (css_clear) {
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
char *attr_style = NULL;
char *attr_color = NULL;
char *attr_size = NULL;
+ char *css_clear = NULL;
+
for (attr = qs_get_attr(doc,node);
attr;
attr = qs_get_next_attr(doc,attr)) {
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
if (cur->value && *cur->value) {
}
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<dl");
- if (attr_color || attr_size) {
+ if (attr_color || attr_size || css_clear) {
W_L(" style=\"");
if (attr_color) {
attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
W_V(attr_size);
W_L(";");
}
+ if (css_clear) {
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h1");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";\"");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
+ W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h2");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";\"");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
+ W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h3");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h4");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h5");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h6");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
}
- W_L("<span");
+ W_L("<div");
W_L(" style=\"display:-wap-marquee;");
if (attr_color || attr_size || attr_direction || attr_bgcolor) {
if (attr_direction) {
{
ixhtml10_t *ixhtml10 = GET_IXHTML10(pdoc);
Doc *doc = ixhtml10->doc;
- W_L("</span>");
+ W_L("</div>");
if (IS_CSS_ON(ixhtml10->entryp)) {
chxj_css_pop_prop_list(ixhtml10->css_prop_stack);
}
char *attr_marquee_dir = NULL;
char *attr_marquee_style = NULL;
char *attr_marquee_loop = NULL;
+ char *css_bgcolor = NULL;
ixhtml10 = GET_IXHTML10(pdoc);
doc = ixhtml10->doc;
}
}
if (IS_CSS_ON(ixhtml10->entryp)) {
- css_prop_list_t *style = s_ixhtml10_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_ixhtml10_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
css_property_t *marquee_dir_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-dir");
css_property_t *marquee_style_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-style");
css_property_t *marquee_loop_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-loop");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
attr_color = apr_pstrdup(doc->pool, cur->value);
}
for (cur = marquee_loop_prop->next; cur != marquee_loop_prop; cur = cur->next) {
if (cur->value && *cur->value) {
- attr_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ if(strcmp(cur->value,"0") == 0 || strcmp(cur->value,"-1") == 0){
+ attr_marquee_loop = "infinite";
+ }
+ else{
+ attr_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ css_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
}
}
W_L("<span");
- if (attr_color || attr_size || attr_align || attr_blink || attr_marquee) {
+ if (attr_color || attr_size || attr_align || attr_blink || attr_marquee || css_bgcolor) {
W_L(" style=\"");
if (attr_color) {
attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
W_L(";");
}
}
+ if(css_bgcolor){
+ W_L("background-color:");
+ W_V(css_bgcolor);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Doc *doc = ixhtml10->doc;
W_L("</span>");
+ /*
if (IS_CSS_ON(ixhtml10->entryp)) {
chxj_css_pop_prop_list(ixhtml10->css_prop_stack);
}
+ */
return ixhtml10->out;
}
return ixhtml10->out;
}
+/**
+ * It is a handler who processes the OBJECT tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The OBJECT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_start_object_tag(void *pdoc, Node *node)
+{
+ ixhtml10_t *ixhtml10 = GET_IXHTML10(pdoc);
+ Doc *doc = ixhtml10->doc;
+ Attr *attr;
+ char *attr_style = NULL;
+ char *attr_id = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+ char *attr_data = NULL;
+ char *attr_type = NULL;
+ char *attr_declare = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('i','I',"id",name)) {
+ attr_id = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('w','W',"width",name)) {
+ attr_width = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('h','H',"height",name)) {
+ attr_height = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('d','D',"data",name)) {
+ attr_data = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('t','T',"type",name)) {
+ attr_type = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('d','D',"declare",name)) {
+ attr_declare = apr_pstrdup(doc->pool, value);
+ }
+ }
+ W_L("<object");
+
+ if(attr_id){
+ W_L(" id=\"");
+ W_V(attr_id);
+ W_L("\"");
+ }
+ if(attr_width){
+ W_L(" width=\"");
+ W_V(attr_width);
+ W_L("\"");
+ }
+ if(attr_height){
+ W_L(" height=\"");
+ W_V(attr_height);
+ W_L("\"");
+ }
+ if(attr_data){
+ W_L(" data=\"");
+ W_V(attr_data);
+ W_L("\"");
+ }
+ if(attr_type){
+ W_L(" type=\"");
+ W_V(attr_type);
+ W_L("\"");
+ }
+ if(attr_declare){
+ W_L(" declare=\"declare\"");
+ }
+
+ W_L(">");
+ return ixhtml10->out;
+}
+
+
+/**
+ * It is a handler who processes the OBJECT tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The OBJECT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_end_object_tag(void *pdoc, Node *UNUSED(node))
+{
+ ixhtml10_t *ixhtml10 = GET_IXHTML10(pdoc);
+ Doc *doc = ixhtml10->doc;
+
+ W_L("</object>");
+ return ixhtml10->out;
+}
+
+/**
+ * It is a handler who processes the PARAM tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The PARAM tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_start_param_tag(void *pdoc, Node *node)
+{
+ ixhtml10_t *ixhtml10 = GET_IXHTML10(pdoc);
+ Doc *doc = ixhtml10->doc;
+ Attr *attr;
+ char *attr_style = NULL;
+ char *attr_name = NULL;
+ char *attr_value = NULL;
+ char *attr_valuetype = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('n','N',"name",name)) {
+ attr_name = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('v','V',"value",name)) {
+ attr_value = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('v','V',"valuetype",name)) {
+ attr_valuetype = apr_pstrdup(doc->pool, value);
+ }
+ }
+ W_L("<param");
+
+ if(attr_name){
+ W_L(" name=\"");
+ W_V(attr_name);
+ W_L("\"");
+ }
+ if(attr_value){
+ W_L(" value=\"");
+ W_V(attr_value);
+ W_L("\"");
+ }
+ if(attr_valuetype){
+ W_L(" valuetype=\"");
+ W_V(attr_valuetype);
+ W_L("\"");
+ }
+ W_L("/>");
+ return ixhtml10->out;
+}
+
+/**
+ * It is a handler who processes the CAPTION tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The CAPTION tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_start_caption_tag(void *pdoc, Node *node)
+{
+ ixhtml10_t *ixhtml10;
+ Doc *doc;
+ request_rec *r;
+ Attr *attr;
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+
+ ixhtml10 = GET_IXHTML10(pdoc);
+ doc = ixhtml10->doc;
+ r = doc->r;
+
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align", name)) {
+ if (value &&
+ (STRCASEEQ('l','L',"left",value)
+ || STRCASEEQ('r','R',"right",value)
+ || STRCASEEQ('t','T',"top",value)
+ || STRCASEEQ('b','B',"bottom",value)
+ )) {
+ attr_align = value;
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name) && value && *value) {
+ attr_style = value;
+ }
+ }
+ W_L("<caption");
+ if(attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ W_L(">");
+ return ixhtml10->out;
+}
+
+
+/**
+ * It is a handler who processes the CAPTION tag.
+ *
+ * @param pdoc [i/o] The pointer to the IXHTML10 structure at the output
+ * destination is specified.
+ * @param node [i] The CAPTION tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_ixhtml10_end_caption_tag(void *pdoc, Node *UNUSED(node))
+{
+ ixhtml10_t *ixhtml10 = GET_IXHTML10(pdoc);
+ Doc *doc = ixhtml10->doc;
+
+ W_L("</caption>");
+ return ixhtml10->out;
+}
+
/*
* vim:ts=2 et
*/
s_jhtml_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagParam */
+ {
+ NULL,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ NULL,
+ NULL,
+ },
};
W_V(attr_value);
W_L("\"");
}
- if (IS_CSS_ON(jhtml->entryp)) {
- css_prop_list_t *style = s_jhtml_push_and_get_now_style(pdoc, node, attr_style);
- if (style) {
- css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
- css_property_t *cur;
- for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
- if (STRCASEEQ('d','D',"decimal", cur->value)) {
- attr_type = apr_pstrdup(doc->pool, "1");
- }
- else if (STRCASEEQ('u','U',"upper-alpha", cur->value)) {
- attr_type = apr_pstrdup(doc->pool, "A");
- }
- else if (STRCASEEQ('l','L',"lower-alpha", cur->value)) {
- attr_type = apr_pstrdup(doc->pool, "a");
- }
- }
- }
- }
-
- W_L("<li");
- if (attr_type) {
- W_L(" type=\"");
- W_V(attr_type);
- W_L("\"");
- }
- if (attr_value) {
- W_L(" value=\"");
- W_V(attr_value);
- W_L("\"");
- }
W_L(">");
return jhtml->out;
}
value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jhtml->entryp, 0);
value = chxj_add_cookie_parameter(r, value, jhtml->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,jhtml->conf,value);
value = s_add_copyright_parameter(r, value);
attr_src = value;
#else
value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jhtml->entryp, 0);
value = chxj_add_cookie_parameter(r, value, jhtml->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,jhtml->conf,value);
value = s_add_copyright_parameter(r, value);
attr_src = value;
#endif
s++;
fname = apr_pstrdup(pool, result);
result = NULL;
-
- char *pstat;
+
+ char *pstat;
char *pstat2;
for (;;) {
char *pair = NULL;
- if (xmlflag) {
- pair = apr_strtok(s, "&", &pstat);
- }
- else {
- pair = apr_strtok(s, "&", &pstat);
- }
+ pair = apr_strtok(s, "&", &pstat);
+
if (! pair) break;
s = NULL;
+
+ if(strncasecmp(pair,"amp;",4) == 0){
+ pair += 4;
+ }
+
char *key = apr_strtok(pair, "=", &pstat2);
char *val = "";
if (key) {
val = apr_strtok(NULL, "=", &pstat2);
+
if (!val) val = "";
}
char *tmp = NULL;
if (strcasecmp(key, "guid") == 0) {
tmp = apr_psprintf(pool, "%s=%s", key, val);
if (result) {
- result = apr_pstrcat(pool, result, "&" ,tmp, NULL);
+ if(xmlflag)
+ result = apr_pstrcat(pool, result, "&" ,tmp, NULL);
+ else
+ result = apr_pstrcat(pool, result, "&" ,tmp, NULL);
}
else {
result = tmp;
static char *s_jxhtml_end_li_tag (void *pdoc, Node *node);
static char *s_jxhtml_start_br_tag (void *pdoc, Node *node);
static char *s_jxhtml_end_br_tag (void *pdoc, Node *node);
+
+static char *s_jxhtml_start_table_tag (void *pdoc, Node *node);
+static char *s_jxhtml_end_table_tag (void *pdoc, Node *node);
static char *s_jxhtml_start_tr_tag (void *pdoc, Node *node);
static char *s_jxhtml_end_tr_tag (void *pdoc, Node *node);
+static char *s_jxhtml_start_td_or_th_tag (void *pdoc, Node *node,char *tagName);
+static char *s_jxhtml_end_td_or_th_tag (void *pdoc, Node *node,char *tagName);
+static char *s_jxhtml_start_td_tag (void *pdoc, Node *node);
+static char *s_jxhtml_end_td_tag (void *pdoc, Node *node);
+static char *s_jxhtml_start_th_tag (void *pdoc, Node *node);
+static char *s_jxhtml_end_th_tag (void *pdoc, Node *node);
+
static char *s_jxhtml_start_font_tag (void *pdoc, Node *node);
static char *s_jxhtml_end_font_tag (void *pdoc, Node *node);
static char *s_jxhtml_start_form_tag (void *pdoc, Node *node);
static char *s_jxhtml_start_span_tag (void *pdoc, Node *node);
static char *s_jxhtml_end_span_tag (void *pdoc, Node *node);
static char *s_jxhtml_style_tag (void *pdoc, Node *node);
+static char *s_jxhtml_start_object_tag (void *pdoc, Node *node);
+static char *s_jxhtml_end_object_tag (void *pdoc, Node *node);
+static char *s_jxhtml_start_param_tag (void *pdoc, Node *node);
+static char *s_jxhtml_start_caption_tag (void *pdoc, Node *node);
+static char *s_jxhtml_end_caption_tag (void *pdoc, Node *node);
static void s_init_jxhtml(jxhtml_t *jxhtml, Doc *doc, request_rec *r, device_table *spec);
},
/* tagTABLE */
{
- NULL,
- NULL,
+ s_jxhtml_start_table_tag,
+ s_jxhtml_end_table_tag,
},
/* tagTR */
{
},
/* tagTD */
{
- NULL,
- NULL,
+ s_jxhtml_start_td_tag,
+ s_jxhtml_end_td_tag,
},
/* tagTBODY */
{
},
/* tagTH */
{
- NULL,
- NULL,
+ s_jxhtml_start_th_tag,
+ s_jxhtml_end_th_tag,
},
/* tagB */
{
s_jxhtml_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ s_jxhtml_start_object_tag,
+ s_jxhtml_end_object_tag,
+ },
+ /* tagParam */
+ {
+ s_jxhtml_start_param_tag,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ s_jxhtml_start_caption_tag,
+ s_jxhtml_end_caption_tag,
+ },
};
jxhtml.entryp = entryp;
jxhtml.cookie = cookie;
-
+ if (strcasecmp(spec->output_encoding,"UTF-8") == 0 ){
+ apr_table_setn(r->headers_out,HTTP_X_CHXJ_SET_CONTENT_TYPE,"application/xhtml+xml; charset=UTF-8");
+ }
chxj_set_content_type(r, chxj_header_inf_set_content_type(r, "application/xhtml+xml; charset=Windows-31J"));
/*--------------------------------------------------------------------------*/
r = doc->r;
DBG(r, "REQ[%X] start s_jxhtml_start_html_tag()", TO_ADDR(r));
- W_L("<?xml version=\"1.0\" encoding=\"Shift_JIS\" ?>");
+ W_L("<?xml version=\"1.0\" encoding=\"");
+ W_V(jxhtml->spec->output_encoding);
+ W_L("\" ?>");
W_NLCODE();
W_L("<!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"xhtml-basic10-plus.dtd\">");
W_NLCODE();
}
}
break;
-
+ case 'n':
+ case 'N':
+ if (strcasecmp(name, "name") == 0 && value && *value) {
+ W_L(" name=\"");
+ W_V(value);
+ W_L("\"");
+ }
+ break;
default:
break;
}
char *attr_bgcolor = NULL;
char *attr_text = NULL;
char *attr_link = NULL;
+ char *attr_vlink = NULL;
char *attr_style = NULL;
+ char *attr_background = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
/*----------------------------------------------------------------------*/
/* CHTML 4.0 */
/*----------------------------------------------------------------------*/
- /* ignore */
+ attr_vlink = value;
+ }
+ else if (STRCASEEQ('b','B',"background",name) && value && *value) {
+ /*----------------------------------------------------------------------*/
+ /* CHTML 6.0 */
+ /*----------------------------------------------------------------------*/
+ attr_background = value;
}
else if (STRCASEEQ('s','S',"style",name) && value && *value) {
attr_style = value;
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *bgimage_prop = chxj_css_get_property_value(doc, style, "background-image");
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
if (cur->value && *cur->value) {
attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
}
}
+ for (cur = bgimage_prop->next; cur != bgimage_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmps = strstr(tmp,"(");
+ if(tmps){
+ char *tmpe = strstr(tmp,")");
+ size_t len = strlen(tmps) - strlen(tmpe) -1 ;
+ tmps++;
+ attr_background = apr_pstrndup(doc->pool, tmps,len);
+ }
+ }
+ }
}
if (jxhtml->style) {
css_stylesheet_t *pseudos = chxj_find_pseudo_selectors(doc, jxhtml->style);
}
}
}
+ else if (cur_sel->name && strcasecmp(cur_sel->name, "a:visited") == 0) {
+ css_property_t *cur;
+ for (cur = cur_sel->property_head.next; cur != &cur_sel->property_head; cur = cur->next) {
+ if (cur->name && strcasecmp(cur->name, "color") == 0) {
+ attr_vlink = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ }
}
}
}
W_V(attr_link);
W_L("\"");
}
+ if (attr_vlink) {
+ attr_vlink = chxj_css_rgb_func_to_value(doc->pool, attr_vlink);
+ W_L(" vlink=\"");
+ W_V(attr_vlink);
+ W_L("\"");
+ }
+ if (attr_background) {
+ W_L(" background=\"");
+ W_V(attr_background);
+ W_L("\"");
+ }
W_L("><div>");
return jxhtml->out;
}
request_rec *r;
Attr *attr;
char *attr_style = NULL;
+ char *attr_id = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
attr = qs_get_next_attr(doc,attr)) {
char *name = qs_get_attr_name(doc,attr);
char *value = qs_get_attr_value(doc,attr);
- if (STRCASEEQ('n','N',"name",name)) {
- /*----------------------------------------------------------------------*/
- /* CHTML1.0 */
- /*----------------------------------------------------------------------*/
- W_L(" name=\"");
- W_V(chxj_jreserved_to_safe_tag(r, value, jxhtml->entryp));
- W_L("\"");
+ if (STRCASEEQ('i','I',"id",name)){
+ attr_id = chxj_jreserved_to_safe_tag(r, value, jxhtml->entryp);
+ }
+ else if (STRCASEEQ('n','N',"name",name)) {
+ attr_id = chxj_jreserved_to_safe_tag(r, value, jxhtml->entryp);
}
else if (STRCASEEQ('h','H',"href",name)) {
/*----------------------------------------------------------------------*/
attr_style = value;
}
}
+ if(attr_id){
+ W_L(" name=\"");
+ W_V(attr_id);
+ W_L("\"");
+ }
W_L(">");
if (IS_CSS_ON(jxhtml->entryp)) {
- s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
}
return jxhtml->out;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
r = doc->r;
+
+ char *attr_style = NULL;
+ char *attr_clear = NULL;
- W_L("<br");
/*--------------------------------------------------------------------------*/
/* Get Attributes */
/*--------------------------------------------------------------------------*/
char *value = qs_get_attr_value(doc,attr);
if (STRCASEEQ('c','C',"clear",name)) {
if (value && (STRCASEEQ('l','L',"left",value) || STRCASEEQ('r','R',"right",value) || STRCASEEQ('a','A',"all",value))) {
- W_L(" clear=\"");
- W_V(value);
- W_L("\"");
+ attr_clear = value;
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name)) {
+ attr_style = apr_pstrdup(doc->buf.pool, value);
+ }
+ }
+ if (IS_CSS_ON(jxhtml->entryp)) {
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+ css_property_t *cur;
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ if ( STRCASEEQ('l','L',"left", cur->value)
+ || STRCASEEQ('r','R',"right", cur->value)) {
+ attr_clear = apr_pstrdup(doc->pool, cur->value);
+ }
+ else if(STRCASEEQ('b','B',"both" ,cur->value)) {
+ attr_clear = apr_pstrdup(doc->pool, "all");
+ }
+ }
}
}
}
+ W_L("<br");
+ if(attr_clear){
+ W_L(" clear=\"");
+ W_V(attr_clear);
+ W_L("\"");
+ }
W_L(" />");
return jxhtml->out;
}
return jxhtml->out;
}
-
/**
- * It is a handler who processes the TR tag.
+ * It is a handler who processes the TABLE tag.
*
* @param pdoc [i/o] The pointer to the JXHTML structure at the output
* destination is specified.
* @return The conversion result is returned.
*/
static char *
-s_jxhtml_start_tr_tag(void *pdoc, Node *UNUSED(node))
+s_jxhtml_start_table_tag(void *pdoc, Node *node)
{
- jxhtml_t *jxhtml;
+ jxhtml_t *jxhtml;
Doc *doc;
request_rec *r;
+ Attr *attr;
+
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+ char *attr_bgcolor = NULL;
+ char *attr_border_width = NULL;
+ char *attr_border_color = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
r = doc->r;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *val = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('h','H',"height",name) && val && *val) {
+ attr_height = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('w','W',"width",name) && val && *val) {
+ attr_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ else if (STRCASEEQ('b','B',"border",name) && val && *val) {
+ attr_border_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bordercolor",name) && val && *val) {
+ attr_border_color = apr_pstrdup(doc->buf.pool, val);
+ attr_border_color = chxj_css_rgb_func_to_value(doc->pool, attr_border_color);
+ }
+ }
+
+ if (IS_CSS_ON(jxhtml->entryp)) {
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
+ css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *border_width_prop = chxj_css_get_property_value(doc, style, "border-width");
+ css_property_t *border_color_prop = chxj_css_get_property_value(doc, style, "border-color");
+
+ css_property_t *cur;
+ for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_width = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_width = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_height = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_height = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ for (cur = border_width_prop->next; cur != border_width_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_border_width = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_border_width = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = border_color_prop->next; cur != border_color_prop; cur = cur->next) {
+ attr_border_color = apr_pstrdup(doc->pool, cur->value);
+ attr_border_color = chxj_css_rgb_func_to_value(doc->pool, attr_border_color);
+ }
+ }
+ }
- W_L("<br />");
+ W_L("<table");
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ if (attr_height){
+ W_L(" height=\"");
+ W_V(attr_height);
+ W_L("\"");
+ }
+ if (attr_width){
+ W_L(" width=\"");
+ W_V(attr_width);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ if (attr_border_width || attr_border_color ){
+ W_L(" style=\"border:");
+ if (attr_border_width){
+ W_V(attr_border_width);
+ }
+ else{
+ W_L("1");
+ }
+ W_L("px solid");
+
+ if (attr_border_color && *attr_border_color){
+ W_L(" ");
+ W_V(attr_border_color);
+ }
+ W_L(";\"");
+ }
+ W_L(">");
+
return jxhtml->out;
}
-
/**
- * It is a handler who processes the TR tag.
+ * It is a handler who processes the TABLE tag.
*
* @param pdoc [i/o] The pointer to the JXHTML structure at the output
* destination is specified.
* @return The conversion result is returned.
*/
static char *
-s_jxhtml_end_tr_tag(void *pdoc, Node *UNUSED(child))
+s_jxhtml_end_table_tag(void *pdoc, Node *UNUSED(node))
{
- jxhtml_t *jxhtml = GET_JXHTML(pdoc);
+ jxhtml_t *jxhtml;
+ request_rec *r;
+ Doc *doc;
+
+ jxhtml = GET_JXHTML(pdoc);
+ doc = jxhtml->doc;
+ r = jxhtml->doc->r;
+
+ W_L("</table>");
return jxhtml->out;
}
/**
- * It is a handler who processes the FONT tag.
+ * It is a handler who processes the TR tag.
*
* @param pdoc [i/o] The pointer to the JXHTML structure at the output
* destination is specified.
- * @param node [i] The FONT tag node is specified.
+ * @param node [i] The TR tag node is specified.
* @return The conversion result is returned.
*/
static char *
-s_jxhtml_start_font_tag(void *pdoc, Node *node)
+s_jxhtml_start_tr_tag(void *pdoc, Node *node)
{
jxhtml_t *jxhtml;
- Doc *doc;
- request_rec *r;
- Attr *attr;
- char *attr_color = NULL;
- char *attr_size = NULL;
- char *attr_style = NULL;
+ Doc *doc;
+ request_rec *r;
+
+ Attr *attr;
+
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_valign = NULL;
+ char *attr_bgcolor = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
r = doc->r;
-
+
/*--------------------------------------------------------------------------*/
/* Get Attributes */
/*--------------------------------------------------------------------------*/
for (attr = qs_get_attr(doc,node);
- attr;
+ attr;
attr = qs_get_next_attr(doc,attr)) {
char *name = qs_get_attr_name(doc,attr);
- char *value = qs_get_attr_value(doc,attr);
- if (STRCASEEQ('c','C',"color",name) && value && *value) {
- attr_color = apr_pstrdup(doc->buf.pool, value);
+ char *val = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
}
- else if (STRCASEEQ('s','S',"size",name) && value && *value) {
- /*----------------------------------------------------------------------*/
- /* CHTML 5.0 */
- /*----------------------------------------------------------------------*/
- attr_size = apr_pstrdup(doc->buf.pool, value);
+ else if (STRCASEEQ('v','V',"valign",name) && val && *val) {
+ if (val && (STRCASEEQ('t','T',"top",val) || STRCASEEQ('m','M',"middle",val) || STRCASEEQ('b','B',"bottom",val))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, val);
+ }
}
- else if (STRCASEEQ('s','S',"style",name) && value && *value) {
- attr_style = apr_pstrdup(doc->buf.pool, value);
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
}
}
+
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
- css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
- css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *valign_prop = chxj_css_get_property_value(doc, style, "vertical-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+
css_property_t *cur;
- for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
- if (cur->value && *cur->value) {
- attr_color = apr_pstrdup(doc->pool, cur->value);
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
}
}
- for (cur = size_prop->next; cur != size_prop; cur = cur->next) {
- if (cur->value && *cur->value) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- if (STRCASEEQ('x','X',"xx-small",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "1");
- }
- else if (STRCASEEQ('x','X',"x-small",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "2");
- }
- else if (STRCASEEQ('s','S',"small",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "3");
- }
- else if (STRCASEEQ('m','M',"medium",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "4");
- }
- else if (STRCASEEQ('l','L',"large",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "5");
- }
- else if (STRCASEEQ('x','X',"x-large",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "6");
- }
- else if (STRCASEEQ('x','X',"xx-large",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "7");
- }
+ for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('t','T',"top",cur->value) || STRCASEEQ('m','M',"middle",cur->value) || STRCASEEQ('b','B',"bottom",cur->value))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, cur->value);
}
}
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
}
}
- jxhtml_flags_t *flg = (jxhtml_flags_t *)apr_palloc(doc->pool, sizeof(*flg));
- memset(flg, 0, sizeof(*flg));
- if (attr_color) {
- attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
- W_L("<font color=\"");
- W_V(attr_color);
- W_L("\">");
- flg->font_color_flag = 1;
+
+ W_L("<tr");
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
}
- if (attr_size) {
- flg->font_size_flag = 1;
- switch(*attr_size) {
- case '1': W_L("<span style=\"font-size: xx-small\">"); break;
+ if (attr_valign){
+ W_L(" valign=\"");
+ W_V(attr_valign);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ W_L(">");
+ return jxhtml->out;
+}
+
+
+/**
+ * It is a handler who processes the TR tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_end_tr_tag(void *pdoc, Node *UNUSED(child))
+{
+ jxhtml_t *jxhtml;
+ request_rec *r;
+ Doc *doc;
+
+ jxhtml = GET_JXHTML(pdoc);
+ doc = jxhtml->doc;
+ r = jxhtml->doc->r;
+
+ W_L("</tr>");
+ return jxhtml->out;
+}
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_start_td_or_th_tag(void *pdoc, Node *node,char *tagName)
+{
+ jxhtml_t *jxhtml;
+ Doc *doc;
+ request_rec *r;
+
+ Attr *attr;
+
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_valign = NULL;
+ char *attr_bgcolor = NULL;
+ char *attr_colspan = NULL;
+ char *attr_rowspan = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+
+ jxhtml = GET_JXHTML(pdoc);
+ doc = jxhtml->doc;
+ r = doc->r;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *val = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('v','V',"valign",name) && val && *val) {
+ if (val && (STRCASEEQ('t','T',"top",val) || STRCASEEQ('m','M',"middle",val) || STRCASEEQ('b','B',"bottom",val))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ else if (STRCASEEQ('c','C',"colspan",name) && val && *val) {
+ attr_colspan = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('r','R',"rowspan",name) && val && *val) {
+ attr_rowspan = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('w','W',"width",name) && val && *val) {
+ char *tmp = strstr(val, "%");
+ if(tmp){
+ attr_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else{
+ attr_width = apr_psprintf(doc->buf.pool,"%spx",val);
+ }
+ }
+ else if (STRCASEEQ('h','H',"height",name) && val && *val) {
+ char *tmp = strstr(val, "%");
+ if(tmp){
+ attr_height = apr_pstrdup(doc->buf.pool, val);
+ }
+ else{
+ attr_height = apr_psprintf(doc->buf.pool,"%spx",val);
+ }
+ }
+ }
+
+ if (IS_CSS_ON(jxhtml->entryp)) {
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *valign_prop = chxj_css_get_property_value(doc, style, "vertical-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
+ css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
+
+ css_property_t *cur;
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('t','T',"top",cur->value) || STRCASEEQ('m','M',"middle",cur->value) || STRCASEEQ('b','B',"bottom",cur->value))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
+ attr_width = apr_pstrdup(doc->pool, cur->value);
+ }
+ for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
+ attr_height = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ }
+
+ W_L("<");
+ W_V(tagName);
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ if (attr_valign){
+ W_L(" valign=\"");
+ W_V(attr_valign);
+ W_L("\"");
+ }
+ if (attr_colspan){
+ W_L(" colspan=\"");
+ W_V(attr_colspan);
+ W_L("\"");
+ }
+ if (attr_rowspan){
+ W_L(" rowspan=\"");
+ W_V(attr_rowspan);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ if (attr_width || attr_height ){
+ W_L(" style=\"");
+ if (attr_width){
+ W_L("width:");
+ W_V(attr_width);
+ W_L(";");
+ }
+ if (attr_height){
+ W_L("height:");
+ W_V(attr_height);
+ W_L(";");
+ }
+ W_L("\"");
+ }
+ W_L(">");
+ return jxhtml->out;
+}
+
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_end_td_or_th_tag(void *pdoc, Node *UNUSED(child),char *tagName)
+{
+ jxhtml_t *jxhtml;
+ request_rec *r;
+ Doc *doc;
+
+ jxhtml = GET_JXHTML(pdoc);
+ doc = jxhtml->doc;
+ r = jxhtml->doc->r;
+
+ W_L("</");
+ W_V(tagName);
+ W_L(">");
+ return jxhtml->out;
+}
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TD tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_start_td_tag(void *pdoc, Node *node)
+{
+ return s_jxhtml_start_td_or_th_tag(pdoc,node,"td");
+}
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TD tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_end_td_tag(void *pdoc, Node *node)
+{
+ return s_jxhtml_end_td_or_th_tag(pdoc,node,"td");
+}
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TD tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_start_th_tag(void *pdoc, Node *node)
+{
+ return s_jxhtml_start_td_or_th_tag(pdoc,node,"th");
+}
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TD tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_end_th_tag(void *pdoc, Node *node)
+{
+ return s_jxhtml_end_td_or_th_tag(pdoc,node,"th");
+}
+
+/**
+ * It is a handler who processes the FONT tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The FONT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_start_font_tag(void *pdoc, Node *node)
+{
+ jxhtml_t *jxhtml;
+ Doc *doc;
+ request_rec *r;
+ Attr *attr;
+ char *attr_color = NULL;
+ char *attr_size = NULL;
+ char *attr_style = NULL;
+
+ jxhtml = GET_JXHTML(pdoc);
+ doc = jxhtml->doc;
+ r = doc->r;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('c','C',"color",name) && value && *value) {
+ attr_color = apr_pstrdup(doc->buf.pool, value);
+ }
+ else if (STRCASEEQ('s','S',"size",name) && value && *value) {
+ /*----------------------------------------------------------------------*/
+ /* CHTML 5.0 */
+ /*----------------------------------------------------------------------*/
+ attr_size = apr_pstrdup(doc->buf.pool, value);
+ }
+ else if (STRCASEEQ('s','S',"style",name) && value && *value) {
+ attr_style = apr_pstrdup(doc->buf.pool, value);
+ }
+ }
+ if (IS_CSS_ON(jxhtml->entryp)) {
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
+ css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
+ css_property_t *cur;
+ for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ attr_color = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ for (cur = size_prop->next; cur != size_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ attr_size = apr_pstrdup(doc->pool, cur->value);
+ if (STRCASEEQ('x','X',"xx-small",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "1");
+ }
+ else if (STRCASEEQ('x','X',"x-small",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "2");
+ }
+ else if (STRCASEEQ('s','S',"small",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "3");
+ }
+ else if (STRCASEEQ('m','M',"medium",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "4");
+ }
+ else if (STRCASEEQ('l','L',"large",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "5");
+ }
+ else if (STRCASEEQ('x','X',"x-large",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "6");
+ }
+ else if (STRCASEEQ('x','X',"xx-large",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "7");
+ }
+ }
+ }
+ }
+ }
+ jxhtml_flags_t *flg = (jxhtml_flags_t *)apr_palloc(doc->pool, sizeof(*flg));
+ memset(flg, 0, sizeof(*flg));
+ if (attr_color) {
+ attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
+ W_L("<font color=\"");
+ W_V(attr_color);
+ W_L("\">");
+ flg->font_color_flag = 1;
+ }
+ if (attr_size) {
+ flg->font_size_flag = 1;
+ switch(*attr_size) {
+ case '1': W_L("<span style=\"font-size: xx-small\">"); break;
case '2': W_L("<span style=\"font-size: x-small\">"); break;
case '3': W_L("<span style=\"font-size: small\">"); break;
case '4': W_L("<span style=\"font-size: medium\">"); break;
char *attr_color = NULL;
char *attr_align = NULL;
char *attr_name = NULL;
+ char *css_clear = NULL;
char *new_hidden_tag = NULL;
jxhtml = GET_JXHTML(pdoc);
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *text_align_prop = chxj_css_get_property_value(doc, style, "text-align");
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
attr_color = apr_pstrdup(doc->pool, cur->value);
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_V(attr_name);
W_L("\"");
}
+ if (css_clear) {
+ W_L(" style=\"");
+ W_L("clear:");
+ W_V(css_clear);
+ W_L("\"");
+ }
W_L(">");
jxhtml_flags_t *flg = (jxhtml_flags_t *)apr_palloc(doc->pool, sizeof(jxhtml_flags_t));
return jxhtml->out;
}
+static char *
+s_jxhtml_istyle_to_wap_input_format(apr_pool_t *p, const char *s)
+{
+ if (s) {
+ switch (s[0]) {
+ case '1': return apr_psprintf(p, ""*<ja:h>"");
+ case '2': return apr_psprintf(p, ""*<ja:hk>"");
+ case '3': return apr_psprintf(p, ""*<ja:en>"");
+ case '4': return apr_psprintf(p, ""*<ja:n>"");
+ default:
+ return apr_pstrdup(p, "");
+ }
+ }
+
+ return apr_pstrdup(p,"");
+}
+
/**
* It is a handler who processes the INPUT tag.
W_L("\"");
}
if (attr_istyle && (*attr_istyle == '1' || *attr_istyle == '2' || *attr_istyle == '3' || *attr_istyle == '4')) {
- /*------------------------------------------------------------------------*/
- /* CHTML 2.0 */
- /*------------------------------------------------------------------------*/
- if (attr_type && STRCASEEQ('p','P',"password", attr_type) && ! jxhtml->entryp->pc_flag ) {
- char *vv = qs_conv_istyle_to_format(doc->buf.pool, "4");
- W_L(" style=\"-wap-input-format:"*");
- W_V(vv);
- W_L("";\"");
- }
- else {
- char *vv = qs_conv_istyle_to_format(doc->buf.pool, attr_istyle);
- W_L(" style=\"");
- W_L("-wap-input-format:"*");
- W_V(vv);
- W_L("";");
- W_L("\"");
- }
+ W_L(" istyle=\"");
+ W_V(attr_istyle);
+ W_L("\"");
+
+ char *vv = s_jxhtml_istyle_to_wap_input_format(doc->buf.pool,attr_istyle);
+ W_L(" style=\"");
+ W_L("-wrap-input-format:");
+ W_V(vv);
+ W_L(";");
+ W_L("\"");
}
- else if (attr_type && STRCASEEQ('p','P',"password",attr_type)) {
- char *vv = qs_conv_istyle_to_format(doc->buf.pool, "4");
- W_L(" style=\"-wap-input-format:"*");
+ else if(attr_type && STRCASEEQ('p','P',"password",attr_type)) {
+ W_L(" istyle=\"4\"");
+
+ char *vv = s_jxhtml_istyle_to_wap_input_format(doc->buf.pool,"4");
+ W_L(" style=\"");
+ W_L("-wrap-input-format:");
W_V(vv);
- W_L("";\"");
+ W_L(";");
+ W_L("\"");
}
/*--------------------------------------------------------------------------*/
/* The figure is default for the password. */
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
css_property_t *cur;
W_V(attr_value);
W_L("\"");
}
-
-
- W_L("<li");
- if (attr_type) {
- W_L(" style=\"");
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
- W_L("\"");
- }
- if (attr_value) {
- W_L(" value=\"");
- W_V(attr_value);
- W_L("\"");
- }
W_L(">");
return jxhtml->out;
}
char *attr_style = NULL;
char *attr_start = NULL;
char *attr_type = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('d','D',"decimal", cur->value)) {
attr_type = apr_pstrdup(doc->pool, "lower-alpha");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<ol");
- if (attr_type) {
- W_L(" style=\"");
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
- W_L("\"");
- }
- if (attr_start) {
- W_L(" start=\"");
- W_V(attr_start);
- W_L("\"");
- }
- W_L("<ol");
- if (attr_type) {
+ if (attr_type || css_clear) {
W_L(" style=\"");
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
+ if (attr_type) {
+ W_L("list-style-type:");
+ W_V(attr_type);
+ W_L(";");
+ }
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
if (attr_start) {
char *attr_style = NULL;
char *attr_color = NULL;
char *attr_blink = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *text_align_prop = chxj_css_get_property_value(doc, style, "text-align");
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *text_deco_prop = chxj_css_get_property_value(doc, style, "text-decoration");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left",cur->value)) {
attr_blink = apr_pstrdup(doc->pool, cur->value);
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<p");
- if ((attr_align && *attr_align) || (attr_color && *attr_color) || (attr_blink && *attr_blink)) {
+ if ((attr_align && *attr_align) || (attr_color && *attr_color) || (attr_blink && *attr_blink) || css_clear) {
W_L(" style=\"");
if (attr_align) {
W_L("text-align:");
W_V(attr_blink);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Doc *doc = jxhtml->doc;
Attr *attr;
char *attr_style = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
if (IS_CSS_ON(jxhtml->entryp)) {
- s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
+ css_property_t *cur;
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
}
jxhtml->pre_flag++;
- W_L("<pre>");
+ W_L("<pre");
+ if (css_clear) {
+ W_L(" style=\"");
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ W_L("\"");
+ }
+ W_L(">");
return jxhtml->out;
}
Attr *attr;
char *attr_type = NULL;
char *attr_style = NULL;
+ char *css_clear = NULL;
+
/*--------------------------------------------------------------------------*/
/* Get Attributes */
/*--------------------------------------------------------------------------*/
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('d','D',"disc",cur->value)) {
attr_type = apr_pstrdup(doc->pool, "square");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<ul");
- if (attr_type) {
+ if (attr_type || css_clear) {
W_L(" style=\"");
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
+ if (attr_type ){
+ W_L("list-style-type:");
+ W_V(attr_type);
+ W_L(";");
+ }
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
char *attr_noshade = NULL;
char *attr_style = NULL;
char *attr_color = NULL;
+
+ char *style_float = NULL;
+ char *style_border_color = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
css_property_t *border_style_prop = chxj_css_get_property_value(doc, style, "border-style");
css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
+
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *float_prop = chxj_css_get_property_value(doc, style, "float");
+ css_property_t *border_color_prop = chxj_css_get_property_value(doc, style, "border-color");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
+
for (cur = border_style_prop->next; cur != border_style_prop; cur = cur->next) {
if (STRCASEEQ('s','S',"solid",cur->value)) {
attr_noshade = "noshade";
}
}
for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
+ attr_size = apr_pstrdup(doc->pool, cur->value);
+ }
+ if(!attr_color){
+ for(cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next){
+ char *tmp = apr_pstrdup(doc->pool,cur->value);
+ attr_color = apr_pstrdup(doc->pool,tmp);
+ }
+ }
+ for (cur = float_prop->next; cur != float_prop; cur = cur->next) {
char *tmp = apr_pstrdup(doc->pool, cur->value);
- char *tmpp = strstr(tmp, "px");
- if (tmpp) {
- attr_size = apr_pstrdup(doc->pool, tmp);
+ char *tmpp = strstr(tmp,"none");
+ if(tmpp){
+ style_float = "center";
+ }
+ else{
+ style_float = apr_pstrdup(doc->pool,tmp);
}
}
+
+
for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
char *tmp = apr_pstrdup(doc->pool, cur->value);
char *tmpp = strstr(tmp, "px");
}
}
}
+
+ for (cur = border_color_prop->next; cur != border_color_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ if(tmp){
+ style_border_color = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<hr");
W_V(attr_align);
W_L("\"");
}
- if (attr_size || attr_width || attr_noshade) {
+ else{
+ if(style_float){
+ W_L(" align=\"");
+ W_V(style_float);
+ W_L("\"");
+ }
+ }
+ if (attr_size || attr_width || attr_noshade || style_border_color || css_clear) {
W_L(" style=\"");
if (attr_size) {
W_L("height:");
W_V(attr_size);
- if (!strstr(attr_size, "px")) {
+ if (chxj_chk_numeric(attr_size) == 0) {
W_L("px");
}
W_L(";");
if (attr_noshade) {
W_L("border-style:solid;");
}
+ if(style_border_color){
+ W_L("border-color:");
+ W_V(style_border_color);
+ W_V(";");
+ }
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
if (attr_color) {
W_V(attr_color);
W_L("\"");
}
+
W_L(" />");
return jxhtml->out;
char *attr_align = NULL;
char *attr_alt = NULL;
char *attr_style = NULL;
+ char *attr_hspace = NULL;
+ char *attr_vspace = NULL;
+
+ char *css_float = NULL;
+ char *css_margin_left = NULL;
+ char *css_margin_right = NULL;
+ char *css_margin_top = NULL;
+ char *css_margin_bottom = NULL;
+ char *css_display = NULL;
+ char *css_valign = NULL;
+
#ifndef IMG_NOT_CONVERT_FILENAME
device_table *spec = jxhtml->spec;
#endif
value = chxj_encoding_parameter(r, value, 1);
value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jxhtml->entryp, 1);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,jxhtml->conf,value);
attr_src = value;
#else
value = chxj_img_conv(r, spec, value);
value = chxj_encoding_parameter(r, value, 1);
value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jxhtml->entryp, 1);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,jxhtml->conf,value);
attr_src = value;
#endif
}
if (value) {
if (STRCASEEQ('t','T',"top", value) ||
STRCASEEQ('m','M',"middle",value) ||
- STRCASEEQ('b','B',"bottom",value) ||
- STRCASEEQ('l','L',"left", value) ||
- STRCASEEQ('r','R',"right", value)) {
- attr_align = value;
+ STRCASEEQ('b','B',"bottom",value)){
+ css_valign = value;
+ }else if (STRCASEEQ('l','L',"left", value) || STRCASEEQ('r','R',"right", value)) {
+ css_float = value;
}
else if (STRCASEEQ('c','C',"center",value)) {
- attr_align = apr_pstrdup(doc->pool, "middle");
+ css_valign = apr_pstrdup(doc->pool, "middle");
}
}
}
/*----------------------------------------------------------------------*/
/* CHTML 1.0 */
/*----------------------------------------------------------------------*/
- /* ignore */
+ attr_hspace = value;
}
else if (STRCASEEQ('v','V',"vspace",name)) {
/*----------------------------------------------------------------------*/
/* CHTML 1.0 */
/*----------------------------------------------------------------------*/
- /* ignore */
+ attr_vspace = value;
}
else if (STRCASEEQ('a','A',"alt",name) && value && *value) {
/*----------------------------------------------------------------------*/
css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
css_property_t *valign_prop = chxj_css_get_property_value(doc, style, "vertical-align");
+ css_property_t *margin_left_prop = chxj_css_get_property_value(doc, style, "margin-left");
+ css_property_t *margin_right_prop = chxj_css_get_property_value(doc, style, "margin-right");
+ css_property_t *margin_top_prop = chxj_css_get_property_value(doc, style, "margin-top");
+ css_property_t *margin_bottom_prop = chxj_css_get_property_value(doc, style, "margin-bottom");
+
+
css_property_t *cur;
for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
attr_height = apr_pstrdup(doc->pool, cur->value);
for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
attr_width = apr_pstrdup(doc->pool, cur->value);
}
- for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
- attr_align = apr_pstrdup(doc->pool, cur->value);
+ if(!css_valign){
+ for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
+ css_valign = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ if (! attr_hspace) {
+ for (cur = margin_left_prop->next; cur != margin_left_prop; cur = cur->next) {
+ css_margin_left = apr_pstrdup(doc->pool, cur->value);
+ }
+ for (cur = margin_right_prop->next; cur != margin_right_prop; cur = cur->next) {
+ css_margin_right = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ if (! attr_vspace) {
+ for (cur = margin_top_prop->next; cur != margin_top_prop; cur = cur->next) {
+ css_margin_top = apr_pstrdup(doc->pool, cur->value);
+ }
+ for (cur = margin_bottom_prop->next; cur != margin_bottom_prop; cur = cur->next) {
+ css_margin_bottom = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ if(!css_float){
+ css_property_t *float_prop = chxj_css_get_property_value(doc, style, "float");
+ for (cur = float_prop->next; cur != float_prop; cur = cur->next) {
+ css_float = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+
+ css_property_t *display_prop = chxj_css_get_property_value(doc, style, "display");
+ for (cur = display_prop->next; cur != display_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "none");
+ if(tmpp){
+ css_display = apr_pstrdup(doc->pool, tmp);
+ }
}
}
}
W_V(attr_src);
W_L("\"");
}
- if (attr_align) {
- W_L(" align=\"");
- W_V(attr_align);
+ if (attr_hspace || attr_vspace || css_float || css_margin_left || css_margin_right || css_margin_top || css_margin_bottom || css_valign || css_display) {
+ W_L(" style=\"");
+ if(css_float){
+ W_L("float:");
+ W_V(css_float);
+ W_L(";");
+ }
+ if(css_valign){
+ W_L("vertical-align:");
+ W_V(css_valign);
+ W_L(";");
+ }
+ if (attr_hspace) {
+ W_L("margin-left:");
+ W_V(attr_hspace);
+ W_L(";");
+ W_L("margin-right:");
+ W_V(attr_hspace);
+ W_L(";");
+ }
+ else{
+ if(css_margin_left){
+ W_L("margin-left:");
+ W_V(css_margin_left);
+ W_L(";");
+ }
+ if(css_margin_right){
+ W_L("margin-right:");
+ W_V(css_margin_right);
+ W_L(";");
+ }
+ }
+ if (attr_vspace) {
+ W_L("margin-top:");
+ W_V(attr_vspace);
+ W_L(";");
+ W_L("margin-bottom:");
+ W_V(attr_vspace);
+ W_L(";");
+ }
+ else{
+ if(css_margin_top){
+ W_L("margin-top:");
+ W_V(css_margin_top);
+ W_L(";");
+ }
+ if(css_margin_bottom){
+ W_L("margin-bottom:");
+ W_V(css_margin_bottom);
+ W_L(";");
+ }
+ }
+ if(css_display){
+ W_L("display:none;");
+ }
W_L("\"");
}
+
if (attr_width) {
W_L(" width=\"");
W_V(attr_width);
W_L(">");
if (IS_CSS_ON(jxhtml->entryp)) {
- s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
}
return jxhtml->out;
W_L(">");
if (IS_CSS_ON(jxhtml->entryp)) {
- s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
}
return jxhtml->out;
char *attr_color = NULL;
char *attr_bgcolor = NULL;
char *attr_font_size = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
css_property_t *font_size_prop = chxj_css_get_property_value(doc, style, "font-size");
css_property_t *background_color_prop = chxj_css_get_property_value(doc, style, "background-color");
css_property_t *background_prop = chxj_css_get_property_value(doc, style, "background");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = display_prop->next; cur != display_prop; cur = cur->next) {
}
}
for (cur = wap_marquee_loop_prop->next; cur != wap_marquee_loop_prop; cur = cur->next) {
- attr_wap_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ if(strcmp(cur->value,"0") == 0 || strcmp(cur->value,"-1") == 0){
+ attr_wap_marquee_loop = "infinite";
+ }
+ else{
+ attr_wap_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<div");
|| attr_wap_marquee_loop
|| attr_color
|| attr_bgcolor
- || attr_font_size) {
+ || attr_font_size
+ || css_clear ) {
W_L(" style=\"");
if (attr_align) {
W_L("text-align:");
W_V(attr_font_size);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
W_L("\"");
}
if (attr_istyle) {
- char *vv = qs_conv_istyle_to_format(doc->buf.pool, attr_istyle);
- W_L(" style=\"");
- W_L("-wap-input-format:"*");
- W_V(vv);
- W_L("";");
+ W_L(" istyle=\"");
+ W_V(attr_istyle);
W_L("\"");
+
+ char *vv = s_jxhtml_istyle_to_wap_input_format(doc->buf.pool,attr_istyle);
+ W_L(" style=\"");
+ W_L("-wap-input-format:");
+ W_V(vv);
+ W_L(";");
+ W_L("\"");
+
}
W_L(">");
return jxhtml->out;
char *attr_style = NULL;
char *attr_color = NULL;
char *attr_size = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *font_size_prop = chxj_css_get_property_value(doc, style, "font-size");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
if (cur->value && *cur->value) {
}
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<blockquote");
- if (attr_color || attr_size) {
+ if (attr_color || attr_size || css_clear) {
W_L(" style=\"");
if (attr_color) {
attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
W_V(attr_size);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
char *attr_style = NULL;
char *attr_color = NULL;
char *attr_size = NULL;
+ char *css_clear = NULL;
+
for (attr = qs_get_attr(doc,node);
attr;
attr = qs_get_next_attr(doc,attr)) {
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
if (cur->value && *cur->value) {
}
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<dl");
- if (attr_color || attr_size) {
+ if (attr_color || attr_size || css_clear) {
W_L(" style=\"");
if (attr_color) {
attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
W_V(attr_size);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
- W_L("<div");
- W_L(" style=\"");
- W_L("font-size:xx-large;");
- if (attr_align) {
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ W_L("<h1");
+ if (attr_align || css_clear ) {
+ W_L(" style=\"");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
+ W_L("\"");
}
- W_L("\">");
+ W_L(">");
return jxhtml->out;
}
doc = jxhtml->doc;
r = doc->r;
- W_L("</div>");
+ W_L("</h1>");
if (IS_CSS_ON(jxhtml->entryp)) {
chxj_css_pop_prop_list(jxhtml->css_prop_stack);
}
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
- W_L("<div");
- W_L(" style=\"");
- W_L("font-size:x-large;");
- if (attr_align) {
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ W_L("<h2");
+ if (attr_align || css_clear ) {
+ W_L(" style=\"");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
+ W_L("\"");
}
- W_L("\">");
+ W_L(">");
return jxhtml->out;
}
doc = jxhtml->doc;
r = doc->r;
- W_L("</div>");
+ W_L("</h2>");
if (IS_CSS_ON(jxhtml->entryp)) {
chxj_css_pop_prop_list(jxhtml->css_prop_stack);
}
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
- W_L("<div");
- W_L(" style=\"");
- W_L("font-size:large;");
- if (attr_align) {
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ W_L("<h3");
+ if (attr_align || css_clear ) {
+ W_L(" style=\"");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
+ W_L("\"");
}
- W_L("\">");
+ W_L(">");
return jxhtml->out;
}
doc = jxhtml->doc;
r = doc->r;
- W_L("</div>");
+ W_L("</h3>");
if (IS_CSS_ON(jxhtml->entryp)) {
chxj_css_pop_prop_list(jxhtml->css_prop_stack);
}
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
else if (STRCASEEQ('c','C',"center",cur->value)) {
attr_align = apr_pstrdup(doc->pool, "center");
}
- else if (STRCASEEQ('r','R',"right",cur->value)) {
- attr_align = apr_pstrdup(doc->pool, "right");
+ else if (STRCASEEQ('r','R',"right",cur->value)) {
+ attr_align = apr_pstrdup(doc->pool, "right");
+ }
+ }
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
}
}
}
}
- W_L("<div");
- W_L(" style=\"");
- W_L("font-size:small;");
- if (attr_align) {
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ W_L("<h4");
+ if (attr_align || css_clear ) {
+ W_L(" style=\"");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
+ W_L("\"");
}
- W_L("\">");
+ W_L(">");
return jxhtml->out;
}
doc = jxhtml->doc;
r = doc->r;
- W_L("</div>");
+ W_L("</h4>");
if (IS_CSS_ON(jxhtml->entryp)) {
chxj_css_pop_prop_list(jxhtml->css_prop_stack);
}
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
- W_L("<div");
- W_L(" style=\"");
- W_L("font-size:x-small;");
- if (attr_align) {
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ W_L("<h5");
+ if (attr_align || css_clear ) {
+ W_L(" style=\"");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
+ W_L("\"");
}
- W_L("\">");
+ W_L(">");
return jxhtml->out;
}
doc = jxhtml->doc;
r = doc->r;
- W_L("</div>");
+ W_L("</h5>");
if (IS_CSS_ON(jxhtml->entryp)) {
chxj_css_pop_prop_list(jxhtml->css_prop_stack);
}
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
- W_L("<div");
- W_L(" style=\"");
- W_L("font-size:xx-small;");
- if (attr_align) {
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ W_L("<h6");
+ if (attr_align || css_clear ) {
+ W_L(" style=\"");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
+ W_L("\"");
}
- W_L("\">");
+ W_L(">");
return jxhtml->out;
}
doc = jxhtml->doc;
r = doc->r;
- W_L("</div>");
+ W_L("</h6>");
if (IS_CSS_ON(jxhtml->entryp)) {
chxj_css_pop_prop_list(jxhtml->css_prop_stack);
}
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
W_L("\"");
}
- W_L("<menu");
- if (attr_type || attr_color || attr_size) {
- W_L(" style=\"");
- if (attr_type) {
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
- }
- if (attr_color) {
- attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
- W_L("color:");
- W_V(attr_color);
- W_L(";");
- }
- if (attr_size) {
- W_L("font-size:");
- W_V(attr_size);
- W_L(";");
- }
- W_L("\"");
- }
W_L(">");
return jxhtml->out;
}
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
char *attr_marquee_dir = NULL;
char *attr_marquee_style = NULL;
char *attr_marquee_loop = NULL;
+ char *css_bgcolor = NULL;
jxhtml = GET_JXHTML(pdoc);
doc = jxhtml->doc;
}
}
if (IS_CSS_ON(jxhtml->entryp)) {
- css_prop_list_t *style = s_jxhtml_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_jxhtml_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
css_property_t *marquee_dir_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-dir");
css_property_t *marquee_style_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-style");
css_property_t *marquee_loop_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-loop");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
attr_color = apr_pstrdup(doc->pool, cur->value);
}
for (cur = marquee_loop_prop->next; cur != marquee_loop_prop; cur = cur->next) {
if (cur->value && *cur->value) {
- attr_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ if(strcmp(cur->value,"0") == 0 || strcmp(cur->value,"-1") == 0){
+ attr_marquee_loop = "infinite";
+ }
+ else{
+ attr_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ css_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
}
}
W_L("<span");
- if (attr_color || attr_size || attr_align || attr_blink || attr_marquee) {
+ if (attr_color || attr_size || attr_align || attr_blink || attr_marquee || css_bgcolor) {
W_L(" style=\"");
if (attr_color) {
attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
W_L(";");
}
}
+ if(css_bgcolor){
+ W_L("background-color:");
+ W_V(css_bgcolor);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
}
return jxhtml->out;
}
+/**
+ * It is a handler who processes the OBJECT tag.
+ *
+ * @param pdoc [i/o] The pointer to the JHTML structure at the output
+ * destination is specified.
+ * @param node [i] The OBJECT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_start_object_tag(void *pdoc, Node *node)
+{
+ jxhtml_t *jxhtml = GET_JXHTML(pdoc);
+ Doc *doc = jxhtml->doc;
+ Attr *attr;
+
+ char *attr_id = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+ char *attr_data = NULL;
+ char *attr_type = NULL;
+ char *attr_declare = NULL;
+ char *attr_classid = NULL;
+ char *attr_codebase = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('i','I',"id",name)) {
+ attr_id = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('w','W',"width",name)) {
+ attr_width = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('h','H',"height",name)) {
+ attr_height = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('d','D',"data",name)) {
+ attr_data = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('t','T',"type",name)) {
+ attr_type = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('d','D',"declare",name)) {
+ attr_declare = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('c','C',"classid",name)) {
+ attr_classid = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('c','C',"codebase",name)) {
+ attr_codebase = apr_pstrdup(doc->pool, value);
+ }
+
+ }
+ W_L("<object");
+
+ if(attr_id){
+ W_L(" id=\"");
+ W_V(attr_id);
+ W_L("\"");
+ }
+ if(attr_width){
+ W_L(" width=\"");
+ W_V(attr_width);
+ W_L("\"");
+ }
+ if(attr_height){
+ W_L(" height=\"");
+ W_V(attr_height);
+ W_L("\"");
+ }
+ if(attr_data){
+ W_L(" data=\"");
+ W_V(attr_data);
+ W_L("\"");
+ }
+ if(attr_type){
+ W_L(" type=\"");
+ W_V(attr_type);
+ W_L("\"");
+ }
+ if(attr_declare){
+ W_L(" declare=\"declare\"");
+ }
+ if(attr_classid){
+ W_L(" classid=\"");
+ W_V(attr_classid);
+ W_L("\"");
+ }
+ if(attr_codebase){
+ W_L(" codebase=\"");
+ W_V(attr_codebase);
+ W_L("\"");
+ }
+
+ W_L(">");
+ return jxhtml->out;
+}
+/**
+ * It is a handler who processes the OBJECT tag.
+ *
+ * @param pdoc [i/o] The pointer to the JHTML structure at the output
+ * destination is specified.
+ * @param node [i] The OBJECT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_end_object_tag(void *pdoc, Node *UNUSED(node))
+{
+ jxhtml_t *jxhtml = GET_JXHTML(pdoc);
+ Doc *doc = jxhtml->doc;
+
+ W_L("</object>");
+ return jxhtml->out;
+}
+/**
+ * It is a handler who processes the OBJECT tag.
+ *
+ * @param pdoc [i/o] The pointer to the JHTML structure at the output
+ * destination is specified.
+ * @param node [i] The OBJECT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_start_param_tag(void *pdoc, Node *node)
+{
+ jxhtml_t *jxhtml = GET_JXHTML(pdoc);
+ Doc *doc = jxhtml->doc;
+
+ Attr *attr;
+ char *attr_style = NULL;
+ char *attr_name = NULL;
+ char *attr_value = NULL;
+ char *attr_valuetype = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('n','N',"name",name)) {
+ attr_name = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('v','V',"value",name)) {
+ attr_value = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('v','V',"valuetype",name)) {
+ attr_valuetype = apr_pstrdup(doc->pool, value);
+ }
+ }
+ W_L("<param");
+
+ if(attr_name){
+ W_L(" name=\"");
+ W_V(attr_name);
+ W_L("\"");
+ }
+ if(attr_value){
+ W_L(" value=\"");
+ W_V(attr_value);
+ W_L("\"");
+ }
+ if(attr_valuetype){
+ W_L(" valuetype=\"");
+ W_V(attr_valuetype);
+ W_L("\"");
+ }
+ W_L(" />");
+ return jxhtml->out;
+}
+/**
+ * It is a handler who processes the CAPTION tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The CAPTION tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_start_caption_tag(void *pdoc, Node *node)
+{
+ jxhtml_t *jxhtml;
+ Doc *doc;
+ request_rec *r;
+ Attr *attr;
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+
+ jxhtml = GET_JXHTML(pdoc);
+ doc = jxhtml->doc;
+ r = doc->r;
+
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align", name)) {
+ if (value &&
+ (STRCASEEQ('l','L',"left",value)
+ || STRCASEEQ('r','R',"right",value)
+ || STRCASEEQ('t','T',"top",value)
+ || STRCASEEQ('b','B',"bottom",value)
+ )) {
+ attr_align = value;
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name) && value && *value) {
+ attr_style = value;
+ }
+ }
+
+ W_L("<caption");
+ if(attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ W_L(">");
+
+ return jxhtml->out;
+}
+
+
+/**
+ * It is a handler who processes the CAPTION tag.
+ *
+ * @param pdoc [i/o] The pointer to the JXHTML structure at the output
+ * destination is specified.
+ * @param node [i] The CAPTION tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_jxhtml_end_caption_tag(void *pdoc, Node *UNUSED(child))
+{
+ jxhtml_t* jxhtml = GET_JXHTML(pdoc);
+ Doc* doc = jxhtml->doc;
+
+ W_L("</caption>");
+
+ return jxhtml->out;
+}
+
+
/*
* vim:ts=2 et
*/
dt = apr_pcalloc(p, sizeof(device_table));
dt->next = NULL;
+ dt->provider = CHXJ_PROVIDER_UNKNOWN;
dt->device_id = NULL;
dt->device_name = NULL;
dt->html_spec_type = CHXJ_SPEC_Chtml_3_0;
dt->color = 256;
dt->dpi_width = 96;
dt->dpi_heigh = 96;
+ dt->output_encoding = "Shift_JIS";
for (child = qs_get_child_node(doc,node);
child ;
char *vv = qs_get_node_value(doc, ch);
if (STRCASEEQ('x','X',"xhtml_mobile_1_0",vv)) {
dt->html_spec_type = CHXJ_SPEC_XHtml_Mobile_1_0;
+ dt->provider = CHXJ_PROVIDER_AU;
}
else if (STRCASEEQ('c','C',"chtml_1_0",vv)) {
dt->html_spec_type = CHXJ_SPEC_Chtml_1_0;
+ dt->provider = CHXJ_PROVIDER_DOCOMO;
}
else if (STRCASEEQ('c','C',"chtml_2_0",vv)) {
dt->html_spec_type = CHXJ_SPEC_Chtml_2_0;
+ dt->provider = CHXJ_PROVIDER_DOCOMO;
}
else if (STRCASEEQ('c','C',"chtml_3_0",vv)) {
dt->html_spec_type = CHXJ_SPEC_Chtml_3_0;
+ dt->provider = CHXJ_PROVIDER_DOCOMO;
}
else if (STRCASEEQ('c','C',"chtml_4_0",vv)) {
dt->html_spec_type = CHXJ_SPEC_Chtml_4_0;
+ dt->provider = CHXJ_PROVIDER_DOCOMO;
}
else if (STRCASEEQ('c','C',"chtml_5_0",vv)) {
dt->html_spec_type = CHXJ_SPEC_Chtml_5_0;
+ dt->provider = CHXJ_PROVIDER_DOCOMO;
}
else if (STRCASEEQ('c','C',"chtml_6_0",vv)) {
dt->html_spec_type = CHXJ_SPEC_Chtml_6_0;
+ dt->provider = CHXJ_PROVIDER_DOCOMO;
}
else if (STRCASEEQ('c','C',"chtml_7_0",vv)) {
dt->html_spec_type = CHXJ_SPEC_Chtml_7_0;
+ dt->provider = CHXJ_PROVIDER_DOCOMO;
}
else if (STRCASEEQ('h','H',"hdml",vv)) {
dt->html_spec_type = CHXJ_SPEC_Hdml;
+ dt->provider = CHXJ_PROVIDER_AU;
}
else if (STRCASEEQ('j','J',"jhtml",vv)) {
dt->html_spec_type = CHXJ_SPEC_Jhtml;
+ dt->provider = CHXJ_PROVIDER_SOFTBANK;
}
else if (STRCASEEQ('j','J',"jxhtml",vv)) {
dt->html_spec_type = CHXJ_SPEC_Jxhtml;
+ dt->provider = CHXJ_PROVIDER_SOFTBANK;
}
}
}
dt->emoji_type = apr_pstrdup(p, qs_get_node_value(doc, ch));
}
break;
+ case 'o':
+ case 'O':
+ if (strcasecmp(name, "output_encoding") == 0) {
+ Node *ch = qs_get_child_node(doc, child);
+ if (ch && strcasecmp(qs_get_node_name(doc,ch), "text") == 0){
+ dt->output_encoding = apr_pstrdup(p, qs_get_node_value(doc, ch));
+ }
+ }
+ break;
default:
break;
}
}
}
}
+
+/**
+ * load device_data.xml
+ */
+void
+chxj_load_device_tsv_data(apr_file_t *fp,apr_pool_t *p, mod_chxj_config *conf)
+{
+ apr_status_t st;
+
+ char *pstat;
+ char *pair;
+
+ char *line = apr_palloc(p,256);
+
+ int is_header = 1;
+ int keynum = 0;
+ int valnum = 0;
+
+ conf->device_keys = apr_array_make(p,2, sizeof(const char*));
+ conf->device_hash = apr_hash_make(p);
+
+ while(APR_EOF != (st=apr_file_eof(fp))){
+ st = apr_file_gets(line,1024,fp);
+ if(st == APR_SUCCESS){
+ if(is_header){
+ keynum=0;
+
+ for(pair = apr_strtok(line,"\t",&pstat); pair != NULL; pair = apr_strtok(NULL,"\t",&pstat)){
+ apr_collapse_spaces(pair,pair);
+ if(keynum < 128){
+ *(const char**)apr_array_push(conf->device_keys) = apr_pstrdup(p,pair);
+ }
+
+ //ap_log_error(APLOG_MARK, APLOG_CRIT, 0, NULL, "V[[%s]]", pair);
+ keynum++;
+ }
+ is_header = 0;
+ }
+ else{
+ apr_table_t *tsv_table = apr_table_make(p,keynum);
+ valnum = 0;
+ char *uid = NULL;
+ char *provider = NULL;
+ for(pair = apr_strtok(line,"\t",&pstat); pair != NULL; pair = apr_strtok(NULL,"\t",&pstat)){
+ apr_collapse_spaces(pair,pair);
+ if(valnum < keynum){
+ const char *kn = ((const char**)conf->device_keys->elts)[valnum];
+ if(strcasecmp("-",pair) != 0){
+ apr_table_set(tsv_table,kn,pair);
+ if(strcasecmp(kn,"device_id") == 0){
+ uid = apr_pstrdup(p,pair);
+ }
+ else if(strcasecmp(kn,"provider") == 0){
+ if(strcasecmp(pair,"docomo") == 0){
+ provider = "1";
+ }
+ else if(strcasecmp(pair,"au") == 0){
+ provider = "2";
+ }
+ else if(strcasecmp(pair,"softbank") == 0){
+ provider = "3";
+ }
+ else{
+ provider = apr_pstrdup(p,pair);
+ }
+ }
+ //ap_log_error(APLOG_MARK, APLOG_CRIT, 0, NULL, "[%s] %d:V[%s] = [%s]", uid,valnum,kn,pair);
+ }
+ }
+ valnum++;
+ }
+ if(uid != NULL && *uid && provider != NULL && *provider){
+ char *key = apr_psprintf(p,"%s.%s",provider,uid);
+ //ap_log_error(APLOG_MARK, APLOG_CRIT, 0, NULL, "save hash [%s]",key );
+ apr_hash_set(conf->device_hash,key,APR_HASH_KEY_STRING,tsv_table);
+ }
+ }
+ }
+ }
+}
+
/*
* vim:ts=2 et
*/
em->imode->hex1byte = 0;
em->imode->hex2byte = 0;
em->imode->string = NULL;
+ em->imode->color = NULL;
em->imode->description = NULL;
for (child = qs_get_child_node(doc, node);
}
}
break;
+ case 'c':
+ case 'C':
+ if (strcasecmp(name, "color") == 0) {
+ Node* color_node = qs_get_child_node(doc, child);
+ if (color_node) {
+ char* cname = qs_get_node_name(doc, color_node);
+ char* cvalue = qs_get_node_value(doc, color_node);
+
+ if ((*cname == 't' || *cname == 'T') && strcasecmp(cname, "text") == 0)
+ em->imode->color = apr_pstrdup(p, cvalue);
+ }
+ else {
+ em->imode->color = apr_palloc(p, 1);
+ em->imode->color[0] = 0;
+ }
+ }
+ break;
default:
break;
}
/* <PARAM> */
/*----------------------------------------------------------------------*/
else if (strcasecmp(name, "param") == 0) {
- /* ignore param tag block. */
+ if (handlers[tagPARAM].start_tag_handler)
+ handlers[tagPARAM].start_tag_handler(pdoc, child);
+
+ chxj_node_convert(spec, r, pdoc, doc, child, indent+1);
+
+ if (handlers[tagPARAM].end_tag_handler)
+ handlers[tagPARAM].end_tag_handler(pdoc, child);
}
else {
chxj_node_convert(spec, r, pdoc, doc, child, indent+1);
/* <OBJECT> */
/*----------------------------------------------------------------------*/
if (strcasecmp(name, "object") == 0) {
- /* ignore object block */
+ if (handlers[tagOBJECT].start_tag_handler)
+ handlers[tagOBJECT].start_tag_handler(pdoc, child);
+
+ chxj_node_convert(spec, r, pdoc, doc, child, indent+1);
+
+ if (handlers[tagOBJECT].end_tag_handler)
+ handlers[tagOBJECT].end_tag_handler(pdoc, child);
}
else {
chxj_node_convert(spec, r, pdoc, doc, child, indent+1);
if (handlers[tagCENTER].end_tag_handler)
handlers[tagCENTER].end_tag_handler(pdoc, child);
}
+ else
+ /*----------------------------------------------------------------------*/
+ /* <CAPTION> */
+ /*----------------------------------------------------------------------*/
+ if (strcasecmp(name, "caption") == 0) {
+ if (handlers[tagCAPTION].start_tag_handler)
+ handlers[tagCAPTION].start_tag_handler(pdoc, child);
+
+ chxj_node_convert(spec, r, pdoc, doc, child, indent+1);
+
+ if (handlers[tagCAPTION].end_tag_handler)
+ handlers[tagCAPTION].end_tag_handler(pdoc, child);
+ }
/*----------------------------------------------------------------------*/
/* <CHXJ:IF> */
/*----------------------------------------------------------------------*/
DBG(r, "response:[%s][%" APR_SIZE_T_FMT "]", handler_ctx.response, handler_ctx.response_len);
serf_connection_close(connection);
if (handler_ctx.response) {
- ret = apr_pstrdup(ppool, handler_ctx.response);
+ ret = apr_palloc(ppool, handler_ctx.response_len + 1);
+ memset(ret, 0, handler_ctx.response_len + 1);
+ memcpy(ret, handler_ctx.response, handler_ctx.response_len);
}
else {
ret = apr_pstrdup(ppool, "");
static device_table UNKNOWN_DEVICE = {
.next = NULL,
+ .provider = CHXJ_PROVIDER_UNKNOWN,
.device_id = "",
.device_name = "UNKNOWN",
.html_spec_type = CHXJ_SPEC_UNKNOWN,
/*--------------------------------------------------------------------------*/
.color = 15680000,
.emoji_type = NULL,
+ .output_encoding = "Shift_JIS",
};
+int
+get_boolean_value(request_rec *r,const char *val){
+ switch(*val) {
+ case '0':
+ case 'f':
+ case 'F':
+ case 'n':
+ case 'N':
+ return 0;
+ break;
+ case '1':
+ case 't':
+ case 'T':
+ case 'y':
+ case 'Y':
+ return 1;
+ break;
+ }
+ return -1;
+}
+
/**
* The device is specified from UserAgent.
* @param r Request_rec is appointed.
device_table *
chxj_specified_device(request_rec *r, const char *user_agent)
{
+ device_table *returnType = &UNKNOWN_DEVICE;
+ device_table *dt;
+ mod_chxj_config *conf;
+
+ conf = chxj_get_module_config(r->per_dir_config, &chxj_module);
+
+ DBG(r, "start chxj_specified_device() %d",conf->detect_device_type);
+
+ if(! user_agent){
+ return returnType;
+ }
+
+ dt = chxj_specified_device_from_xml(r,user_agent);
+
+ if (conf->detect_device_type == CHXJ_ADD_DETECT_DEVICE_TYPE_TSV ){
+ chxj_specified_device_from_tsv(r,dt,user_agent);
+ }
+
+ DBG(r, "end chxj_specified_device() %d",conf->detect_device_type);
+ return dt;
+}
+/**
+ * The device is specified from UserAgent.
+ * @param r Request_rec is appointed.
+ * @param userAgent UserAgent is appointed here,
+ * @return The style which corresponds is returned.
+ */
+device_table *
+chxj_specified_device_from_xml(request_rec *r, const char *user_agent)
+{
ap_regmatch_t match[10];
device_table *returnType = &UNKNOWN_DEVICE;
device_table_list *dtl;
break;
}
- if (dt)
+ if (dt){
+ if (conf->detect_device_type > CHXJ_ADD_DETECT_DEVICE_TYPE_NONE ){
+ dt->device_id = device_id;
+ }
returnType = dt;
+ }
}
}
return returnType;
}
+/**
+ * The device is specified from TSV file.
+ * @param r Request_rec is appointed.
+ * @param userAgent UserAgent is appointed here,
+ * @return The style which corresponds is returned.
+ */
+device_table *
+chxj_specified_device_from_tsv(request_rec *r,device_table *spec,const char *user_agent)
+{
+ if(spec->device_id == NULL){
+ return spec;
+ }
+
+ DBG(r, "start chxj_specified_device_from_tsv() device_id:[%s]",spec->device_id);
+ mod_chxj_config *conf;
+
+ conf = chxj_get_module_config(r->per_dir_config, &chxj_module);
+
+ if(conf->device_hash == NULL){
+ return spec;
+ }
+ char *key = apr_psprintf(r->pool,"%d.%s",spec->provider,spec->device_id);
+
+ apr_table_t *ht = apr_hash_get(conf->device_hash,key,APR_HASH_KEY_STRING);
+
+ if(ht != NULL){
+ DBG(r, "found ! chxj_specified_device_from_tsv() %s",key);
+ int i;
+ for ( i=0; i< conf->device_keys->nelts; i++){
+ const char *k = ((const char**)conf->device_keys->elts)[i];
+ char *val = (char *)apr_table_get(ht,k);
+ if(val == NULL){
+ continue;
+ }
+ DBG(r, "start chxj_specified_device_from_tsv() [%s] = [%s]:[%s]",spec->device_id,k,val);
+ if (STRCASEEQ('d','D',"device_name",k)){
+ spec->device_name = apr_pstrdup(r->pool,val);
+ }
+ if (STRCASEEQ('w','W',"width",k)){
+ if(chxj_chk_numeric(val) == 0){
+ spec->width = chxj_atoi(val);
+ }
+ }
+ else if (STRCASEEQ('h','H',"heigh",k)){
+ if(chxj_chk_numeric(val) == 0){
+ spec->heigh = chxj_atoi(val);
+ }
+ }
+ else if (STRCASEEQ('h','H',"height",k)){
+ if(chxj_chk_numeric(val) == 0){
+ spec->heigh = chxj_atoi(val);
+ }
+ }
+ else if (STRCASEEQ('w','W',"wp_width",k)){
+ if(chxj_chk_numeric(val) == 0){
+ spec->wp_width = chxj_atoi(val);
+ }
+ }
+ else if (STRCASEEQ('w','W',"wp_heigh",k)){
+ if(chxj_chk_numeric(val) == 0){
+ spec->wp_heigh = chxj_atoi(val);
+ }
+ }
+ else if (STRCASEEQ('w','W',"wp_height",k)){
+ if(chxj_chk_numeric(val) == 0){
+ spec->wp_heigh = chxj_atoi(val);
+ }
+ }
+ else if (STRCASEEQ('c','C',"cache",k)){
+ if(chxj_chk_numeric(val) == 0){
+ spec->cache = chxj_atoi(val);
+ }
+ }
+ else if (STRCASEEQ('g','G',"gif",k)){
+ int tmp = get_boolean_value(r,val);
+ if(tmp > -1 ){
+ spec->available_gif = tmp;
+ }
+ }
+ else if (STRCASEEQ('j','J',"jpeg",k)){
+ int tmp = get_boolean_value(r,val);
+ if(tmp > -1 ){
+ spec->available_jpeg = tmp;
+ }
+ }
+ else if (STRCASEEQ('p','P',"png",k)){
+ int tmp = get_boolean_value(r,val);
+ if(tmp > -1 ){
+ spec->available_png = tmp;
+ }
+ }
+ else if (STRCASEEQ('b','B',"bmp2",k)){
+ int tmp = get_boolean_value(r,val);
+ if(tmp > -1 ){
+ spec->available_bmp2 = tmp;
+ }
+ }
+ else if (STRCASEEQ('b','B',"bmp4",k)){
+ int tmp = get_boolean_value(r,val);
+ if(tmp > -1 ){
+ spec->available_bmp4 = tmp;
+ }
+ }
+ else if (STRCASEEQ('c','C',"color",k)){
+ if(chxj_chk_numeric(val) == 0){
+ spec->color = chxj_atoi(val);
+ }
+ }
+ else if (STRCASEEQ('e','E',"emoji_type",k)){
+ spec->emoji_type = apr_pstrdup(r->pool,val);
+ }
+ else if (STRCASEEQ('h','H',"html_spec_type",k)){
+ if (STRCASEEQ('x','X',"xhtml_mobile_1_0",val)) {
+ spec->html_spec_type = CHXJ_SPEC_XHtml_Mobile_1_0;
+ }
+ else if (STRCASEEQ('c','C',"chtml_1_0",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Chtml_1_0;
+ }
+ else if (STRCASEEQ('c','C',"chtml_2_0",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Chtml_2_0;
+ }
+ else if (STRCASEEQ('c','C',"chtml_3_0",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Chtml_3_0;
+ }
+ else if (STRCASEEQ('c','C',"chtml_4_0",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Chtml_4_0;
+ }
+ else if (STRCASEEQ('c','C',"chtml_5_0",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Chtml_5_0;
+ }
+ else if (STRCASEEQ('c','C',"chtml_6_0",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Chtml_6_0;
+ }
+ else if (STRCASEEQ('c','C',"chtml_7_0",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Chtml_7_0;
+ }
+ else if (STRCASEEQ('h','H',"hdml",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Hdml;
+ }
+ else if (STRCASEEQ('i','I',"ixhtml",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Chtml_7_0;
+ }
+ else if (STRCASEEQ('j','J',"jhtml",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Jhtml;
+ }
+ else if (STRCASEEQ('j','J',"jxhtml",val)) {
+ spec->html_spec_type = CHXJ_SPEC_Jxhtml;
+ }
+ }
+ else if (STRCASEEQ('o','O',"output_encoding",k)){
+ spec->output_encoding = apr_pstrdup(r->pool,val);
+ }
+ }
+ }
+
+ DBG(r, "end chxj_specified_device_from_tsv() [%d]",spec->provider);
+ return spec;
+}
+
/*
* vim:ts=2 et
static char *s_xhtml_1_0_end_a_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_start_br_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_end_br_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_start_table_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_end_table_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_start_tr_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_end_tr_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_start_td_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_end_td_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_start_th_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_end_th_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_start_td_or_th_tag (void *pdoc, Node *node,char *tagName);
+static char *s_xhtml_1_0_end_td_or_th_tag (void *pdoc, Node *node,char *tagName);
static char *s_xhtml_1_0_start_font_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_end_font_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_start_form_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_start_span_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_end_span_tag (void *pdoc, Node *node);
static char *s_xhtml_1_0_style_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_start_object_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_end_object_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_start_param_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_start_caption_tag (void *pdoc, Node *node);
+static char *s_xhtml_1_0_end_caption_tag (void *pdoc, Node *node);
static void s_init_xhtml(xhtml_t *xhtml, Doc *doc, request_rec *r, device_table *spec);
static int s_xhtml_search_emoji(xhtml_t *xhtml, char *txt, char **rslt);
},
/* tagTABLE */
{
- NULL,
- NULL,
+ s_xhtml_1_0_start_table_tag,
+ s_xhtml_1_0_end_table_tag,
},
/* tagTR */
{
},
/* tagTD */
{
- NULL,
- NULL,
+ s_xhtml_1_0_start_td_tag,
+ s_xhtml_1_0_end_td_tag,
},
/* tagTBODY */
{
},
/* tagTH */
{
- NULL,
- NULL,
+ s_xhtml_1_0_start_th_tag,
+ s_xhtml_1_0_end_th_tag,
},
/* tagB */
{
s_xhtml_1_0_newline_mark,
NULL,
},
+ /* tagObject */
+ {
+ s_xhtml_1_0_start_object_tag,
+ s_xhtml_1_0_end_object_tag,
+ },
+ /* tagParam */
+ {
+ s_xhtml_1_0_start_param_tag,
+ NULL,
+ },
+ /* tagCAPTION */
+ {
+ s_xhtml_1_0_start_caption_tag,
+ s_xhtml_1_0_end_caption_tag,
+ },
};
/**
xhtml.entryp = entryp;
xhtml.cookie = cookie;
+ if (strcasecmp(spec->output_encoding,"UTF-8") == 0 ){
+ apr_table_setn(r->headers_out,HTTP_X_CHXJ_SET_CONTENT_TYPE,"text/html; charset=UTF-8");
+ }
chxj_set_content_type(r, chxj_header_inf_set_content_type(r, "text/html; charset=Windows-31J"));
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/* Add XML Declare */
/*--------------------------------------------------------------------------*/
- W_L("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>");
+ W_L("<?xml version=\"1.0\" encoding=\"");
+ W_V(xhtml->spec->output_encoding);
+ W_L("\"?>");
W_NLCODE();
/*--------------------------------------------------------------------------*/
/* Add DocType */
W_L(" ");
W_V(name);
W_L("=\"");
- W_V(chxj_header_inf_set_content_type(r, "text/html; charset=Windows-31J"));
+ W_V(chxj_header_inf_set_content_type(r, "text/html; charset=Shift_JIS"));
W_L("\"");
}
else {
char *attr_bgcolor = NULL;
char *attr_text = NULL;
char *attr_link = NULL;
+ char *attr_vlink = NULL;
char *attr_style = NULL;
+ char *attr_background = NULL;
/*--------------------------------------------------------------------------*/
/* Get Attributes */
/* ignore */
}
else if (STRCASEEQ('v','V',"vlink",name)) {
- /* ignore */
+ attr_vlink = value;
}
else if (STRCASEEQ('s','S',"style",name) && value && *value) {
attr_style = value;
}
+ else if (STRCASEEQ('b','B',"background",name) && value && *value) {
+ attr_background = value;
+ }
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *bgimage_prop = chxj_css_get_property_value(doc, style, "background-image");
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
if (cur->value && *cur->value) {
attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
}
}
+ for (cur = bgimage_prop->next; cur != bgimage_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmps = strstr(tmp,"(");
+ if(tmps){
+ char *tmpe = strstr(tmp,")");
+ size_t len = strlen(tmps) - strlen(tmpe) -1 ;
+ tmps++;
+ attr_background = apr_pstrndup(doc->pool, tmps,len);
+ }
+ }
+ }
}
if (xhtml->style) {
css_stylesheet_t *pseudos = chxj_find_pseudo_selectors(doc, xhtml->style);
}
}
}
+ else if (cur_sel->name && strcasecmp(cur_sel->name, "a:visited") == 0) {
+ css_property_t *cur;
+ for (cur = cur_sel->property_head.next; cur != &cur_sel->property_head; cur = cur->next) {
+ if (cur->name && strcasecmp(cur->name, "color") == 0) {
+ attr_vlink = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ }
}
}
}
W_V(attr_link);
W_L("\"");
}
+ if (attr_vlink) {
+ attr_vlink = chxj_css_rgb_func_to_value(doc->pool, attr_vlink);
+ W_L(" vlink=\"");
+ W_V(attr_vlink);
+ W_L("\"");
+ }
+ if (attr_background) {
+ W_L(" background=\"");
+ W_V(attr_background);
+ W_L("\"");
+ }
W_L(">");
return xhtml->out;
Doc *doc = xhtml->doc;
W_L("</body>");
+ /*
if (IS_CSS_ON(xhtml->entryp)) {
chxj_css_pop_prop_list(xhtml->css_prop_stack);
}
+ */
return xhtml->out;
}
request_rec *r = doc->r;
Attr *attr;
char *attr_style = NULL;
+ char *attr_id = NULL;
W_L("<a");
/*--------------------------------------------------------------------------*/
attr = qs_get_next_attr(doc,attr)) {
char* name = qs_get_attr_name(doc,attr);
char* value = qs_get_attr_value(doc,attr);
- if (STRCASEEQ('n','N',"name",name) && value && *value) {
- W_L(" id=\"");
- W_V(value);
- W_L("\"");
+ if (STRCASEEQ('i','I',"id",name)){
+ attr_id = apr_pstrdup(doc->buf.pool, value);
+ }
+ else if (STRCASEEQ('n','N',"name",name)) {
+ attr_id = apr_pstrdup(doc->buf.pool, value);
}
else if (STRCASEEQ('h','H',"href", name) && value && *value) {
value = chxj_encoding_parameter(r, value, 1);
attr_style = value;
}
}
+ if(attr_id){
+ W_L(" id=\"");
+ W_V(attr_id);
+ W_L("\"");
+ }
W_L(">");
if (IS_CSS_ON(xhtml->entryp)) {
- s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
}
return xhtml->out;
xhtml_t *xhtml = GET_XHTML(pdoc);
Doc *doc = xhtml->doc;
Attr *attr;
+ char *attr_style = NULL;
+ char *attr_clear = NULL;
- W_L("<br");
+
/*--------------------------------------------------------------------------*/
/* Get Attributes */
/*--------------------------------------------------------------------------*/
char *value = qs_get_attr_value(doc,attr);
if (STRCASEEQ('c','C',"clear",name)) {
if (value && (STRCASEEQ('l','L',"left",value) || STRCASEEQ('r','R',"right",value) || STRCASEEQ('a','A',"all",value))) {
- W_L(" clear=\"");
- W_V(value);
- W_L("\"");
+ attr_clear = value;
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name)) {
+ attr_style = apr_pstrdup(doc->buf.pool, value);
+ }
+ }
+ if (IS_CSS_ON(xhtml->entryp)) {
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
+ css_property_t *cur;
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ if ( STRCASEEQ('l','L',"left", cur->value)
+ || STRCASEEQ('r','R',"right", cur->value)) {
+ attr_clear = apr_pstrdup(doc->pool, cur->value);
+ }
+ else if(STRCASEEQ('b','B',"both" ,cur->value)) {
+ attr_clear = apr_pstrdup(doc->pool, "all");
+ }
+ }
}
}
}
+ W_L("<br");
+ if(attr_clear){
+ W_L(" clear=\"");
+ W_V(attr_clear);
+ W_L("\"");
+ }
W_L(" />");
return xhtml->out;
/**
- * It is a handler who processes the TR tag.
+ * It is a handler who processes the TABLE tag.
*
* @param pdoc [i/o] The pointer to the XHTML structure at the output
* destination is specified.
* @return The conversion result is returned.
*/
static char *
-s_xhtml_1_0_start_tr_tag(void *pdoc, Node *UNUSED(node))
+s_xhtml_1_0_start_table_tag(void *pdoc, Node *node)
{
xhtml_t *xhtml = GET_XHTML(pdoc);
Doc *doc = xhtml->doc;
+ request_rec *r = doc->r;
+ Attr *attr;
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+ char *attr_bgcolor = NULL;
+ char *attr_border_width = NULL;
+ char *attr_border_color = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *val = qs_get_attr_value(doc,attr);
+
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('h','H',"height",name) && val && *val) {
+ attr_height = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('w','W',"width",name) && val && *val) {
+ attr_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ else if (STRCASEEQ('b','B',"border",name) && val && *val) {
+ attr_border_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bordercolor",name) && val && *val) {
+ attr_border_color = apr_pstrdup(doc->buf.pool, val);
+ attr_border_color = chxj_css_rgb_func_to_value(doc->pool, attr_border_color);
+ }
+ }
+ if (IS_CSS_ON(xhtml->entryp)) {
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
+ css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *border_width_prop = chxj_css_get_property_value(doc, style, "border-width");
+ css_property_t *border_color_prop = chxj_css_get_property_value(doc, style, "border-color");
+
+ css_property_t *cur;
+ for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_width = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_width = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_height = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_height = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ for (cur = border_width_prop->next; cur != border_width_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "px");
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_border_width = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ attr_border_width = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ for (cur = border_color_prop->next; cur != border_color_prop; cur = cur->next) {
+ attr_border_color = apr_pstrdup(doc->pool, cur->value);
+ attr_border_color = chxj_css_rgb_func_to_value(doc->pool, attr_border_color);
+ }
+ }
+ }
- W_L("<br />");
+ W_L("<table");
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ if (attr_height){
+ W_L(" height=\"");
+ W_V(attr_height);
+ W_L("\"");
+ }
+ if (attr_width){
+ W_L(" width=\"");
+ W_V(attr_width);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ if (attr_border_width || attr_border_color ){
+ W_L(" style=\"border:");
+ if (attr_border_width){
+ W_V(attr_border_width);
+ }
+ else{
+ W_L("1");
+ }
+ W_L("px solid");
+
+ if (attr_border_color && *attr_border_color){
+ W_L(" ");
+ W_V(attr_border_color);
+ }
+ W_L(";\"");
+ }
+
+ W_L(">");
return xhtml->out;
}
/**
- * It is a handler who processes the TR tag.
+ * It is a handler who processes the TABLE tag.
*
* @param pdoc [i/o] The pointer to the XHTML structure at the output
* destination is specified.
* @return The conversion result is returned.
*/
static char *
-s_xhtml_1_0_end_tr_tag(void *pdoc, Node *UNUSED(child))
+s_xhtml_1_0_end_table_tag(void *pdoc, Node *UNUSED(child))
{
xhtml_t *xhtml = GET_XHTML(pdoc);
-
+ Doc *doc = xhtml->doc;
+ W_L("</table>");
+
return xhtml->out;
}
-
/**
- * It is a handler who processes the FONT tag.
+ * It is a handler who processes the TR tag.
*
* @param pdoc [i/o] The pointer to the XHTML structure at the output
* destination is specified.
- * @param node [i] The FONT tag node is specified.
+ * @param node [i] The TR tag node is specified.
* @return The conversion result is returned.
*/
static char *
-s_xhtml_1_0_start_font_tag(void *pdoc, Node *node)
+s_xhtml_1_0_start_tr_tag(void *pdoc, Node *node)
{
xhtml_t *xhtml = GET_XHTML(pdoc);
Doc *doc = xhtml->doc;
- Attr *attr;
- char *attr_color = NULL;
- char *attr_size = NULL;
- char *attr_style = NULL;
+ request_rec *r = doc->r;
+ Attr *attr;
+
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_valign = NULL;
+ char *attr_bgcolor = NULL;
+
/*--------------------------------------------------------------------------*/
/* Get Attributes */
/*--------------------------------------------------------------------------*/
attr;
attr = qs_get_next_attr(doc,attr)) {
char *name = qs_get_attr_name(doc,attr);
- char *value = qs_get_attr_value(doc,attr);
- if (STRCASEEQ('c','C',"color",name) && value && *value) {
- attr_color = apr_pstrdup(doc->buf.pool, value);
+ char *val = qs_get_attr_value(doc,attr);
+
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
}
- else if (STRCASEEQ('s','S',"size",name) && value && *value) {
- /*----------------------------------------------------------------------*/
- /* CHTML 5.0 */
- /*----------------------------------------------------------------------*/
- attr_size = apr_pstrdup(doc->buf.pool, value);
+ else if (STRCASEEQ('v','V',"valign",name) && val && *val) {
+ if (val && (STRCASEEQ('t','T',"top",val) || STRCASEEQ('m','M',"middle",val) || STRCASEEQ('b','B',"bottom",val))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, val);
+ }
}
- else if (STRCASEEQ('s','S',"style",name) && value && *value) {
- attr_style = apr_pstrdup(doc->buf.pool, value);
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
- css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
- css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *valign_prop = chxj_css_get_property_value(doc, style, "vertical-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+
css_property_t *cur;
- for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
- if (cur->value && *cur->value) {
- attr_color = apr_pstrdup(doc->pool, cur->value);
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
}
}
- for (cur = size_prop->next; cur != size_prop; cur = cur->next) {
- if (cur->value && *cur->value) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- if (STRCASEEQ('x','X',"xx-small",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "1");
- }
- else if (STRCASEEQ('x','X',"x-small",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "2");
- }
- else if (STRCASEEQ('s','S',"small",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "3");
- }
- else if (STRCASEEQ('m','M',"medium",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "4");
- }
- else if (STRCASEEQ('l','L',"large",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "5");
- }
- else if (STRCASEEQ('x','X',"x-large",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "6");
- }
- else if (STRCASEEQ('x','X',"xx-large",attr_size)) {
- attr_size = apr_pstrdup(doc->pool, "7");
- }
+ for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('t','T',"top",cur->value) || STRCASEEQ('m','M',"middle",cur->value) || STRCASEEQ('b','B',"bottom",cur->value))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, cur->value);
}
}
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
}
}
- xhtml_flags_t *flg = (xhtml_flags_t *)apr_palloc(doc->pool, sizeof(*flg));
- memset(flg, 0, sizeof(*flg));
- if (attr_color) {
- W_L("<font color=\"");
- W_V(attr_color);
- W_L("\">");
- flg->font_color_flag = 1;
+ W_L("<tr");
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
}
- if (attr_size) {
- flg->font_size_flag = 1;
- switch(*attr_size) {
- case '1': W_L("<span style=\"font-size: xx-small\">"); break;
- case '2': W_L("<span style=\"font-size: x-small\">"); break;
- case '3': W_L("<span style=\"font-size: small\">"); break;
- case '4': W_L("<span style=\"font-size: medium\">"); break;
- case '5': W_L("<span style=\"font-size: large\">"); break;
- case '6': W_L("<span style=\"font-size: x-large\">"); break;
- case '7': W_L("<span style=\"font-size: xx-large\">"); break;
- case '-':
- if (*(attr_size + 1) == '1') {
- W_L("<span style=\"font-size: small\">");
- break;
- }
- if (*(attr_size + 1) == '2') {
- W_L("<span style=\"font-size: x-small\">");
- break;
- }
- if (*(attr_size + 1) == '3') {
- W_L("<span style=\"font-size: xx-small\">");
- break;
- }
- flg->font_size_flag = 0;
- break;
+ if (attr_valign){
+ W_L(" valign=\"");
+ W_V(attr_valign);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ W_L(">");
- case '+':
- if (*(attr_size + 1) == '1') {
- W_L("<span style=\"font-size: large\">");
- break;
- }
- if (*(attr_size + 1) == '2') {
- W_L("<span style=\"font-size: x-large\">");
+ return xhtml->out;
+}
+
+
+/**
+ * It is a handler who processes the TR tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_end_tr_tag(void *pdoc, Node *UNUSED(child))
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+
+ W_L("</tr>");
+
+ return xhtml->out;
+}
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_start_td_or_th_tag(void *pdoc, Node *node,char *tagName)
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+
+ request_rec *r = doc->r;
+ Attr *attr;
+
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+ char *attr_valign = NULL;
+ char *attr_bgcolor = NULL;
+ char *attr_colspan = NULL;
+ char *attr_rowspan = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *val = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align",name)) {
+ if (val && (STRCASEEQ('l','L',"left",val) || STRCASEEQ('r','R',"right",val) || STRCASEEQ('c','C',"center",val))) {
+ attr_align = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('v','V',"valign",name) && val && *val) {
+ if (val && (STRCASEEQ('t','T',"top",val) || STRCASEEQ('m','M',"middle",val) || STRCASEEQ('b','B',"bottom",val))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, val);
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name) && val && *val) {
+ attr_style = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('b','B',"bgcolor",name) && val && *val) {
+ attr_bgcolor = apr_pstrdup(doc->buf.pool, val);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ else if (STRCASEEQ('c','C',"colspan",name) && val && *val) {
+ attr_colspan = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('r','R',"rowspan",name) && val && *val) {
+ attr_rowspan = apr_pstrdup(doc->buf.pool, val);
+ }
+ else if (STRCASEEQ('w','W',"width",name) && val && *val) {
+ char *tmp = strstr(val, "%");
+ if(tmp){
+ attr_width = apr_pstrdup(doc->buf.pool, val);
+ }
+ else{
+ attr_width = apr_psprintf(doc->buf.pool,"%spx",val);
+ }
+ }
+ else if (STRCASEEQ('h','H',"height",name) && val && *val) {
+ char *tmp = strstr(val, "%");
+ if(tmp){
+ attr_height = apr_pstrdup(doc->buf.pool, val);
+ }
+ else{
+ attr_height = apr_psprintf(doc->buf.pool,"%spx",val);
+ }
+ }
+ }
+
+ if (IS_CSS_ON(xhtml->entryp)) {
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *align_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *valign_prop = chxj_css_get_property_value(doc, style, "vertical-align");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+ css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
+ css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
+
+ css_property_t *cur;
+ for (cur = align_prop->next; cur != align_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('l','L',"left",cur->value) || STRCASEEQ('r','R',"right",cur->value) || STRCASEEQ('c','C',"center",cur->value))) {
+ attr_align = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
+ if (cur->value && (STRCASEEQ('t','T',"top",cur->value) || STRCASEEQ('m','M',"middle",cur->value) || STRCASEEQ('b','B',"bottom",cur->value))) {
+ attr_valign = apr_pstrdup(doc->buf.pool, cur->value);
+ }
+ }
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ attr_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
+ }
+ for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
+ attr_width = apr_pstrdup(doc->pool, cur->value);
+ }
+ for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
+ attr_height = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ }
+
+ W_L("<");
+ W_V(tagName);
+ if (attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ if (attr_valign){
+ W_L(" valign=\"");
+ W_V(attr_valign);
+ W_L("\"");
+ }
+ if (attr_colspan){
+ W_L(" colspan=\"");
+ W_V(attr_colspan);
+ W_L("\"");
+ }
+ if (attr_rowspan){
+ W_L(" rowspan=\"");
+ W_V(attr_rowspan);
+ W_L("\"");
+ }
+ if (attr_bgcolor && *attr_bgcolor){
+ W_L(" bgcolor=\"");
+ W_V(attr_bgcolor);
+ W_L("\"");
+ }
+ if (attr_width || attr_height ){
+ W_L(" style=\"");
+ if (attr_width){
+ W_L("width:");
+ W_V(attr_width);
+ W_L(";");
+ }
+ if (attr_height){
+ W_L("height:");
+ W_V(attr_height);
+ W_L(";");
+ }
+ W_L("\"");
+ }
+ W_L(">");
+
+ return xhtml->out;
+}
+
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TR tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_end_td_or_th_tag(void *pdoc, Node *UNUSED(child),char *tagName)
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+
+ W_L("</");
+ W_V(tagName);
+ W_L(">");
+
+ return xhtml->out;
+}
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TD tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_start_td_tag(void *pdoc, Node *child)
+{
+ return s_xhtml_1_0_start_td_or_th_tag(pdoc,child,"td");
+}
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TD tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_end_td_tag(void *pdoc, Node *child)
+{
+ return s_xhtml_1_0_end_td_or_th_tag(pdoc,child,"td");
+}
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TH tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_start_th_tag(void *pdoc, Node *child)
+{
+ return s_xhtml_1_0_start_td_or_th_tag(pdoc,child,"th");
+}
+
+/**
+ * It is a handler who processes the TD tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The TH tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_end_th_tag(void *pdoc, Node *child)
+{
+ return s_xhtml_1_0_end_td_or_th_tag(pdoc,child,"th");
+}
+
+
+
+/**
+ * It is a handler who processes the FONT tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The FONT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_start_font_tag(void *pdoc, Node *node)
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+ Attr *attr;
+ char *attr_color = NULL;
+ char *attr_size = NULL;
+ char *attr_style = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('c','C',"color",name) && value && *value) {
+ attr_color = apr_pstrdup(doc->buf.pool, value);
+ }
+ else if (STRCASEEQ('s','S',"size",name) && value && *value) {
+ /*----------------------------------------------------------------------*/
+ /* CHTML 5.0 */
+ /*----------------------------------------------------------------------*/
+ attr_size = apr_pstrdup(doc->buf.pool, value);
+ }
+ else if (STRCASEEQ('s','S',"style",name) && value && *value) {
+ attr_style = apr_pstrdup(doc->buf.pool, value);
+ }
+ }
+ if (IS_CSS_ON(xhtml->entryp)) {
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
+ if (style) {
+ css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
+ css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
+ css_property_t *cur;
+ for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ attr_color = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ for (cur = size_prop->next; cur != size_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ attr_size = apr_pstrdup(doc->pool, cur->value);
+ if (STRCASEEQ('x','X',"xx-small",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "1");
+ }
+ else if (STRCASEEQ('x','X',"x-small",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "2");
+ }
+ else if (STRCASEEQ('s','S',"small",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "3");
+ }
+ else if (STRCASEEQ('m','M',"medium",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "4");
+ }
+ else if (STRCASEEQ('l','L',"large",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "5");
+ }
+ else if (STRCASEEQ('x','X',"x-large",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "6");
+ }
+ else if (STRCASEEQ('x','X',"xx-large",attr_size)) {
+ attr_size = apr_pstrdup(doc->pool, "7");
+ }
+ }
+ }
+ }
+ }
+
+ xhtml_flags_t *flg = (xhtml_flags_t *)apr_palloc(doc->pool, sizeof(*flg));
+ memset(flg, 0, sizeof(*flg));
+ if (attr_color) {
+ W_L("<font color=\"");
+ W_V(attr_color);
+ W_L("\">");
+ flg->font_color_flag = 1;
+ }
+ if (attr_size) {
+ flg->font_size_flag = 1;
+ switch(*attr_size) {
+ case '1': W_L("<span style=\"font-size: xx-small\">"); break;
+ case '2': W_L("<span style=\"font-size: x-small\">"); break;
+ case '3': W_L("<span style=\"font-size: small\">"); break;
+ case '4': W_L("<span style=\"font-size: medium\">"); break;
+ case '5': W_L("<span style=\"font-size: large\">"); break;
+ case '6': W_L("<span style=\"font-size: x-large\">"); break;
+ case '7': W_L("<span style=\"font-size: xx-large\">"); break;
+ case '-':
+ if (*(attr_size + 1) == '1') {
+ W_L("<span style=\"font-size: small\">");
+ break;
+ }
+ if (*(attr_size + 1) == '2') {
+ W_L("<span style=\"font-size: x-small\">");
+ break;
+ }
+ if (*(attr_size + 1) == '3') {
+ W_L("<span style=\"font-size: xx-small\">");
+ break;
+ }
+ flg->font_size_flag = 0;
+ break;
+
+ case '+':
+ if (*(attr_size + 1) == '1') {
+ W_L("<span style=\"font-size: large\">");
+ break;
+ }
+ if (*(attr_size + 1) == '2') {
+ W_L("<span style=\"font-size: x-large\">");
break;
}
if (*(attr_size + 1) == '3') {
char *attr_color = NULL;
char *attr_align = NULL;
char *attr_name = NULL;
+ char *css_clear = NULL;
char *new_hidden_tag = NULL;
/*--------------------------------------------------------------------------*/
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *text_align_prop = chxj_css_get_property_value(doc, style, "text-align");
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
attr_color = apr_pstrdup(doc->pool, cur->value);
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_V(attr_name);
W_L("\"");
}
+ if (css_clear) {
+ W_L(" style=\"");
+ W_L("clear:");
+ W_V(css_clear);
+ W_L("\"");
+ }
W_L(">");
xhtml_flags_t *flg = (xhtml_flags_t *)apr_palloc(doc->pool, sizeof(xhtml_flags_t));
W_L("\"");
}
if (attr_istyle && *attr_istyle && (*attr_istyle == '1' || *attr_istyle == '2' || *attr_istyle == '3' || *attr_istyle == '4')) {
- char *fmt = qs_conv_istyle_to_format(r->pool,attr_istyle);
- if (attr_max_length && *attr_max_length) {
- int ii;
- for (ii=0; (unsigned int)ii<strlen(attr_max_length); ii++) {
- if (attr_max_length[ii] < '0' || attr_max_length[ii] > '9') {
- attr_max_length = apr_psprintf(r->pool, "0");
- break;
- }
- }
-
- if (strcmp(attr_max_length, "0")) {
- char *vv = apr_psprintf(r->pool, " FORMAT=\"%d%s\"", atoi(attr_max_length), fmt);
- W_V(vv);
- }
- }
- else {
- W_L(" FORMAT=\"");
- W_L("*");
- W_V(fmt);
- W_L("\"");
- }
+ W_L(" istyle=\"");
+ W_V(attr_istyle);
+ W_L("\"");
}
- else {
- if (attr_max_length && *attr_max_length) {
- if (chxj_chk_numeric(attr_max_length) != 0) {
- attr_max_length = apr_psprintf(r->pool, "0");
- }
- if (strcmp(attr_max_length, "0")) {
- char *vv = apr_psprintf(r->pool, " FORMAT=\"%dm\"", atoi(attr_max_length));
- W_V(vv);
- }
+ else if(attr_type && STRCASEEQ('p','P',"password",attr_type)) {
+ W_L(" istyle=\"4\"");
+ }
+ if (attr_max_length && *attr_max_length) {
+ if (chxj_chk_numeric(attr_max_length) == 0) {
+ W_L(" maxlength=\"");
+ W_V(attr_max_length);
+ W_L("\"");
}
}
/*--------------------------------------------------------------------------*/
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
css_property_t *border_style_prop = chxj_css_get_property_value(doc, style, "border-style");
css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
+
+ css_property_t *float_prop = chxj_css_get_property_value(doc, style, "float");
+ css_property_t *border_color_prop = chxj_css_get_property_value(doc, style, "border-color");
+
+
css_property_t *cur;
for (cur = border_style_prop->next; cur != border_style_prop; cur = cur->next) {
if (STRCASEEQ('s','S',"solid",cur->value)) {
for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
char *tmp = apr_pstrdup(doc->pool, cur->value);
char *tmpp = strstr(tmp, "px");
- if (tmpp) {
- attr_size = apr_pstrdup(doc->pool, tmp);
+ if (tmpp) {
+ size_t len = strlen(tmp) - strlen(tmpp);
+ attr_size = apr_pstrndup(doc->pool, tmp,len);
+ }
+ else{
+ char *tmp2 = strstr(tmp,"%");
+ if(!tmp2){
+ attr_size = apr_pstrdup(doc->pool, tmp);
+ }
}
}
for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
}
}
}
+ if(!attr_align){
+ for (cur = float_prop->next; cur != float_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp,"none");
+ if(tmpp){
+ attr_align = "center";
+ }
+ else{
+ if(tmp){
+ attr_align = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ }
+ }
+ if(!attr_color){
+ for (cur = border_color_prop->next; cur != border_color_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ if(tmp){
+ attr_color = apr_pstrdup(doc->pool, tmp);
+ }
+ }
+ }
+
+
}
}
W_L("<hr");
W_V(attr_align);
W_L("\"");
}
- if (attr_size || attr_width || attr_noshade) {
+ if (attr_width) {
W_L(" style=\"");
- if (attr_size) {
- W_L("height:");
- W_V(attr_size);
- if (!strstr(attr_size, "px")) {
- W_L("px");
- }
- W_L(";");
- }
+
if (attr_width) {
W_L("width:");
W_V(attr_width);
}
W_L(";");
}
- if (attr_noshade) {
- W_L("border-style:solid;");
- }
+
W_L("\"");
}
+
if (attr_color) {
W_L(" color=\"");
W_V(attr_color);
W_L("\"");
}
+
+ if(attr_size){
+ W_L(" size=\"");
+ W_V(attr_size);
+ W_L("\"");
+ }
+
W_L(" />");
return xhtml->out;
}
if (IS_CSS_ON(xhtml->entryp)) {
- s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
}
xhtml->pre_flag++;
char *attr_style = NULL;
char *attr_color = NULL;
char *attr_blink = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *text_align_prop = chxj_css_get_property_value(doc, style, "text-align");
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *text_deco_prop = chxj_css_get_property_value(doc, style, "text-decoration");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left",cur->value)) {
attr_blink = apr_pstrdup(doc->pool, cur->value);
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<p");
- if ((attr_align && *attr_align) || (attr_color && *attr_color) || (attr_blink && *attr_blink)) {
+ if ((attr_align && *attr_align) || (attr_color && *attr_color) || (attr_blink && *attr_blink) || css_clear) {
W_L(" style=\"");
if (attr_align) {
W_L("text-align:");
W_V(attr_blink);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
css_property_t *cur;
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h1");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h2");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h3");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h4");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
s_xhtml_1_0_end_h4_tag(void *pdoc, Node *UNUSED(child))
{
xhtml_t *xhtml = GET_XHTML(pdoc);
- Doc *doc = xhtml->doc;
+ Doc *doc = xhtml->doc;
W_L("</h4>");
if (IS_CSS_ON(xhtml->entryp)) {
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h5");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Attr *attr;
char *attr_style = NULL;
char *attr_align = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "text-align");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
if (STRCASEEQ('l','L',"left", cur->value)) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ if (STRCASEEQ('b','B',"both", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "both");
+ }
+ else if (STRCASEEQ('r','R',"right", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "right");
+ }
+ else if (STRCASEEQ('l','L',"left", cur->value)) {
+ css_clear = apr_pstrdup(doc->pool, "left");
+ }
+ }
}
}
W_L("<h6");
- if (attr_align) {
+ if (attr_align || css_clear ) {
W_L(" style=\"");
- W_L("text-align:");
- W_V(attr_align);
- W_L(";");
+ if(attr_align){
+ W_L("text-align:");
+ W_V(attr_align);
+ W_L(";");
+ }
+ if(css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
css_property_t *cur;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
css_property_t *cur;
char *attr_style = NULL;
char *attr_hspace = NULL;
char *attr_vspace = NULL;
+
+ char *css_margin_left = NULL;
+ char *css_margin_right = NULL;
+ char *css_margin_top = NULL;
+ char *css_margin_bottom = NULL;
+ char *css_display = NULL;
+ char *css_valign = NULL;
+
#ifndef IMG_NOT_CONVERT_FILENAME
device_table *spec = xhtml->spec;
value = chxj_encoding_parameter(r, value, 1);
value = chxj_add_cookie_parameter(r, value, xhtml->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
+ value = chxj_img_rewrite_parameter(r,xhtml->conf,value);
#ifdef IMG_NOT_CONVERT_FILENAME
attr_src = value;
if (value) {
if (STRCASEEQ('t','T',"top", value) ||
STRCASEEQ('m','M',"middle",value) ||
- STRCASEEQ('b','B',"bottom",value) ||
- STRCASEEQ('l','L',"left", value) ||
- STRCASEEQ('r','R',"right", value)) {
+ STRCASEEQ('b','B',"bottom",value)) {
+ css_valign = value;
+ }
+ else if( STRCASEEQ('l','L',"left", value) ||
+ STRCASEEQ('r','R',"right", value)) {
attr_align = value;
}
else if (STRCASEEQ('c','C',"center", value)) {
- attr_align = apr_pstrdup(doc->pool, "middle");
+ css_valign = apr_pstrdup(doc->pool, "middle");
}
}
}
css_property_t *height_prop = chxj_css_get_property_value(doc, style, "height");
css_property_t *width_prop = chxj_css_get_property_value(doc, style, "width");
css_property_t *valign_prop = chxj_css_get_property_value(doc, style, "vertical-align");
+ css_property_t *margin_left_prop = chxj_css_get_property_value(doc, style, "margin-left");
+ css_property_t *margin_right_prop = chxj_css_get_property_value(doc, style, "margin-right");
+ css_property_t *margin_top_prop = chxj_css_get_property_value(doc, style, "margin-top");
+ css_property_t *margin_bottom_prop = chxj_css_get_property_value(doc, style, "margin-bottom");
+
css_property_t *cur;
for (cur = height_prop->next; cur != height_prop; cur = cur->next) {
attr_height = apr_pstrdup(doc->pool, cur->value);
for (cur = width_prop->next; cur != width_prop; cur = cur->next) {
attr_width = apr_pstrdup(doc->pool, cur->value);
}
- for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
- attr_align = apr_pstrdup(doc->pool, cur->value);
+ if(!css_valign){
+ for (cur = valign_prop->next; cur != valign_prop; cur = cur->next) {
+ css_valign = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+
+ if (! attr_hspace) {
+ for (cur = margin_left_prop->next; cur != margin_left_prop; cur = cur->next) {
+ css_margin_left = apr_pstrdup(doc->pool, cur->value);
+ }
+ for (cur = margin_right_prop->next; cur != margin_right_prop; cur = cur->next) {
+ css_margin_right = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+
+ if (! attr_vspace) {
+ for (cur = margin_top_prop->next; cur != margin_top_prop; cur = cur->next) {
+ css_margin_top = apr_pstrdup(doc->pool, cur->value);
+ }
+ for (cur = margin_bottom_prop->next; cur != margin_bottom_prop; cur = cur->next) {
+ css_margin_bottom = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+
+ // float:[left|right] -> align
+ if(!attr_align){
+ css_property_t *float_prop = chxj_css_get_property_value(doc, style, "float");
+ for (cur = float_prop->next; cur != float_prop; cur = cur->next) {
+ attr_align = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
+ css_property_t *display_prop = chxj_css_get_property_value(doc, style, "display");
+ for (cur = display_prop->next; cur != display_prop; cur = cur->next) {
+ char *tmp = apr_pstrdup(doc->pool, cur->value);
+ char *tmpp = strstr(tmp, "none");
+ if(tmpp){
+ css_display = apr_pstrdup(doc->pool, tmp);
+ }
}
}
}
W_V(attr_height);
W_L("\"");
}
- if (attr_hspace) {
- W_L(" hspace=\"");
- W_V(attr_hspace);
- W_L("\"");
- }
- if (attr_vspace) {
- W_L(" vspace=\"");
- W_V(attr_vspace);
+ if (attr_hspace || attr_vspace || css_margin_left || css_margin_right || css_margin_top || css_margin_bottom || css_valign || css_display) {
+ W_L(" style=\"");
+ if(css_valign){
+ W_L("vertical-align:");
+ W_V(css_valign);
+ W_L(";");
+ }
+ if (attr_hspace) {
+ W_L("margin-left:");
+ W_V(attr_hspace);
+ W_L(";");
+ W_L("margin-right:");
+ W_V(attr_hspace);
+ W_L(";");
+ }
+ else{
+ if(css_margin_left){
+ W_L("margin-left:");
+ W_V(css_margin_left);
+ W_L(";");
+ }
+ if(css_margin_right){
+ W_L("margin-right:");
+ W_V(css_margin_right);
+ W_L(";");
+ }
+ }
+ if (attr_vspace) {
+ W_L("margin-top:");
+ W_V(attr_vspace);
+ W_L(";");
+ W_L("margin-bottom:");
+ W_V(attr_vspace);
+ W_L(";");
+ }
+ else{
+ if(css_margin_top){
+ W_L("margin-top:");
+ W_V(css_margin_top);
+ W_L(";");
+ }
+ if(css_margin_bottom){
+ W_L("margin-bottom:");
+ W_V(css_margin_bottom);
+ W_L(";");
+ }
+ }
+ if(css_display){
+ W_L("display:none;");
+ }
W_L("\"");
}
if (attr_alt) {
}
W_L(">");
if (IS_CSS_ON(xhtml->entryp)) {
- s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
}
return xhtml->out;
}
W_L(">");
if (IS_CSS_ON(xhtml->entryp)) {
- s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
}
return xhtml->out;
}
char *attr_color = NULL;
char *attr_bgcolor = NULL;
char *attr_font_size = NULL;
+ char *css_clear = NULL;
for (attr = qs_get_attr(doc,node);
attr;
css_property_t *font_size_prop = chxj_css_get_property_value(doc, style, "font-size");
css_property_t *background_color_prop = chxj_css_get_property_value(doc, style, "background-color");
css_property_t *background_prop = chxj_css_get_property_value(doc, style, "background");
+ css_property_t *clear_prop = chxj_css_get_property_value(doc, style, "clear");
css_property_t *cur;
for (cur = display_prop->next; cur != display_prop; cur = cur->next) {
}
}
for (cur = wap_marquee_loop_prop->next; cur != wap_marquee_loop_prop; cur = cur->next) {
- attr_wap_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ if(strcmp(cur->value,"0") == 0 || strcmp(cur->value,"-1") == 0){
+ attr_wap_marquee_loop = "infinite";
+ }
+ else{
+ attr_wap_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
+ for (cur = clear_prop->next; cur != clear_prop; cur = cur->next) {
+ css_clear = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
W_L("<div");
|| attr_wap_marquee_loop
|| attr_color
|| attr_bgcolor
- || attr_font_size) {
+ || attr_font_size
+ || css_clear ) {
W_L(" style=\"");
if (attr_align) {
W_L("text-align:");
W_V(attr_font_size);
W_L(";");
}
+ if (css_clear){
+ W_L("clear:");
+ W_V(css_clear);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
W_L("\"");
}
if (attr_istyle) {
- char *fmt = qs_conv_istyle_to_format(doc->r->pool, attr_istyle);
- W_L(" FORMAT=\"*");
- W_V(fmt);
+ W_L(" istyle=\"");
+ W_V(attr_istyle);
W_L("\"");
}
W_L(">");
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *font_size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
W_L("\"");
}
- W_L("<dir");
- if (attr_type || attr_color || attr_size) {
- W_L(" style=\"");
- if (attr_type) {
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
- }
- if (attr_color) {
- attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
- W_L("color:");
- W_V(attr_color);
- W_L(";");
- }
- if (attr_size) {
- W_L("font-size:");
- W_V(attr_size);
- W_L(";");
- }
- W_L("\"");
- }
W_L(">");
return xhtml->out;
}
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
- css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
- css_property_t *cur;
- for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
- if (cur->value && *cur->value) {
- attr_color = apr_pstrdup(doc->pool, cur->value);
- }
- }
- for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
- if (cur->value && *cur->value) {
- attr_type = apr_pstrdup(doc->pool, cur->value);
- }
- }
- for (cur = size_prop->next; cur != size_prop; cur = cur->next) {
+ css_property_t *list_style_type_prop = chxj_css_get_property_value(doc, style, "list-style-type");
+ css_property_t *cur;
+ for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
if (cur->value && *cur->value) {
- if (STRCASEEQ('x','X',"xx-small",cur->value)) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- }
- else if (STRCASEEQ('x','X',"x-small",cur->value)) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- }
- else if (STRCASEEQ('s','S',"small",cur->value)) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- }
- else if (STRCASEEQ('m','M',"medium",cur->value)) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- }
- else if (STRCASEEQ('l','L',"large",cur->value)) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- }
- else if (STRCASEEQ('x','X',"x-large",cur->value)) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- }
- else if (STRCASEEQ('x','X',"xx-large",cur->value)) {
- attr_size = apr_pstrdup(doc->pool, cur->value);
- }
+ attr_color = apr_pstrdup(doc->pool, cur->value);
}
}
for (cur = list_style_type_prop->next; cur != list_style_type_prop; cur = cur->next) {
}
W_L("\"");
}
- W_L("<menu");
- if (attr_type || attr_color || attr_size) {
- W_L(" style=\"");
- if (attr_type) {
- W_L("list-style-type:");
- W_V(attr_type);
- W_L(";");
- }
- if (attr_color) {
- attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
- W_L("color:");
- W_V(attr_color);
- W_L(";");
- }
- if (attr_size) {
- W_L("font-size:");
- W_V(attr_size);
- W_L(";");
- }
- W_L("\"");
- }
W_L(">");
return xhtml->out;
}
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
}
W_L("\"");
}
- W_L("<marquee");
- if (attr_color || attr_size || attr_direction || attr_bgcolor || attr_behavior || attr_loop) {
- W_L(" style=\"");
- if (attr_direction) {
- W_L("-wap-marquee-dir:");
- W_V(attr_direction);
- W_L(";");
- }
- if (attr_behavior) {
- W_L("-wap-marquee-style:");
- W_V(attr_behavior);
- W_L(";");
- }
- if (attr_loop) {
- W_L("-wap-marquee-loop:");
- W_V(attr_loop);
- W_L(";");
- }
- if (attr_bgcolor) {
- attr_bgcolor = chxj_css_rgb_func_to_value(doc->pool, attr_bgcolor);
- W_L("background-color:");
- W_V(attr_bgcolor);
- W_L(";");
- }
- if (attr_color) {
- attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
- W_L("color:");
- W_V(attr_color);
- W_L(";");
- }
- if (attr_size) {
- W_L("font-size:");
- W_V(attr_size);
- W_L(";");
- }
- W_L("\"");
- }
W_L(">");
return xhtml->out;
char *attr_marquee_dir = NULL;
char *attr_marquee_style = NULL;
char *attr_marquee_loop = NULL;
+ char *css_bgcolor = NULL;
xhtml = GET_XHTML(pdoc);
doc = xhtml->doc;
}
}
if (IS_CSS_ON(xhtml->entryp)) {
- css_prop_list_t *style = s_xhtml_1_0_push_and_get_now_style(pdoc, node, attr_style);
+ css_prop_list_t *style = s_xhtml_1_0_nopush_and_get_now_style(pdoc, node, attr_style);
if (style) {
css_property_t *color_prop = chxj_css_get_property_value(doc, style, "color");
css_property_t *size_prop = chxj_css_get_property_value(doc, style, "font-size");
css_property_t *marquee_dir_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-dir");
css_property_t *marquee_style_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-style");
css_property_t *marquee_loop_prop = chxj_css_get_property_value(doc, style, "-wap-marquee-loop");
+ css_property_t *bgcolor_prop = chxj_css_get_property_value(doc, style, "background-color");
+
css_property_t *cur;
for (cur = color_prop->next; cur != color_prop; cur = cur->next) {
attr_color = apr_pstrdup(doc->pool, cur->value);
}
for (cur = marquee_loop_prop->next; cur != marquee_loop_prop; cur = cur->next) {
if (cur->value && *cur->value) {
- attr_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ if(strcmp(cur->value,"0") == 0 || strcmp(cur->value,"-1") == 0){
+ attr_marquee_loop = "infinite";
+ }
+ else{
+ attr_marquee_loop = apr_pstrdup(doc->pool, cur->value);
+ }
}
}
for (cur = text_align_prop->next; cur != text_align_prop; cur = cur->next) {
attr_align = apr_pstrdup(doc->pool, "right");
}
}
+ for (cur = bgcolor_prop->next; cur != bgcolor_prop; cur = cur->next) {
+ if (cur->value && *cur->value) {
+ css_bgcolor = apr_pstrdup(doc->pool, cur->value);
+ }
+ }
}
}
W_L("<span");
- if (attr_color || attr_size || attr_align || attr_blink || attr_marquee) {
+ if (attr_color || attr_size || attr_align || attr_blink || attr_marquee || css_bgcolor) {
W_L(" style=\"");
if (attr_color) {
attr_color = chxj_css_rgb_func_to_value(doc->pool, attr_color);
W_L(";");
}
}
+ if(css_bgcolor){
+ W_L("background-color:");
+ W_V(css_bgcolor);
+ W_L(";");
+ }
W_L("\"");
}
W_L(">");
Doc *doc = xhtml->doc;
W_L("</span>");
- if (IS_CSS_ON(xhtml->entryp)) {
- chxj_css_pop_prop_list(xhtml->css_prop_stack);
- }
+
return xhtml->out;
}
}
return xhtml->out;
}
+
+/**
+ * It is a handler who processes the OBJECT tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The OBJECT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_start_object_tag(void *pdoc, Node *node)
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+
+ Attr *attr;
+
+ char *attr_id = NULL;
+ char *attr_width = NULL;
+ char *attr_height = NULL;
+ char *attr_data = NULL;
+ char *attr_type = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('i','I',"id",name)) {
+ attr_id = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('w','W',"width",name)) {
+ attr_width = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('h','H',"height",name)) {
+ attr_height = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('d','D',"data",name)) {
+ attr_data = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('t','T',"type",name)) {
+ attr_type = apr_pstrdup(doc->pool, value);
+ }
+ }
+ W_L("<object");
+
+ if(attr_id){
+ W_L(" id=\"");
+ W_V(attr_id);
+ W_L("\"");
+ }
+ if(attr_width){
+ W_L(" width=\"");
+ W_V(attr_width);
+ W_L("\"");
+ }
+ if(attr_height){
+ W_L(" height=\"");
+ W_V(attr_height);
+ W_L("\"");
+ }
+ if(attr_data){
+ W_L(" data=\"");
+ W_V(attr_data);
+ W_L("\"");
+ }
+ if(attr_type){
+ W_L(" type=\"");
+ W_V(attr_type);
+ W_L("\"");
+ }
+
+ W_L(">");
+ return xhtml->out;
+}
+
+/**
+ * It is a handler who processes the OBJECT tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The OBJECT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_end_object_tag(void *pdoc, Node *UNUSED(node))
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+
+ W_L("</object>");
+ return xhtml->out;
+}
+
+/**
+ * It is a handler who processes the OBJECT tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The OBJECT tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_start_param_tag(void *pdoc, Node *node)
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+
+ Attr *attr;
+ char *attr_style = NULL;
+ char *attr_name = NULL;
+ char *attr_value = NULL;
+ char *attr_valuetype = NULL;
+
+ /*--------------------------------------------------------------------------*/
+ /* Get Attributes */
+ /*--------------------------------------------------------------------------*/
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('n','N',"name",name)) {
+ attr_name = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('v','V',"value",name)) {
+ attr_value = apr_pstrdup(doc->pool, value);
+ }
+ else if (STRCASEEQ('v','V',"valuetype",name)) {
+ attr_valuetype = apr_pstrdup(doc->pool, value);
+ }
+ }
+ W_L("<param");
+
+ if(attr_name){
+ W_L(" name=\"");
+ W_V(attr_name);
+ W_L("\"");
+ }
+ if(attr_value){
+ W_L(" value=\"");
+ W_V(attr_value);
+ W_L("\"");
+ }
+ if(attr_valuetype){
+ W_L(" valuetype=\"");
+ W_V(attr_valuetype);
+ W_L("\"");
+ }
+ W_L(" />");
+ return xhtml->out;
+}
+/**
+ * It is a handler who processes the CAPTION tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The CAPTION tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_start_caption_tag(void *pdoc, Node *node)
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+ Attr *attr;
+ char *attr_style = NULL;
+ char *attr_align = NULL;
+
+ for (attr = qs_get_attr(doc,node);
+ attr;
+ attr = qs_get_next_attr(doc,attr)) {
+ char *name = qs_get_attr_name(doc,attr);
+ char *value = qs_get_attr_value(doc,attr);
+ if (STRCASEEQ('a','A',"align", name)) {
+ if (value &&
+ (STRCASEEQ('l','L',"left",value)
+ || STRCASEEQ('r','R',"right",value)
+ || STRCASEEQ('t','T',"top",value)
+ || STRCASEEQ('b','B',"bottom",value)
+ )) {
+ attr_align = value;
+ }
+ }
+ else if (STRCASEEQ('s','S',"style",name) && value && *value) {
+ attr_style = value;
+ }
+ }
+
+ W_L("<h1");
+ if(attr_align){
+ W_L(" align=\"");
+ W_V(attr_align);
+ W_L("\"");
+ }
+ W_L(">");
+
+ return xhtml->out;
+}
+
+
+/**
+ * It is a handler who processes the CAPTION tag.
+ *
+ * @param pdoc [i/o] The pointer to the XHTML structure at the output
+ * destination is specified.
+ * @param node [i] The CAPTION tag node is specified.
+ * @return The conversion result is returned.
+ */
+static char *
+s_xhtml_1_0_end_caption_tag(void *pdoc, Node *UNUSED(child))
+{
+ xhtml_t *xhtml = GET_XHTML(pdoc);
+ Doc *doc = xhtml->doc;
+
+ W_L("</caption>");
+ return xhtml->out;
+}
+
+
/*
* vim:ts=2 et
*/
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-ac_pwd='/home/konno/work/mod_chxj/mod_chxj/src/css'
+ac_pwd='/home/konno/work/mod_chxj/src/css'
srcdir='.'
INSTALL='/usr/bin/install -c'
MKDIR_P='/bin/mkdir -p'
s,@build_alias@,|#_!!_#|,g
s,@host_alias@,|#_!!_#|,g
s,@target_alias@,|#_!!_#|,g
-s,@build@,|#_!!_#|i686-pc-linux-gnu,g
-s,@build_cpu@,|#_!!_#|i686,g
-s,@build_vendor@,|#_!!_#|pc,g
+s,@build@,|#_!!_#|x86_64-unknown-linux-gnu,g
+s,@build_cpu@,|#_!!_#|x86_64,g
+s,@build_vendor@,|#_!!_#|unknown,g
s,@build_os@,|#_!!_#|linux-gnu,g
-s,@host@,|#_!!_#|i686-pc-linux-gnu,g
-s,@host_cpu@,|#_!!_#|i686,g
-s,@host_vendor@,|#_!!_#|pc,g
+s,@host@,|#_!!_#|x86_64-unknown-linux-gnu,g
+s,@host_cpu@,|#_!!_#|x86_64,g
+s,@host_vendor@,|#_!!_#|unknown,g
s,@host_os@,|#_!!_#|linux-gnu,g
-s,@target@,|#_!!_#|i686-pc-linux-gnu,g
-s,@target_cpu@,|#_!!_#|i686,g
-s,@target_vendor@,|#_!!_#|pc,g
+s,@target@,|#_!!_#|x86_64-unknown-linux-gnu,g
+s,@target_cpu@,|#_!!_#|x86_64,g
+s,@target_vendor@,|#_!!_#|unknown,g
s,@target_os@,|#_!!_#|linux-gnu,g
s,@INSTALL_PROGRAM@,|#_!!_#|${INSTALL},g
s,@INSTALL_SCRIPT@,|#_!!_#|${INSTALL},g
s,@CYGPATH_W@,|#_!!_#|echo,g
s,@PACKAGE@,|#_!!_#|scss,g
s,@VERSION@,|#_!!_#|1.0.0,g
-s,@ACLOCAL@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run aclocal-1.10,g
-s,@AUTOCONF@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run autoconf,g
-s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run automake-1.10,g
-s,@AUTOHEADER@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run autoheader,g
-s,@MAKEINFO@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run makeinfo,g
-s,@install_sh@,|#_!!_#|$(SHELL) /home/konno/work/mod_chxj/mod_chxj/install-sh,g
+s,@ACLOCAL@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/missing --run aclocal-1.10,g
+s,@AUTOCONF@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/missing --run autoconf,g
+s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/missing --run automake-1.10,g
+s,@AUTOHEADER@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/missing --run autoheader,g
+s,@MAKEINFO@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/missing --run makeinfo,g
+s,@install_sh@,|#_!!_#|$(SHELL) /home/konno/work/mod_chxj/install-sh,g
s,@STRIP@,|#_!!_#|strip,g
s,@INSTALL_STRIP_PROGRAM@,|#_!!_#|$(install_sh) -c -s,g
s,@mkdir_p@,|#_!!_#|/bin/mkdir -p,g
s,@AWK@,|#_!!_#|gawk,g
s,@SET_MAKE@,|#_!!_#|,g
s,@am__leading_dot@,|#_!!_#|.,g
-s,@AMTAR@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run tar,g
+s,@AMTAR@,|#_!!_#|${SHELL} /home/konno/work/mod_chxj/missing --run tar,g
s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g
s,@am__untar@,|#_!!_#|${AMTAR} xf -,g
s,@CC@,|#_!!_#|gcc,g
-s,@CFLAGS@,|#_!!_#|-g -O2 -I/usr/include/apr-1.0 -pipe -Wall -g -O2 -pthread -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/apr-1.0 -I/usr/include/postgresql,g
+s,@CFLAGS@,|#_!!_#|-g -O2 -I/usr/include/apr-1.0 -pthread -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -I/usr/include/apr-1.0 -I/usr/include/postgresql -I/usr/include/mysql,g
s,@LDFLAGS@,|#_!!_#|,g
s,@CPPFLAGS@,|#_!!_#|,g
s,@ac_ct_CC@,|#_!!_#|gcc,g
s,@am__fastdepCXX_TRUE@,|#_!!_#|,g
s,@am__fastdepCXX_FALSE@,|#_!!_#|#,g
s,@CXXCPP@,|#_!!_#|g++ -E,g
-s,@F77@,|#_!!_#|g77,g
-s,@FFLAGS@,|#_!!_#|-g -O2,g
-s,@ac_ct_F77@,|#_!!_#|g77,g
+s,@F77@,|#_!!_#|,g
+s,@FFLAGS@,|#_!!_#|,g
+s,@ac_ct_F77@,|#_!!_#|,g
s,@LIBTOOL@,|#_!!_#|/usr/bin/libtool,g
s,@LIBTOOL_DEPS@,|#_!!_#|./../../ltmain.sh,g
s,@APR_CONFIG@,|#_!!_#|/usr/bin/apr-config,g
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# The names of the tagged configurations supported by this script.
-available_tags=" CXX F77"
+available_tags=" CXX"
# ### BEGIN LIBTOOL CONFIG
-# Libtool was configured on host oregano:
+# Libtool was configured on host debian64:
# Shell to use when invoking shell scripts.
SHELL="/bin/sh"
# The host system.
host_alias=
-host=i686-pc-linux-gnu
+host=x86_64-unknown-linux-gnu
host_os=linux-gnu
# The build system.
build_alias=
-build=i686-pc-linux-gnu
+build=x86_64-unknown-linux-gnu
build_os=linux-gnu
# An echo program that does not interpret backslashes.
EGREP="/bin/grep -E"
# The linker used to build libraries.
-LD="/usr/bin/ld"
+LD="/usr/bin/ld -m elf_x86_64"
# Whether we need hard or soft links.
LN_S="ln -s"
link_all_deplibs=no
# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../ /lib/i486-linux-gnu/4.1.2/ /lib/ /usr/lib/i486-linux-gnu/4.1.2/ /usr/lib/"
+sys_lib_search_path_spec=" /usr/lib/gcc/x86_64-linux-gnu/4.3.2/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/4.3.2/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../x86_64-linux-gnu/lib/../lib/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../x86_64-linux-gnu/4.3.2/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/ /lib/x86_64-linux-gnu/4.3.2/ /lib/../lib/ /usr/lib/x86_64-linux-gnu/4.3.2/ /usr/lib/../lib/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../x86_64-linux-gnu/lib/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../ /lib/ /usr/lib/"
# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/ibm-java2-i386-60/jre/lib /usr/local/ibm-java2-i386-60/jre/lib/i386/classic /usr/local/ibm-java2-i386-60/jre/lib/i386 /usr/local/ibm-java2-i386-60/jre/lib/i386/jli /usr/local/mysql/lib/mysql /usr/lib/libc5-compat /lib/libc5-compat /usr/i486-linuxlibc1/lib /usr/X11R6/lib /usr/local/pgsql/lib /usr/lib /usr/local/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu "
+sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /usr/local/lib64 /usr/lib /var/lenny-386-chroot/lib /var/lenny-386-chroot/usr/lib /var/lenny-386-chroot/usr/X11R6/lib /var/lenny-386-chroot/usr/local/lib "
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""
# End:
# ### BEGIN LIBTOOL TAG CONFIG: CXX
-# Libtool was configured on host oregano:
+# Libtool was configured on host debian64:
# Shell to use when invoking shell scripts.
SHELL="/bin/sh"
# The host system.
host_alias=
-host=i686-pc-linux-gnu
+host=x86_64-unknown-linux-gnu
host_os=linux-gnu
# The build system.
build_alias=
-build=i686-pc-linux-gnu
+build=x86_64-unknown-linux-gnu
build_os=linux-gnu
# An echo program that does not interpret backslashes.
EGREP="/bin/grep -E"
# The linker used to build libraries.
-LD="/usr/bin/ld"
+LD="/usr/bin/ld -m elf_x86_64"
# Whether we need hard or soft links.
LN_S="ln -s"
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.1.2/crtbeginS.o"
+predep_objects="/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.3.2/crtbeginS.o"
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.2/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crtn.o"
+postdep_objects="/usr/lib/gcc/x86_64-linux-gnu/4.3.2/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crtn.o"
# Dependencies to place before the objects being linked to create a
# shared library.
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.1.2 -L/usr/lib/gcc/i486-linux-gnu/4.1.2 -L/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib -L/lib/../lib -L/usr/lib/../lib"
+compiler_lib_search_path="-L/usr/lib/gcc/x86_64-linux-gnu/4.3.2 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../.."
# Method to check whether dependent libraries are shared objects.
deplibs_check_method="pass_all"
link_all_deplibs=no
# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../i486-linux-gnu/4.1.2/ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../ /lib/i486-linux-gnu/4.1.2/ /lib/ /usr/lib/i486-linux-gnu/4.1.2/ /usr/lib/"
+sys_lib_search_path_spec=" /usr/lib/gcc/x86_64-linux-gnu/4.3.2/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/4.3.2/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../x86_64-linux-gnu/lib/../lib/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../x86_64-linux-gnu/4.3.2/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/ /lib/x86_64-linux-gnu/4.3.2/ /lib/../lib/ /usr/lib/x86_64-linux-gnu/4.3.2/ /usr/lib/../lib/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../x86_64-linux-gnu/lib/ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../ /lib/ /usr/lib/"
# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/ibm-java2-i386-60/jre/lib /usr/local/ibm-java2-i386-60/jre/lib/i386/classic /usr/local/ibm-java2-i386-60/jre/lib/i386 /usr/local/ibm-java2-i386-60/jre/lib/i386/jli /usr/local/mysql/lib/mysql /usr/lib/libc5-compat /lib/libc5-compat /usr/i486-linuxlibc1/lib /usr/X11R6/lib /usr/local/pgsql/lib /usr/lib /usr/local/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu "
+sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /usr/local/lib64 /usr/lib /var/lenny-386-chroot/lib /var/lenny-386-chroot/usr/lib /var/lenny-386-chroot/usr/X11R6/lib /var/lenny-386-chroot/usr/local/lib "
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""
# ### END LIBTOOL TAG CONFIG: CXX
-# ### BEGIN LIBTOOL TAG CONFIG: F77
-
-# Libtool was configured on host oregano:
-
-# Shell to use when invoking shell scripts.
-SHELL="/bin/sh"
-
-# Whether or not to build shared libraries.
-build_libtool_libs=yes
-
-# Whether or not to build static libraries.
-build_old_libs=yes
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=no
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=no
-
-# Whether or not to optimize for fast installation.
-fast_install=yes
-
-# The host system.
-host_alias=
-host=i686-pc-linux-gnu
-host_os=linux-gnu
-
-# The build system.
-build_alias=
-build=i686-pc-linux-gnu
-build_os=linux-gnu
-
-# An echo program that does not interpret backslashes.
-echo="echo"
-
-# The archiver.
-AR="ar"
-AR_FLAGS="cru"
-
-# A C compiler.
-LTCC="gcc"
-
-# LTCC compiler flags.
-LTCFLAGS="-g -O2"
-
-# A language-specific compiler.
-CC="g77"
-
-# Is the compiler the GNU C compiler?
-with_gcc=yes
-
-# An ERE matcher.
-EGREP="/bin/grep -E"
-
-# The linker used to build libraries.
-LD="/usr/bin/ld"
-
-# Whether we need hard or soft links.
-LN_S="ln -s"
-
-# A BSD-compatible nm program.
-NM="/usr/bin/nm -B"
-
-# A symbol stripping program
-STRIP="strip"
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=file
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="dlltool"
-
-# Used on cygwin: object dumper.
-OBJDUMP="objdump"
-
-# Used on cygwin: assembler.
-AS="as"
-
-# The name of the directory that contains temporary libtool files.
-objdir=.libs
-
-# How to create reloadable object files.
-reload_flag=" -r"
-reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
-
-# How to pass a linker flag through the compiler.
-wl="-Wl,"
-
-# Object file suffix (normally "o").
-objext="o"
-
-# Old archive suffix (normally "a").
-libext="a"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='.so'
-
-# Executable file suffix (normally "").
-exeext=""
-
-# Additional compiler flags for building library objects.
-pic_flag=" -fPIC"
-pic_mode=default
-
-# What is the maximum length of a command?
-max_cmd_len=32768
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o="yes"
-
-# Must we lock files when doing compilation?
-need_locks="no"
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=no
-
-# Do we need a version for libraries?
-need_version=no
-
-# Whether dlopen is supported.
-dlopen_support=unknown
-
-# Whether dlopen of programs is supported.
-dlopen_self=unknown
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=unknown
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag="-static"
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=""
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="\${wl}--export-dynamic"
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=""
-
-# Library versioning type.
-version_type=linux
-
-# Format of library name prefix.
-libname_spec="lib\$name"
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
-
-# The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${shared_ext}\$major"
-
-# Commands used to build and install an old-style archive.
-RANLIB="ranlib"
-old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
-old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
-old_postuninstall_cmds=""
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=""
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=""
-
-# Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
-archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
- cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
- \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
- \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
-postinstall_cmds=""
-postuninstall_cmds=""
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=""
-module_expsym_cmds=""
-
-# Commands to strip libraries.
-old_striplib="strip --strip-debug"
-striplib="strip --strip-unneeded"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=""
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=""
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=""
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method="pass_all"
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd="\$MAGIC_CMD"
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=""
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=""
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=""
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'"
-
-# This is the shared library runtime path variable.
-runpath_var=LD_RUN_PATH
-
-# This is the shared library path variable.
-shlibpath_var=LD_LIBRARY_PATH
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=no
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=immediate
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=yes
-
-# Flag to hardcode $libdir into a binary during linking.
-# This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
-
-# If ld is used when linking, flag to hardcode $libdir into
-# a binary during linking. This must work even if $libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=""
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=""
-
-# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=no
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=no
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=unsupported
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=no
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=no
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/3.4.6/ /usr/lib/gcc/i486-linux-gnu/3.4.6/ /usr/lib/gcc/i486-linux-gnu/3.4.6/../../../../i486-linux-gnu/lib/i486-linux-gnu/3.4.6/ /usr/lib/gcc/i486-linux-gnu/3.4.6/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/3.4.6/../../../i486-linux-gnu/3.4.6/ /usr/lib/gcc/i486-linux-gnu/3.4.6/../../../ /lib/i486-linux-gnu/3.4.6/ /lib/ /usr/lib/i486-linux-gnu/3.4.6/ /usr/lib/"
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/ibm-java2-i386-60/jre/lib /usr/local/ibm-java2-i386-60/jre/lib/i386/classic /usr/local/ibm-java2-i386-60/jre/lib/i386 /usr/local/ibm-java2-i386-60/jre/lib/i386/jli /usr/local/mysql/lib/mysql /usr/lib/libc5-compat /lib/libc5-compat /usr/i486-linuxlibc1/lib /usr/X11R6/lib /usr/local/pgsql/lib /usr/lib /usr/local/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu "
-
-# Fix the shell variable $srcfile for the compiler.
-fix_srcfile_path=""
-
-# Set to yes if exported symbols are required.
-always_export_symbols=no
-
-# The commands to list exported symbols.
-export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=""
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-
-# Symbols that must always be exported.
-include_expsyms=""
-
-# ### END LIBTOOL TAG CONFIG: F77
-
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
+build_triplet = x86_64-unknown-linux-gnu
+host_triplet = x86_64-unknown-linux-gnu
+target_triplet = x86_64-unknown-linux-gnu
subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run aclocal-1.10
-AMTAR = ${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run tar
+ACLOCAL = ${SHELL} /home/konno/work/mod_chxj/missing --run aclocal-1.10
+AMTAR = ${SHELL} /home/konno/work/mod_chxj/missing --run tar
APR_1_CONFIG =
APR_CONFIG = /usr/bin/apr-config
APU_1_CONFIG =
APU_CONFIG = /usr/bin/apu-config
AR = ar
-AUTOCONF = ${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run automake-1.10
+AUTOCONF = ${SHELL} /home/konno/work/mod_chxj/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/konno/work/mod_chxj/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/konno/work/mod_chxj/missing --run automake-1.10
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2 -I/usr/include/apr-1.0 -pipe -Wall -g -O2 -pthread -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/apr-1.0 -I/usr/include/postgresql
+CFLAGS = -g -O2 -I/usr/include/apr-1.0 -pthread -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -I/usr/include/apr-1.0 -I/usr/include/postgresql -I/usr/include/mysql
CPP = gcc -E
CPPFLAGS =
CXX = g++
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
-F77 = g77
-FFLAGS = -g -O2
+F77 =
+FFLAGS =
GREP = /bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
LIBTOOL_DEPS = ./../../ltmain.sh
LN_S = ln -s
LTLIBOBJS =
-MAKEINFO = ${SHELL} /home/konno/work/mod_chxj/mod_chxj/missing --run makeinfo
+MAKEINFO = ${SHELL} /home/konno/work/mod_chxj/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
OBJEXT = o
PACKAGE = scss
SHELL = /bin/sh
STRIP = strip
VERSION = 1.0.0
-abs_builddir = /home/konno/work/mod_chxj/mod_chxj/src/css/src
-abs_srcdir = /home/konno/work/mod_chxj/mod_chxj/src/css/src
-abs_top_builddir = /home/konno/work/mod_chxj/mod_chxj/src/css
-abs_top_srcdir = /home/konno/work/mod_chxj/mod_chxj/src/css
+abs_builddir = /home/konno/work/mod_chxj/src/css/src
+abs_srcdir = /home/konno/work/mod_chxj/src/css/src
+abs_top_builddir = /home/konno/work/mod_chxj/src/css
+abs_top_srcdir = /home/konno/work/mod_chxj/src/css
ac_ct_CC = gcc
ac_ct_CXX = g++
-ac_ct_F77 = g77
+ac_ct_F77 =
am__include = include
am__leading_dot = .
am__quote =
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
+build = x86_64-unknown-linux-gnu
build_alias =
-build_cpu = i686
+build_cpu = x86_64
build_os = linux-gnu
-build_vendor = pc
+build_vendor = unknown
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
+host = x86_64-unknown-linux-gnu
host_alias =
-host_cpu = i686
+host_cpu = x86_64
host_os = linux-gnu
-host_vendor = pc
+host_vendor = unknown
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = $(SHELL) /home/konno/work/mod_chxj/mod_chxj/install-sh
+install_sh = $(SHELL) /home/konno/work/mod_chxj/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
+target = x86_64-unknown-linux-gnu
target_alias =
-target_cpu = i686
+target_cpu = x86_64
target_os = linux-gnu
-target_vendor = pc
+target_vendor = unknown
top_builddir = ..
top_srcdir = ..
libscss_la_SOURCES = main.c \
iconv.c
libscss_la_CFLAGS = -O2 -prefer-pic -I. -I../include -I./serf
-AM_CFLAGS = -g -O2 -I/usr/include/apr-1.0 -pipe -Wall -g -O2 -pthread -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/apr-1.0 -I/usr/include/postgresql -O2 -prefer-pic -I. -I../include
+AM_CFLAGS = -g -O2 -I/usr/include/apr-1.0 -pthread -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -I/usr/include/apr-1.0 -I/usr/include/postgresql -I/usr/include/mysql -O2 -prefer-pic -I. -I../include
lib_LTLIBRARIES = libscss.la
all: all-am
#include "apr_dso.h"
#include "apr_general.h"
#include "apr_pools.h"
+#include "apr_file_info.h"
#include "mod_chxj.h"
#include "chxj_encoding.h"
}
}
}
+ else{
+ if(strncmp(r->content_type,"image/",6) == 0){
+ if (dconf->image_rewrite == CHXJ_IMG_REWRITE_ON && !apr_table_get(r->headers_in, CHXJ_IMG_X_HTTP_IMAGE_FILENAME)){
+ if(dconf->image_rewrite_mode == CHXJ_IMG_REWRITE_MODE_ALL){
+ // all image
+ apr_table_set(r->headers_in, CHXJ_IMG_X_HTTP_IMAGE_FILENAME, r->filename);
+ apr_table_set(r->headers_in, CHXJ_IMG_X_HTTP_IMAGE_TYPE,r->content_type);
+ r->filename = apr_pstrcat(r->pool,"img-redirect:",dconf->image_rewrite_url,NULL);
+ r->handler = "chxj-image-redirect-handler";
+ return OK;
+ }
+ else{
+ // has _chxj_imgrewrite=on in args
+ char *args_tmp = chxj_url_decode(r->pool, r->args);
+ if (strstr(args_tmp,CHXJ_IMG_REWRITE_URL_STRING)){
+ apr_table_set(r->headers_in, CHXJ_IMG_X_HTTP_IMAGE_FILENAME, r->filename);
+ apr_table_set(r->headers_in, CHXJ_IMG_X_HTTP_IMAGE_TYPE,r->content_type);
+ r->filename = apr_pstrcat(r->pool,"img-redirect:",dconf->image_rewrite_url,NULL);
+ r->handler = "chxj-image-redirect-handler";
+ return OK;
+ }
+ }
+ }
+ }
+ }
chxj_add_device_env(r, spec);
return DECLINED;
}
+static int
+chxj_image_redirect_handler(request_rec *r)
+{
+
+ if (strcmp(r->handler, "chxj-image-redirect-handler")) {
+ return DECLINED;
+ }
+
+ if (strncmp(r->filename, "img-redirect:", 13) != 0) {
+ return DECLINED;
+ }
+ DBG(r,"start chxj_image_redirect_handler");
+ ap_internal_redirect(apr_pstrcat(r->pool, r->filename+13,
+ r->args ? "?" : NULL, r->args, NULL), r);
+ DBG(r,"end chxj_image_redirect_handler");
+ return OK;
+}
+
static void
s_clear_cookie_header(request_rec *r, device_table *spec)
}
if (!r->header_only) {
+
if ((entryp->action & CONVRULE_COOKIE_ONLY_BIT) && cookie) {
dst = chxj_cookie_only_mode(r, *src, (apr_size_t *)len, cookie);
}
}
}
}
+ if (*len > 0){
+ if (strcasecmp(spec->output_encoding,"UTF-8") == 0){
+ dst = chxj_iconv(r,r->pool,dst,len,"CP932","UTF-8");
+ }
+ }
+
+
ap_set_content_length(r, *len);
if (*len == 0) {
}
+
DBG(r, "REQ[%X] end of chxj_convert()", (unsigned int)(apr_size_t)r);
return dst;
dlen = strlen(value);
DBG(r, "************ before encoding[%s]", value);
- dvalue = chxj_rencoding(r, value, &dlen);
+ dvalue = chxj_rencoding(r, value, &dlen,spec->output_encoding);
dvalue = chxj_url_encode(r->pool, dvalue);
DBG(r, "************ after encoding[%s]", dvalue);
if (name && *name != 0) {
name = chxj_url_decode(r->pool, name);
dlen = strlen(name);
- dname = chxj_rencoding(r, name, &dlen);
+ dname = chxj_rencoding(r, name, &dlen,spec->output_encoding);
dname = chxj_url_encode(r->pool, dname);
}
else {
if (value && *value != 0) {
value = chxj_url_decode(pool, value);
dlen = strlen(value);
- dvalue = chxj_rencoding(r, value, &dlen);
+ dvalue = chxj_rencoding(r, value, &dlen,spec->output_encoding);
dvalue = chxj_url_encode(pool, dvalue);
}
else {
if (name && *name != 0) {
name = chxj_url_decode(pool, name);
dlen = strlen(name);
- dname = chxj_rencoding(r, name, &dlen);
+ dname = chxj_rencoding(r, name, &dlen,spec->output_encoding);
dname = chxj_url_encode(pool, dname);
}
else {
dlen = strlen(value);
value = chxj_url_decode(pool, value);
- dvalue = chxj_rencoding(r, value, &dlen);
+ dvalue = chxj_rencoding(r, value, &dlen,spec->output_encoding);
dvalue = chxj_url_encode(pool,dvalue);
result = apr_pstrcat(pool, result, &name[8], "=", dvalue, NULL);
}
else
if ( strncasecmp(name, CHXJ_QUERY_STRING_PARAM_PREFIX, sizeof(CHXJ_QUERY_STRING_PARAM_PREFIX)-1) == 0) {
- apr_size_t dlen;
+ apr_size_t dlen = 0;
char* dvalue;
- dlen = strlen(value);
- if (dlen && value) {
+ if (value) {
+ dlen = strlen(value);
+ }
+ if (dlen) {
value = chxj_url_decode(pool, value);
- dvalue = chxj_rencoding(r, value, &dlen);
+ dvalue = chxj_rencoding(r, value, &dlen,spec->output_encoding);
dvalue = chxj_url_encode(pool,dvalue);
if (r->args && strlen(r->args) > 0) {
r->args = apr_pstrcat(pool, r->args, "&", &name[sizeof(CHXJ_QUERY_STRING_PARAM_PREFIX)-1], "=", dvalue, NULL);
dlen = strlen(value);
if (dlen && value) {
value = chxj_url_decode(pool, value);
- dvalue = chxj_rencoding(r, value, &dlen);
+ dvalue = chxj_rencoding(r, value, &dlen,spec->output_encoding);
dvalue = chxj_url_encode(pool,dvalue);
if (r->args && strlen(r->args) > 0) {
r->args = apr_pstrcat(pool, r->args, "&", &name[sizeof(CHXJ_QUERY_STRING_PARAM_PREFIX_ENC)-1], "=", dvalue, NULL);
return rv;
}
-
/**
* Add No Cache Header
*/
DBG(r, "REQ[%X] METHOD [%s]", TO_ADDR(r), r->method);
DBG(r, "REQ[%X] ", (unsigned int)(apr_size_t)r);
DBG(r, "REQ[%X] =======================================================================", (unsigned int)(apr_size_t)r);
+
+ mod_chxj_config *dconf;
+ dconf = chxj_get_module_config(r->per_dir_config, &chxj_module);
+ /*
+ if (dconf->image_rewrite ==CHXJ_IMG_REWRITE_ON ){
+ if(r->args && strcasecmp(r->args,"rewrite") == 0){
+ DBG(r, "image rewrite is ON [%s] - %s", dconf->image_rewrite_url ,r->content_type);
+ r->filename = apr_pstrcat(r->pool,dconf->image_rewrite_url,NULL);
+ return OK;
+ }
+ }
+ */
+
#if 0
return chxj_trans_name(r);
#else
contentType = (char *)apr_table_get(r->headers_in, "Content-Type");
if (contentType
&& strncasecmp("multipart/form-data", contentType, 19) == 0) {
- DBG(r, "REQ[%X] detect multipart/form-data ==> no target", (apr_size_t)(unsigned int)r);
+ DBG(r, "REQ[%X] detect multipart/form-data ==> no target", (unsigned int)(apr_size_t)r);
DBG(r, "REQ[%X] end chxj_insert_filter()", (unsigned int)(apr_size_t)r);
return;
}
ap_hook_handler(chxj_img_conv_format_handler, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_handler(chxj_qr_code_handler, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_handler(chxj_input_handler, NULL, NULL, APR_HOOK_MIDDLE);
+
+ ap_hook_handler(chxj_image_redirect_handler, NULL, NULL, APR_HOOK_MIDDLE);
+
ap_hook_translate_name(chxj_translate_name, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_fixups(chxj_headers_fixup, NULL, NULL, APR_HOOK_FIRST);
+
}
conf->emoji_data_file = NULL;
conf->emoji = NULL;
conf->emoji_tail = NULL;
+ conf->imode_emoji_color = CHXJ_IMODE_EMOJI_COLOR_NONE;
conf->image = CHXJ_IMG_NONE;
conf->image_cache_dir = apr_psprintf(p, "%s",DEFAULT_IMAGE_CACHE_DIR);
conf->image_cache_limit = 0;
conf->cookie_store_type = COOKIE_STORE_TYPE_NONE;
conf->cookie_lazy_mode = 0;
conf->cookie_dbm_type = NULL;
+
+ conf->detect_device_type = CHXJ_ADD_DETECT_DEVICE_TYPE_NONE;
+
#if defined(USE_MYSQL_COOKIE)
memset((void *)&conf->mysql, 0, sizeof(mysql_t));
conf->mysql.port = MYSQL_PORT;
/* Default is copyleft */
conf->image_copyright = NULL;
+ conf->image_rewrite = CHXJ_IMG_REWRITE_NONE;
+ conf->image_rewrite_mode = CHXJ_IMG_REWRITE_MODE_NONE;
+ conf->image_rewrite_url = NULL;
+
return conf;
}
mrg->image_cache_limit = 0;
mrg->emoji = NULL;
mrg->emoji_tail = NULL;
+ mrg->imode_emoji_color = CHXJ_IMODE_EMOJI_COLOR_NONE;
mrg->new_line_type = NLTYPE_NIL;
mrg->forward_url_base = NULL;
mrg->forward_server_ip = NULL;
mrg->allowed_cookie_domain = NULL;
mrg->post_log = NULL;
mrg->cookie_dbm_type = NULL;
+
+ mrg->device_keys = NULL;
+ mrg->device_hash = NULL;
mrg->dir = apr_pstrdup(p, add->dir);
else {
mrg->cookie_dbm_type = base->cookie_dbm_type;
}
+
+ if (add->imode_emoji_color == CHXJ_IMODE_EMOJI_COLOR_NONE) {
+ mrg->imode_emoji_color = base->imode_emoji_color;
+ }
+ else {
+ mrg->imode_emoji_color = add->imode_emoji_color;
+ }
+
+ if (add->detect_device_type == CHXJ_ADD_DETECT_DEVICE_TYPE_NONE) {
+ mrg->detect_device_type = base->detect_device_type;
+ }
+ else {
+ mrg->detect_device_type = add->detect_device_type;
+ }
+
+ if (add->device_keys) {
+ mrg->device_keys = add->device_keys;
+ }
+ else{
+ mrg->device_keys = base->device_keys;
+ }
+
+ if (add->device_hash) {
+ mrg->device_hash = add->device_hash;
+ }
+ else{
+ mrg->device_hash = base->device_hash;
+ }
+
+ if (add->image_rewrite == CHXJ_IMG_REWRITE_NONE){
+ mrg->image_rewrite = base->image_rewrite;
+ }
+ else{
+ mrg->image_rewrite = add->image_rewrite;
+ }
+
+ if (add->image_rewrite_url) {
+ mrg->image_rewrite_url = add->image_rewrite_url;
+ }
+ else{
+ mrg->image_rewrite_url = base->image_rewrite_url;
+ }
+
+ if (add->image_rewrite_mode == CHXJ_IMG_REWRITE_MODE_NONE){
+ mrg->image_rewrite_mode = base->image_rewrite_mode;
+ }
+ else{
+ mrg->image_rewrite_mode = add->image_rewrite_mode;
+ }
+
return mrg;
}
if (strlen(arg) > 256)
return "cache dir name is too long.";
+
+ apr_finfo_t info;
+ apr_status_t res = apr_stat(&info,arg,APR_FINFO_TYPE,parms->pool);
+ if(res != APR_SUCCESS){
+ return apr_psprintf(parms->pool,"ChxjImageCacheDir [%s]: not found ",arg);
+ }
+ else{
+ if(info.filetype != APR_DIR){
+ return apr_psprintf(parms->pool,"ChxjImageCacheDir [%s]: is not directory ",arg);
+ }
+ }
conf = (mod_chxj_config *)mconfig;
conf->image_cache_dir = apr_pstrdup(parms->pool, arg);
return NULL;
}
+static const char *
+cmd_imode_emoji_color(
+ cmd_parms *cmd,
+ void *mconfig,
+ const char *arg)
+{
+ mod_chxj_config *dconf;
+
+ if (strlen(arg) > 256)
+ return "imode emoji color is too long.";
+
+ dconf = (mod_chxj_config *)mconfig;
+ if (strcasecmp("ON", arg) == 0) {
+ dconf->imode_emoji_color = CHXJ_IMODE_EMOJI_COLOR_ON;
+ }
+ else if(strcasecmp("AUTO",arg) == 0) {
+ dconf->imode_emoji_color = CHXJ_IMODE_EMOJI_COLOR_AUTO;
+ }
+ else {
+ dconf->imode_emoji_color = CHXJ_IMODE_EMOJI_COLOR_OFF;
+ }
+
+ return NULL;
+}
+
+static const char *
+cmd_add_device_data_tsv(cmd_parms *parms, void *mconfig, const char *arg)
+{
+ mod_chxj_config *conf;
+
+ if (strlen(arg) > 256)
+ return "mod_chxj: device tsv filename too long.";
+
+ conf = (mod_chxj_config *)mconfig;
+
+ conf->detect_device_type = CHXJ_ADD_DETECT_DEVICE_TYPE_TSV;
+
+ apr_finfo_t info;
+ apr_status_t res = apr_stat(&info,arg,APR_FINFO_TYPE,parms->pool);
+ if(res != APR_SUCCESS){
+ return apr_psprintf(parms->pool,"ChxjDeviceTSV [%s]: not found ",arg);
+ }
+ else{
+ if(info.filetype != APR_REG ){
+ return apr_psprintf(parms->pool,"ChxjDeviceTSV [%s]: is not file ",arg);
+ }
+ }
+ apr_file_t *fp;
+ apr_file_open(&fp, arg, APR_READ|APR_BUFFERED, APR_OS_DEFAULT, parms->pool);
+
+ chxj_load_device_tsv_data(fp,parms->pool,conf);
+
+ apr_file_close(fp);
+ return NULL;
+}
+
+static const char *
+cmd_image_rewrite(cmd_parms *parms, void *mconfig, const char *arg)
+{
+ mod_chxj_config *conf;
+ if (strlen(arg) > 256){
+ return "mod_chxj: set rewrite too long.";
+ }
+ conf = (mod_chxj_config *)mconfig;
+ if (strcasecmp("ON", arg) == 0) {
+ conf->image_rewrite = CHXJ_IMG_REWRITE_ON;
+ }
+ else if(strcasecmp("OFF",arg) == 0) {
+ conf->image_rewrite = CHXJ_IMG_REWRITE_OFF;
+ }
+ else {
+ conf->image_rewrite = CHXJ_IMG_REWRITE_NONE;
+ }
+ return NULL;
+}
+
+static const char *
+cmd_image_rewrite_url(cmd_parms *parms, void *mconfig, const char *arg)
+{
+ mod_chxj_config *conf;
+ if (strlen(arg) > 256){
+ return "mod_chxj: set rewrite url too long.";
+ }
+ conf = (mod_chxj_config *)mconfig;
+ conf->image_rewrite_url = apr_pstrdup(parms->pool, arg);;
+ return NULL;
+}
+
+static const char *
+cmd_image_rewrite_mode(cmd_parms *parms, void *mconfig, const char *arg)
+{
+ mod_chxj_config *conf;
+ if (strlen(arg) > 256){
+ return "mod_chxj: set rewrite mode is too long.";
+ }
+
+ conf = (mod_chxj_config *)mconfig;
+ if (strcasecmp("all",arg) == 0) {
+ conf->image_rewrite_mode = CHXJ_IMG_REWRITE_MODE_ALL;
+ }
+ else if (strcasecmp("user",arg) == 0) {
+ conf->image_rewrite_mode = CHXJ_IMG_REWRITE_MODE_USER;
+ }
+ else if (strcasecmp("tag",arg) == 0) {
+ conf->image_rewrite_mode = CHXJ_IMG_REWRITE_MODE_TAG;
+ }
+ else{
+ conf->image_rewrite_mode = CHXJ_IMG_REWRITE_MODE_NONE;
+ }
+ return NULL;
+}
static const command_rec cmds[] = {
AP_INIT_TAKE1(
NULL,
OR_ALL,
"Kind of DBM used with Cookie simulator.(default|GDBM|SDBM|DB|NDBM)"),
+ AP_INIT_TAKE1(
+ "ChxjImodeEmojiColor",
+ cmd_imode_emoji_color,
+ NULL,
+ OR_ALL,
+ "Auto i-mode emoji color"),
+ AP_INIT_TAKE1(
+ "ChxjAddDeviceDataTSV",
+ cmd_add_device_data_tsv,
+ NULL,
+ OR_ALL,
+ "Additional devices TSV data"),
+ AP_INIT_TAKE1(
+ "ChxjImageRewrite",
+ cmd_image_rewrite,
+ NULL,
+ OR_ALL,
+ "Rewrite Image"
+ ),
+ AP_INIT_TAKE1(
+ "ChxjImageRewriteUrl",
+ cmd_image_rewrite_url,
+ NULL,
+ OR_ALL,
+ "Set rewrite Image url"
+ ),
+ AP_INIT_TAKE1(
+ "ChxjImageRewriteMode",
+ cmd_image_rewrite_mode,
+ NULL,
+ OR_ALL,
+ "Set rewrite Image rewrite url mode"
+ ),
{NULL,{NULL},NULL,0,0,NULL},
};
/*
* s[0] == '<' && s[len] == '>'
*/
- tag_name = (char *)s_get_tag_name(doc, ++s, --ll);
+ if (sv_s[len-1] == '/'){
+ ll -= 2;
+ tag_name = (char *)s_get_tag_name(doc, ++s, ll);
+ }
+ else{
+ tag_name = (char *)s_get_tag_name(doc, ++s, --ll);
+ }
node = (Node *)qs_new_tag(doc);
if (! node) {
sp = ii;
for (;ii<len; ii++) {
- if (is_white_space(s[ii]))
+ if (is_white_space(s[ii]))
break;
}
-%define version 0.13.0-rc
+%define version 0.13.0
Summary: CHTML to HDML,XHTML,JHTML convert module for Apache HTTPD.
Name: mod_chxj
ret = chxj_rencoding(&r, ret, &destlen);
fprintf(stderr, "actual:[%s]\n", ret);
fprintf(stderr, "expect:[%s]\n", RESULT_STRING);
+<<<<<<< HEAD:test/chxj_ixhtml10/test_chxj_ixhtml10.c
+=======
CU_ASSERT(ret != NULL);
CU_ASSERT(strcmp(RESULT_STRING, ret) == 0);
CU_ASSERT(destlen == sizeof(RESULT_STRING)-1);
ret = chxj_rencoding(&r, ret, &destlen);
fprintf(stderr, "actual:[%s]\n", ret);
fprintf(stderr, "expect:[%s]\n", RESULT_STRING);
+>>>>>>> master:test/chxj_ixhtml10/test_chxj_ixhtml10.c
CU_ASSERT(ret != NULL);
CU_ASSERT(strcmp(RESULT_STRING, ret) == 0);
CU_ASSERT(destlen == sizeof(RESULT_STRING)-1);