Develop and Download Open Source Software

Browse CVS Repository

Diff of /modchxj/mod_chxj/doc/modchxj.html

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.21 by konn, Sun Jan 13 13:18:03 2008 UTC revision 1.22 by konn, Mon Jan 21 01:03:09 2008 UTC
# Line 7  Line 7 
7  <meta http-equiv="Content-Script-Type" content="text/javascript">  <meta http-equiv="Content-Script-Type" content="text/javascript">
8  <meta name="generator" content="SmartDoc 1.1">  <meta name="generator" content="SmartDoc 1.1">
9  <meta name="author" content="Atsushi Konno" lang="ja">  <meta name="author" content="Atsushi Konno" lang="ja">
10  <meta name="date" content="29 Mar 2005" lang="ja">  <meta name="date" content="Last modified: 21 Jan 2008" lang="ja">
11  <title>mod_chxj</title>  <title>mod_chxj</title>
12  <style type="text/css">  <style type="text/css">
13  <!--  <!--
# Line 692  function setOHPHandler() { Line 692  function setOHPHandler() {
692    
693  <h1 class="title">mod_chxj<br><span class="subtitle"></span></h1>  <h1 class="title">mod_chxj<br><span class="subtitle"></span></h1>
694    
695  <div class="date">29 Mar 2005</div>  <div class="date">Last modified: 21 Jan 2008</div>
696  <div class="author">Atsushi Konno</div>  <div class="author">Atsushi Konno</div>
697  <h2>目次</h2>  <h2>目次</h2>
698    
699  <div class="toc">  <div class="toc">
700  <ul>  <ul>
701  <li> <a href="#doc1_15" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Overview</a>  <li> <a href="#doc1_17" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Overview</a>
702  <li> <a href="#doc1_18" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">インストール</a>  <li> <a href="#doc1_23" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">インストール</a>
703  <ul>  <ul>
704  <li> <a href="#doc1_20" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">準備</a>  <li> <a href="#doc1_25" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">準備</a>
705  <li> <a href="#doc1_47" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">mod_chxjの入手</a>  <li> <a href="#doc1_52" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">mod_chxjの入手</a>
706  <li> <a href="#doc1_53" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">インストール</a>  <li> <a href="#doc1_58" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">インストール</a>
707  </ul>  </ul>
708  <li> <a href="#doc1_102" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Configuration</a>  <li> <a href="#doc1_104" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Configuration</a>
709  <ul>  <ul>
710  <li> <a href="#doc1_104" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">htmlファイルが変換対象の場合</a>  <li> <a href="#doc1_106" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">htmlファイルが変換対象の場合</a>
711  <li> <a href="#doc1_119" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">php等の出力結果が変換対象の場合</a>  <li> <a href="#doc1_121" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">php等の出力結果が変換対象の場合</a>
712  <li> <a href="#doc1_134" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">xoopsを使用し、且つwordpress、bwikiを使用している場合</a>  <li> <a href="#doc1_136" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">xoopsを使用し、且つwordpress、bwikiを使用している場合</a>
713  <li> <a href="#doc1_149" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">画像自動変換機能を使用する場合</a>  <li> <a href="#doc1_151" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">画像自動変換機能を使用する場合</a>
714  <li> <a href="#doc1_214" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">文字コードを変換したい場合(EXPERIMENTAL)</a>  <li> <a href="#doc1_216" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">文字コードを変換したい場合(EXPERIMENTAL)</a>
715  <li> <a href="#doc1_258" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">ディレクティブ</a>  <li> <a href="#doc1_260" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">ディレクティブ</a>
716  </ul>  </ul>
717  <li> <a href="#doc1_375" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">対応するCHTMLタグ</a>  <li> <a href="#doc1_377" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">対応するCHTMLタグ</a>
718  <li> <a href="#doc1_1083" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">独自拡張タグ</a>  <li> <a href="#doc1_1085" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">独自拡張タグ</a>
719  <li> <a href="#doc1_1120" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字について</a>  <li> <a href="#doc1_1122" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字について</a>
720  <ul>  <ul>
721  <li> <a href="#doc1_1125" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字変換定義</a>  <li> <a href="#doc1_1127" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字変換定義</a>
722  </ul>  </ul>
723  <li> <a href="#doc1_1170" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">デバイス定義 device_data.xml</a>  <li> <a href="#doc1_1172" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">デバイス定義 device_data.xml</a>
724  <li> <a href="#doc1_1173" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">イメージ画像変換機能</a>  <li> <a href="#doc1_1175" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">イメージ画像変換機能</a>
725  <ul>  <ul>
726  <li> <a href="#doc1_1182" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">サムネイルモード</a>  <li> <a href="#doc1_1184" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">サムネイルモード</a>
727  <li> <a href="#doc1_1188" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">壁紙モード</a>  <li> <a href="#doc1_1190" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">壁紙モード</a>
728  <li> <a href="#doc1_1194" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">EzGetモード</a>  <li> <a href="#doc1_1196" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">EzGetモード</a>
729  <li> <a href="#doc1_1200" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">その他の機能</a>  <li> <a href="#doc1_1202" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">その他の機能</a>
730  </ul>  </ul>
731  <li> <a href="#doc1_1231" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力機能</a>  <li> <a href="#doc1_1233" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力機能</a>
732  <ul>  <ul>
733  <li> <a href="#doc1_1233" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力ハンドラの登録</a>  <li> <a href="#doc1_1235" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力ハンドラの登録</a>
734  <li> <a href="#doc1_1239" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードソースファイルの設置</a>  <li> <a href="#doc1_1241" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードソースファイルの設置</a>
735  <li> <a href="#doc1_1263" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードの動的出力機能</a>  <li> <a href="#doc1_1265" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードの動的出力機能</a>
736  </ul>  </ul>
 <li> <a href="#doc1_1270" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>  
 <ul>  
737  <li> <a href="#doc1_1272" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1272" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>
 <li> <a href="#doc1_1278" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">One-Time ID</a>  
 <li> <a href="#doc1_1281" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保存場所</a>  
 <li> <a href="#doc1_1287" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保持期間</a>  
 </ul>  
 <li> <a href="#doc1_1294" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>  
738  <ul>  <ul>
739    <li> <a href="#doc1_1274" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>
740    <li> <a href="#doc1_1280" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">One-Time ID</a>
741    <li> <a href="#doc1_1283" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保存場所</a>
742    <li> <a href="#doc1_1289" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保持期間</a>
743    </ul>
744  <li> <a href="#doc1_1296" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1296" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>
745    <ul>
746    <li> <a href="#doc1_1298" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>
747  </ul>  </ul>
748  </ul>  </ul>
749  </div>  </div>
750    
751  <h2 id="doc1_15">Overview</h2>  <h2 id="doc1_17">Overview</h2>
752    
753    <p class="first_ja">mod_chxjはオープンソースの携帯向けコンテンツ変換Apache2.x用モジュールであり、CHTML(DoCoMo i-Mode用CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。<span class="note"><a href="#doc1_19" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="Apache2.2はバージョン0.8.1から対応"><sup>(1)</sup></a></span></p>
754    
755    <div class="footnote">
756    <ol>
757    <li id="doc1_19" value="1"> Apache2.2はバージョン0.8.1から対応</ol>
758    </div>
759    
 <p class="first_ja">mod_chxjはオープンソースの携帯向けコンテンツ変換Apache2.0用モジュールであり、CHTML(DoCoMo i-Mode用CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。</p>  
760    
761  <h2 id="doc1_18">インストール</h2>  <h2 id="doc1_23">インストール</h2>
762    
763    
764  <h3 id="doc1_20">準備</h3>  <h3 id="doc1_25">準備</h3>
765    
766  <p class="first_ja">mod_chxjをインストールする前に、下記のものを用意する必要があります。</p>  <p class="first_ja">mod_chxjをインストールする前に、下記のものを用意する必要があります。</p>
767    
768  <ol>  <ol>
769  <li> Apache2.0のヘッダーファイル群  <li> Apache2.xのヘッダーファイル群
770  <li> Apache2.0用のapxs  <li> Apache2.x用のapxs
771  <li> apr(Apache Portable Runtime)ライブラリとそのヘッダファイル郡(apu含む)  <li> apr(Apache Portable Runtime)ライブラリとそのヘッダファイル郡(apu含む)
772  <li> automake、autoconf、libtool1.3.X  <li> automake、autoconf、libtool1.3.X
773  <li> ImageMagick(MagickWand)  <li> ImageMagick(MagickWand)
774  <li> libiconvまたはlibiconv_hook  <li> libiconvまたはlibiconv_hook(SJIS-WIN、EUCJP-WIN対応が望ましい)
775  <li> Linux</ol>  <li> Linux</ol>
776    
777    
778  <h3 id="doc1_47">mod_chxjの入手</h3>  <h3 id="doc1_52">mod_chxjの入手</h3>
779    
780  <p class="first_ja">mod_chxjは<a href="http://sourceforge.jp/projects/modchxj/" target="_top" onmouseover="hilightExternallink(this)" onmouseout="normal(this)">こちら</a>からダウンロードすることができます。</p>  <p class="first_ja">mod_chxjは<a href="http://sourceforge.jp/projects/modchxj/" target="_top" onmouseover="hilightExternallink(this)" onmouseout="normal(this)">こちら</a>からダウンロードすることができます。</p>
781    
782  <h3 id="doc1_53">インストール</h3>  <h3 id="doc1_58">インストール</h3>
783    
784  <p class="first_ja">以下にmod_chxjインストール手順を示します。</p>  <p class="first_ja">以下にmod_chxjインストール手順を示します。</p>
785    
786  <ol>  <ol>
787  <li> <p>Configureスクリプトを生成します</p>  <li> <p>Configureスクリプトを生成します</p>
788    
789  <div id="doc1_59" class="caption">Configure スクリプトの生成</div>  <div id="doc1_64" class="caption">Configure スクリプトの生成</div>
790  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
791  $ ./buildconf.sh  $ ./buildconf.sh
792  </pre>  </pre>
793    
794  <p><span class="note"><a href="#doc1_62" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="&quot;$&quot;はプロンプトをあらわします。"><sup>(1)</sup></a></span></p>  <p><span class="note"><a href="#doc1_67" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="&quot;$&quot;はプロンプトをあらわします。"><sup>(2)</sup></a></span></p>
795  <li> <p>Configure</p>  <li> <p>Configure</p>
796  <p>以下は、/usr/include/apache2.0に、Apache2.0のヘッダーファイルが存在する場合です。</p>  <p>以下は、/usr/include/apache2.xに、Apache2.xのヘッダーファイルが存在する場合です。</p>
797    
798  <div id="doc1_68" class="caption">Configure</div>  <div id="doc1_73" class="caption">Configure</div>
799  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
800  $ ./configure --with-apache-header=/usr/include/apache2.0  $ ./configure --with-apache-header=/usr/include/apache2.x
801  </pre>  </pre>
802    
803  <p><span class="note"><a href="#doc1_71" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="--with-apache-headerは必須です。"><sup>(2)</sup></a></span><span class="note"><a href="#doc1_74" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="FreeBSD等の場合は--with-iconvも必須です。"><sup>(3)</sup></a></span><span class="note"><a href="#doc1_77" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="場合によっては--with-aprや--with-apuも必要です。"><sup>(4)</sup></a></span></p>  <p><span class="note"><a href="#doc1_76" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="--with-apache-headerは必須です。"><sup>(3)</sup></a></span><span class="note"><a href="#doc1_79" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="環境によっては--with-iconvや--with-apr、--with-apuも必要です"><sup>(4)</sup></a></span></p>
804  <li> mod_chxj.soを生成します  <li> mod_chxj.soを生成します
805  <div id="doc1_83" class="caption">make</div>  <div id="doc1_85" class="caption">make</div>
806  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
807  $ make  $ make
808  </pre>  </pre>
809  <li> apacheにインストールします  <li> apacheにインストールします
810  <div id="doc1_89" class="caption">install</div>  <div id="doc1_91" class="caption">install</div>
811  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
812  $ make install  $ make install
813  </pre>  </pre>
814  <li> <p>データの設置etcディレクトリは以下のdevice_data.xmlとemoji.xmlをApacheからアクセスできるところに配置します。</p>  <li> <p>データの設置etcディレクトリは以下のdevice_data.xmlとemoji.xmlをApacheからアクセスできるところに配置します。</p>
815  <p>以下、/etc/apache2/chxjディレクトリにchxj用設定ファイルを用意する場合</p>  <p>以下、/etc/apache2/chxjディレクトリにchxj用設定ファイルを用意する場合</p>
816    
817  <div id="doc1_95" class="caption">データの設置</div>  <div id="doc1_97" class="caption">データの設置</div>
818  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
819  $ mkdir -p /etc/apache2/chxj  $ mkdir -p /etc/apache2/chxj
820  $ cp etc/device_data.xml /etc/apache2/chxj  $ cp etc/device_data.xml /etc/apache2/chxj
# Line 818  $ cp etc/emoji.xml /etc/apache2/chxj Line 824  $ cp etc/emoji.xml /etc/apache2/chxj
824    
825  <div class="footnote">  <div class="footnote">
826  <ol>  <ol>
827  <li id="doc1_62" value="1"> &quot;$&quot;はプロンプトをあらわします。<li id="doc1_71" value="2"> --with-apache-headerは必須です。<li id="doc1_74" value="3"> FreeBSD等の場合は--with-iconvも必須です。<li id="doc1_77" value="4"> 場合によっては--with-aprや--with-apuも必要です。</ol>  <li id="doc1_67" value="2"> &quot;$&quot;はプロンプトをあらわします。<li id="doc1_76" value="3"> --with-apache-headerは必須です。<li id="doc1_79" value="4"> 環境によっては--with-iconvや--with-apr、--with-apuも必要です</ol>
828  </div>  </div>
829    
830    
831  <h2 id="doc1_102">Configuration</h2>  <h2 id="doc1_104">Configuration</h2>
832    
833  <p class="first_ja">以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています</p>  <p class="first_ja">以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています</p>
834    
835  <h3 id="doc1_104">htmlファイルが変換対象の場合</h3>  <h3 id="doc1_106">htmlファイルが変換対象の場合</h3>
836    
837  <p class="first_ja">例として、Locationが&quot;/chxj&quot;以下のものは全て変換する場合を説明します。</p>  <p class="first_ja">例として、Locationが&quot;/chxj&quot;以下のものは全て変換する場合を説明します。</p>
838    
839  <ol>  <ol>
840  <li> httpd.confに以下を追加します。  <li> httpd.confに以下を追加します。
841  <div id="doc1_110" class="caption">httpd.conf</div>  <div id="doc1_112" class="caption">httpd.conf</div>
842  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
843  #====================================================================================  #====================================================================================
844  # モジュールをApache2.0にロード  # モジュールをApache2.xにロード
845  #====================================================================================  #====================================================================================
846  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
847    
# Line 861  ChxjConvertRule &quot;^/chxj.+$&quot; &q Line 867  ChxjConvertRule &quot;^/chxj.+$&quot; &q
867  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
868    
869    
870  <h3 id="doc1_119">php等の出力結果が変換対象の場合</h3>  <h3 id="doc1_121">php等の出力結果が変換対象の場合</h3>
871    
872    
873  <ol>  <ol>
874  <li> httpd.confに以下を追加します  <li> httpd.confに以下を追加します
875  <div id="doc1_125" class="caption">httpd.conf</div>  <div id="doc1_127" class="caption">httpd.conf</div>
876  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
877  #====================================================================================  #====================================================================================
878  # モジュールをApache2.0にロード  # モジュールをApache2.xにロード
879  #====================================================================================  #====================================================================================
880  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
881    
# Line 896  ChxjConvertRule &quot;^/chxj.+$&quot; &q Line 902  ChxjConvertRule &quot;^/chxj.+$&quot; &q
902  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
903    
904    
905  <h3 id="doc1_134">xoopsを使用し、且つwordpress、bwikiを使用している場合</h3>  <h3 id="doc1_136">xoopsを使用し、且つwordpress、bwikiを使用している場合</h3>
906    
907    
908  <ol>  <ol>
909  <li> httpd.confに以下を追加します  <li> httpd.confに以下を追加します
910  <div id="doc1_140" class="caption">httpd.conf</div>  <div id="doc1_142" class="caption">httpd.conf</div>
911  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
912  #====================================================================================  #====================================================================================
913  # モジュールをApache2.0にロード  # モジュールをApache2.xにロード
914  #====================================================================================  #====================================================================================
915  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
916    
# Line 971  ChxjConvertRule &quot;^/.+$&quot; &quot; Line 977  ChxjConvertRule &quot;^/.+$&quot; &quot;
977  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
978    
979    
980  <h3 id="doc1_149">画像自動変換機能を使用する場合</h3>  <h3 id="doc1_151">画像自動変換機能を使用する場合</h3>
981    
982    
983  <ol>  <ol>
984  <li> <p>httpd.confに以下を追加します。下記は、URIが/imgで始まる全ての画像に対して動作するようmod_chxjに指示しています。</p>  <li> <p>httpd.confに以下を追加します。下記は、URIが/imgで始まる全ての画像に対して動作するようmod_chxjに指示しています。</p>
985    
986  <div id="doc1_155" class="caption">httpd.conf</div>  <div id="doc1_157" class="caption">httpd.conf</div>
987  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
988  &lt;Location /img&gt;  &lt;Location /img&gt;
989  ChxjImageEngine On  ChxjImageEngine On
# Line 993  ChxjImageCopyright &quot;A.Konno&quot; Line 999  ChxjImageCopyright &quot;A.Konno&quot;
999  <p><br></br> <br></br></p>  <p><br></br> <br></br></p>
1000  <li> <p>ChxjImageCacheDir<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリを指定します。デフォルトは/tmp。</p>  <li> <p>ChxjImageCacheDir<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリを指定します。デフォルトは/tmp。</p>
1001    
1002  <div id="doc1_173" class="caption">ChxjImageCacheDir</div>  <div id="doc1_175" class="caption">ChxjImageCacheDir</div>
1003  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1004        ChxjImageCacheDir /tmp        ChxjImageCacheDir /tmp
1005                
# Line 1002  ChxjImageCopyright &quot;A.Konno&quot; Line 1008  ChxjImageCopyright &quot;A.Konno&quot;
1008  <p>mod_chxjに画像変換キャッシュとして/tmpを使用するよう指示します。<br></br><br></br></p>  <p>mod_chxjに画像変換キャッシュとして/tmpを使用するよう指示します。<br></br><br></br></p>
1009  <li> <p>ChxjImageCopyright<br></br> mod_chxjの画像変換ハンドラに、転送禁止設定を行うよう指示します。パラメータとして任意の文字列をとります。ChxjImageCopyrightディレクティブで指定された文字列は、それぞれのイメージのコメント部に埋め込まれます。</p>  <li> <p>ChxjImageCopyright<br></br> mod_chxjの画像変換ハンドラに、転送禁止設定を行うよう指示します。パラメータとして任意の文字列をとります。ChxjImageCopyrightディレクティブで指定された文字列は、それぞれのイメージのコメント部に埋め込まれます。</p>
1010    
1011  <div id="doc1_185" class="caption">ChxjImageCopyright</div>  <div id="doc1_187" class="caption">ChxjImageCopyright</div>
1012  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1013        ChxjImageCopyright &quot;A.Konno&quot;        ChxjImageCopyright &quot;A.Konno&quot;
1014                
# Line 1011  ChxjImageCopyright &quot;A.Konno&quot; Line 1017  ChxjImageCopyright &quot;A.Konno&quot;
1017  <p>mod_chxjに転送禁止設定を行うよう指示しています。変換後イメージのコメント部分には、キャリア毎に以下の文字列を埋め込みます。</p>  <p>mod_chxjに転送禁止設定を行うよう指示しています。変換後イメージのコメント部分には、キャリア毎に以下の文字列を埋め込みます。</p>
1018  <p><b>AU の場合</b></p>  <p><b>AU の場合</b></p>
1019    
1020  <div id="doc1_191" class="caption">AU</div>  <div id="doc1_193" class="caption">AU</div>
1021  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1022         kddi_copyright=on,A.Konno         kddi_copyright=on,A.Konno
1023                
# Line 1019  ChxjImageCopyright &quot;A.Konno&quot; Line 1025  ChxjImageCopyright &quot;A.Konno&quot;
1025    
1026  <p><b>DoCoMoの場合</b></p>  <p><b>DoCoMoの場合</b></p>
1027    
1028  <div id="doc1_197" class="caption">DoCoMo</div>  <div id="doc1_199" class="caption">DoCoMo</div>
1029  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1030  copy=&quot;NO&quot;,A.Konno  copy=&quot;NO&quot;,A.Konno
1031  </pre>  </pre>
1032    
1033  <p><b>Vodafone</b>の場合は、レスポンスヘッダに</p>  <p><b>Vodafone</b>の場合は、レスポンスヘッダに</p>
1034    
1035  <div id="doc1_203" class="caption">Vodafone/J-PHONE</div>  <div id="doc1_205" class="caption">Vodafone/J-PHONE</div>
1036  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1037           x-jphone-copyright:no-transfer           x-jphone-copyright:no-transfer
1038                
1039  </pre>  </pre>
1040    
1041  <p>を埋め込みます。<span class="note"><a href="#doc1_206" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。"><sup>(5)</sup></a></span></p></ol></ol>  <p>を埋め込みます。<span class="note"><a href="#doc1_208" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。"><sup>(5)</sup></a></span></p></ol></ol>
1042    
1043    
1044  <div class="footnote">  <div class="footnote">
1045  <ol>  <ol>
1046  <li id="doc1_206" value="5"> Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。</ol>  <li id="doc1_208" value="5"> Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。</ol>
1047  </div>  </div>
1048    
1049    
1050  <h3 id="doc1_214">文字コードを変換したい場合(EXPERIMENTAL)</h3>  <h3 id="doc1_216">文字コードを変換したい場合(EXPERIMENTAL)</h3>
1051    
1052    
1053  <ol>  <ol>
1054  <li> <p>httpd.confに以下を追加します。下記は、URIが/chxjで始まる全てのコンテンツに対して動作するようmod_chxjに指示しています。サーバ側はEUC-JPであった場合の例です。mod_chxjによってSJISに変換するように指示しています。サーバ側がShift_JISで無い場合は、Shift_JISコードの10進参照文字列表記を記述することによってShift_JISコードの絵文字2バイトコードに変換しクライアントへ返します。</p>  <li> <p>httpd.confに以下を追加します。下記は、URIが/chxjで始まる全てのコンテンツに対して動作するようmod_chxjに指示しています。サーバ側はEUC-JPであった場合の例です。mod_chxjによってSJISに変換するように指示しています。サーバ側がShift_JISで無い場合は、Shift_JISコードの10進参照文字列表記を記述することによってShift_JISコードの絵文字2バイトコードに変換しクライアントへ返します。</p>
1055    
1056  <div id="doc1_220" class="caption">httpd.conf</div>  <div id="doc1_222" class="caption">httpd.conf</div>
1057  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1058  ChxjConvRule &quot;^/chxj.+$&quot; &quot;EngineOn&quot; &quot;EUC-JP&quot;  ChxjConvRule &quot;^/chxj.+$&quot; &quot;EngineOn&quot; &quot;EUC-JP&quot;
1059  </pre>  </pre>
# Line 1063  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1069  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1069  <p><br></br><br></br></p></ol></ol>  <p><br></br><br></br></p></ol></ol>
1070    
1071    
1072  <h3 id="doc1_258">ディレクティブ</h3>  <h3 id="doc1_260">ディレクティブ</h3>
1073    
1074    
1075  <ol>  <ol>
1076  <li> ChxjLoadDeviceData<br></br>デバイス定義ファイルを指定します。  <li> ChxjLoadDeviceData<br></br>デバイス定義ファイルを指定します。
1077  <div id="doc1_266" class="caption">ex)</div>  <div id="doc1_268" class="caption">ex)</div>
1078  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1079      ChxjLoadDeviceData /etc/apache2/device.xml      ChxjLoadDeviceData /etc/apache2/device.xml
1080        
1081  </pre>  </pre>
1082  <li> ChxjLoadEmojiData<br></br>絵文字変換定義ファイルを指定します。  <li> ChxjLoadEmojiData<br></br>絵文字変換定義ファイルを指定します。
1083  <div id="doc1_274" class="caption">ex)</div>  <div id="doc1_276" class="caption">ex)</div>
1084  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1085      ChxjLoadEmojiData   /etc/apache2/chxj/emoji.xml      ChxjLoadEmojiData   /etc/apache2/chxj/emoji.xml
1086        
1087  </pre>  </pre>
1088  <li> ChxjImageEngine<br></br>画像変換エンジンを有効にします。パラメータとしてOnとOffを指定できます。DefaultはOffです。  <li> ChxjImageEngine<br></br>画像変換エンジンを有効にします。パラメータとしてOnとOffを指定できます。DefaultはOffです。
1089  <div id="doc1_282" class="caption">ex)</div>  <div id="doc1_284" class="caption">ex)</div>
1090  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1091      ChxjImageEngine On      ChxjImageEngine On
1092        
1093  </pre>  </pre>
1094  <li> ChxjImageCacheDir<br></br>イメージの一時ファイル保存場所を指定します。  <li> ChxjImageCacheDir<br></br>イメージの一時ファイル保存場所を指定します。
1095  <div id="doc1_290" class="caption">ex)</div>  <div id="doc1_292" class="caption">ex)</div>
1096  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1097      ChxjImageCacheDir   /tmp      ChxjImageCacheDir   /tmp
1098        
1099  </pre>  </pre>
1100  <li> ChxjImageCopyright<br></br>イメージに著作権情報を付与します。  <li> ChxjImageCopyright<br></br>イメージに著作権情報を付与します。
1101  <div id="doc1_298" class="caption">ex)</div>  <div id="doc1_300" class="caption">ex)</div>
1102  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1103      ChxjImageCacheDir   &quot;chosakuken jyoho&quot;      ChxjImageCacheDir   &quot;chosakuken jyoho&quot;
1104        
1105  </pre>  </pre>
1106  <li> ChxjConvertRule<br></br> HTML変換エンジンの適用ルールを記述します。本ディレクティブを使用し、変換エンジンのOn|Offを指定します。DefaultはOFFです。また、ルールは記述された順番に評価し、マッチするものがあれば、その時点で対象ルールを適用します。パラメータは3つ必要です。下記にパラメータを記します。  <li> ChxjConvertRule<br></br> HTML変換エンジンの適用ルールを記述します。本ディレクティブを使用し、変換エンジンのOn|Offを指定します。DefaultはOFFです。また、ルールは記述された順番に評価し、マッチするものがあれば、その時点で対象ルールを適用します。パラメータは3つ必要です。下記にパラメータを記します。
1107  <div class="table">  <div class="table">
1108  <table id="doc1_306" class="data" rules="groups">  <table id="doc1_308" class="data" rules="groups">
1109  <caption>パラメータ</caption>  <caption>パラメータ</caption>
1110  <colgroup span="2">  <colgroup span="2">
1111  <col>  <col>
# Line 1131  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1137  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1137  </div>  </div>
1138    
1139    
1140  <div id="doc1_352" class="caption">ex)</div>  <div id="doc1_354" class="caption">ex)</div>
1141  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1142      ChxjConvertRule &quot;^/chxj.+$/&quot; EngineOn EUC-JP      ChxjConvertRule &quot;^/chxj.+$/&quot; EngineOn EUC-JP
1143        
1144  </pre>  </pre>
1145  <li> <p>ChxjCookieDir<br></br>クッキーを使用する場合に指定します。クッキーの内容を保存するディレクトリを指定します。指定しない場合は/tmpに保存されます。</p>  <li> <p>ChxjCookieDir<br></br>クッキーを使用する場合に指定します。クッキーの内容を保存するディレクトリを指定します。指定しない場合は/tmpに保存されます。</p>
1146    
1147  <div id="doc1_360" class="caption">ex)</div>  <div id="doc1_362" class="caption">ex)</div>
1148  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1149      &lt;Location /&gt;      &lt;Location /&gt;
1150        ChxjCookieDir   /tmp        ChxjCookieDir   /tmp
# Line 1149  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1155  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1155  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p>  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p>
1156  <li> <p>ChxjCookieTimeout<br></br>クッキーを使用する場合に指定します。クッキーの保持期間を秒単位で指定します。指定しない場合は、1800秒でクッキーデータを破棄します。</p>  <li> <p>ChxjCookieTimeout<br></br>クッキーを使用する場合に指定します。クッキーの保持期間を秒単位で指定します。指定しない場合は、1800秒でクッキーデータを破棄します。</p>
1157    
1158  <div id="doc1_368" class="caption">ex)</div>  <div id="doc1_370" class="caption">ex)</div>
1159  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1160      &lt;Location /&gt;      &lt;Location /&gt;
1161        ChxjCookieTimeout 10        ChxjCookieTimeout 10
# Line 1160  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1166  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1166  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p></ol>  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p></ol>
1167    
1168    
1169  <h2 id="doc1_375">対応するCHTMLタグ</h2>  <h2 id="doc1_377">対応するCHTMLタグ</h2>
1170    
1171  <p class="first_ja">変換可能なCHTMLタグは以下のとおりです。</p>  <p class="first_ja">変換可能なCHTMLタグは以下のとおりです。</p>
1172    
1173  <div class="table">  <div class="table">
1174  <table id="doc1_377" class="data" rules="groups">  <table id="doc1_379" class="data" rules="groups">
1175  <caption>対応タグ一覧</caption>  <caption>対応タグ一覧</caption>
1176  <colgroup span="7">  <colgroup span="7">
1177  <col>  <col>
# Line 1384  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1390  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1390  <td align="center">○</td>  <td align="center">○</td>
1391  <td align="center">○</td>  <td align="center">○</td>
1392  <td align="center">○</td>  <td align="center">○</td>
1393  <td align="left"><span class="note"><a href="#doc1_932" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="必ず閉じてください。そのうち対応します。"><sup>(7)</sup></a></span></td>  <td align="left"><span class="note"><a href="#doc1_934" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="必ず閉じてください。そのうち対応します。"><sup>(7)</sup></a></span></td>
1394  </tr>  </tr>
1395  <tr class="even">  <tr class="even">
1396  <td></td>  <td></td>
# Line 1447  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1453  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1453    
1454  <div class="footnote">  <div class="footnote">
1455  <ol>  <ol>
1456  <li id="doc1_932" value="7"> 必ず閉じてください。そのうち対応します。</ol>  <li id="doc1_934" value="7"> 必ず閉じてください。そのうち対応します。</ol>
1457  </div>  </div>
1458    
1459    
1460  <h2 id="doc1_1083">独自拡張タグ</h2>  <h2 id="doc1_1085">独自拡張タグ</h2>
1461    
1462    
1463  <ol>  <ol>
1464  <li> <p>&lt;CHXJ:IF&gt;<br></br></p>  <li> <p>&lt;CHXJ:IF&gt;<br></br></p>
1465  <p>&lt;CHXJ:IF&gt;タグと&lt;/CHXJ:IF&gt;タグではさまれたタグやテキストは、変換せずに<b>そのまま</b><span class="note"><a href="#doc1_1093" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="変換しませんので注意が必要です"><sup>(8)</sup></a></span>出力します。必須の属性としてlangがあります。lang属性を指定することによって、例えば、<b>「HDML機の場合のみ出力させる」</b>といったことを可能にします。<br></br><br></br>ex)</p>  <p>&lt;CHXJ:IF&gt;タグと&lt;/CHXJ:IF&gt;タグではさまれたタグやテキストは、変換せずに<b>そのまま</b><span class="note"><a href="#doc1_1095" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="変換しませんので注意が必要です"><sup>(8)</sup></a></span>出力します。必須の属性としてlangがあります。lang属性を指定することによって、例えば、<b>「HDML機の場合のみ出力させる」</b>といったことを可能にします。<br></br><br></br>ex)</p>
1466    
1467  <div id="doc1_1103" class="caption">HTML文書中にHDML機の場合のみ有効にしたいタグ、または文書がある場合</div>  <div id="doc1_1105" class="caption">HTML文書中にHDML機の場合のみ有効にしたいタグ、または文書がある場合</div>
1468  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1469         &lt;CHXJ:IF lang=&quot;HDML&quot; &gt;         &lt;CHXJ:IF lang=&quot;HDML&quot; &gt;
1470           &lt;NODISPLAY&gt;           &lt;NODISPLAY&gt;
# Line 1472  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1478  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1478  <p><br></br></p>  <p><br></br></p>
1479  <p>ex)</p>  <p>ex)</p>
1480    
1481  <div id="doc1_1107" class="caption">i-Modeのみ出力したい文書がある場合</div>  <div id="doc1_1109" class="caption">i-Modeのみ出力したい文書がある場合</div>
1482  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1483         &lt;CHXJ:IF lang=&quot;chtml&quot; &gt;         &lt;CHXJ:IF lang=&quot;chtml&quot; &gt;
1484           シークレットコードがどーのこーの。           シークレットコードがどーのこーの。
# Line 1483  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1489  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1489  <p><br></br></p>  <p><br></br></p>
1490  <p>また、lang属性は、複数指定することも可能です。<br></br></p>  <p>また、lang属性は、複数指定することも可能です。<br></br></p>
1491    
1492  <div id="doc1_1113" class="caption">HDML機,J-PHONE機は以下を出力します</div>  <div id="doc1_1115" class="caption">HDML機,J-PHONE機は以下を出力します</div>
1493  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1494         &lt;CHXJ:IF lang=&quot;chtml&quot; lang=&quot;jhtml&quot;&gt;         &lt;CHXJ:IF lang=&quot;chtml&quot; lang=&quot;jhtml&quot;&gt;
1495         あなたの携帯は、HDML機かJ-HTML機です。         あなたの携帯は、HDML機かJ-HTML機です。
# Line 1496  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1502  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1502    
1503  <div class="footnote">  <div class="footnote">
1504  <ol>  <ol>
1505  <li id="doc1_1093" value="8"> 変換しませんので注意が必要です</ol>  <li id="doc1_1095" value="8"> 変換しませんので注意が必要です</ol>
1506  </div>  </div>
1507    
1508    
1509  <h2 id="doc1_1120">絵文字について</h2>  <h2 id="doc1_1122">絵文字について</h2>
1510    
1511  <p class="first_ja">i-Mode用の絵文字を書いておけば、アクセスしたキャリアによって、mod_chxjが対応の絵文字に自動変換します。ソースに2byteのバイナリコードを直接書いても、10進参照文字列<span class="note"><a href="#doc1_1122" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="16進参照文字列には対応していません"><sup>(9)</sup></a></span>(&amp;#XXX;の形)で書いても、どちらでも変換対象になります。10進参照文字列で書いた場合は、mod_chxjにより、自動で2バイトコードに変換します。</p>  <p class="first_ja">i-Mode用の絵文字を書いておけば、アクセスしたキャリアによって、mod_chxjが対応の絵文字に自動変換します。ソースに2byteのバイナリコードを直接書いても、10進参照文字列<span class="note"><a href="#doc1_1124" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="16進参照文字列には対応していません"><sup>(9)</sup></a></span>(&amp;#XXX;の形)で書いても、どちらでも変換対象になります。10進参照文字列で書いた場合は、mod_chxjにより、自動で2バイトコードに変換します。</p>
1512    
1513  <div class="footnote">  <div class="footnote">
1514  <ol>  <ol>
1515  <li id="doc1_1122" value="9"> 16進参照文字列には対応していません</ol>  <li id="doc1_1124" value="9"> 16進参照文字列には対応していません</ol>
1516  </div>  </div>
1517    
1518    
1519  <h3 id="doc1_1125">絵文字変換定義</h3>  <h3 id="doc1_1127">絵文字変換定義</h3>
1520    
1521  <p class="first_ja">絵文字の変換に関する動作を変えたい場合(例えば「ハートがあったら、AUの場合はスペードに」とか、「変換定義がおかしい」といった場合)は、emoji.xmlファイルを直接編集することによって定義を変更することが可能です。emoji.xmlはXMLファイルとなっていますので、vi等で簡単に定義を変更することができます<span class="note"><a href="#doc1_1127" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。"><sup>(10)</sup></a></span>。</p>  <p class="first_ja">絵文字の変換に関する動作を変えたい場合(例えば「ハートがあったら、AUの場合はスペードに」とか、「変換定義がおかしい」といった場合)は、emoji.xmlファイルを直接編集することによって定義を変更することが可能です。emoji.xmlはXMLファイルとなっていますので、vi等で簡単に定義を変更することができます<span class="note"><a href="#doc1_1129" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。"><sup>(10)</sup></a></span>。</p>
1522  <p><br></br>以下に、emoji.xmlファイルの一部を記します。</p>  <p><br></br>以下に、emoji.xmlファイルの一部を記します。</p>
1523    
1524  <div id="doc1_1132" class="caption">emoji.xml</div>  <div id="doc1_1134" class="caption">emoji.xml</div>
1525  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1526  &lt;?xml encoding=&quot;Shift_JIS&quot; &gt;  &lt;?xml encoding=&quot;Shift_JIS&quot; &gt;
1527    
# Line 1551  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1557  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1557    
1558  <div class="footnote">  <div class="footnote">
1559  <ol>  <ol>
1560  <li id="doc1_1127" value="10"> 厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。</ol>  <li id="doc1_1129" value="10"> 厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。</ol>
1561  </div>  </div>
1562    
1563    
1564  <h2 id="doc1_1170">デバイス定義 device_data.xml</h2>  <h2 id="doc1_1172">デバイス定義 device_data.xml</h2>
1565    
1566  <p class="first_ja">mod_chxjの動作を決定付ける重要な定義です。変換対象の端末は全て、device_data.xmlファイルに定義される必要があります。定義されていない端末は、mod_chxjとしては、認識することができません。認識できない場合には、変換せずにそのまま出力します。ただし、Perl互換の正規表現によって定義できるため、正規表現の書き方によっては全ての機種に対応させることも可能です。</p>  <p class="first_ja">mod_chxjの動作を決定付ける重要な定義です。変換対象の端末は全て、device_data.xmlファイルに定義される必要があります。定義されていない端末は、mod_chxjとしては、認識することができません。認識できない場合には、変換せずにそのまま出力します。ただし、Perl互換の正規表現によって定義できるため、正規表現の書き方によっては全ての機種に対応させることも可能です。</p>
1567    
1568  <h2 id="doc1_1173">イメージ画像変換機能</h2>  <h2 id="doc1_1175">イメージ画像変換機能</h2>
1569    
1570  <p class="first_ja">mod_chxjには、JPEG、GIF、PNG、BMPファイルを置いておくだけで、デバイス定義に従って、それぞれのキャリア対応のフォーマットに変換する機能があります。画像のサイズ(縦X横)も、端末の画面サイズに合わせて変換します。画像のサイズ(バイト数)については、デバイス定義中のキャッシュサイズを見て、その値よりも小さくなるように<b>努力</b>しますが、元の画像が大きすぎる場合や、複雑な画像の場合には、キャッシュサイズよりも小さくできずに表示できない場合があります。<br></br>それぞれのタグで指定する場合には、ファイル名の拡張子(.jpgや.gif等)をはずした形で指定します。<br></br>本機能には3つのモードが存在します。そのモードを以下に記します。</p>  <p class="first_ja">mod_chxjには、JPEG、GIF、PNG、BMPファイルを置いておくだけで、デバイス定義に従って、それぞれのキャリア対応のフォーマットに変換する機能があります。画像のサイズ(縦X横)も、端末の画面サイズに合わせて変換します。画像のサイズ(バイト数)については、デバイス定義中のキャッシュサイズを見て、その値よりも小さくなるように<b>努力</b>しますが、元の画像が大きすぎる場合や、複雑な画像の場合には、キャッシュサイズよりも小さくできずに表示できない場合があります。<br></br>それぞれのタグで指定する場合には、ファイル名の拡張子(.jpgや.gif等)をはずした形で指定します。<br></br>本機能には3つのモードが存在します。そのモードを以下に記します。</p>
1571    
1572  <h3 id="doc1_1182">サムネイルモード</h3>  <h3 id="doc1_1184">サムネイルモード</h3>
1573    
1574  <p class="first_ja">端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。</p>  <p class="first_ja">端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。</p>
1575    
1576  <div id="doc1_1184" class="caption">サムネイルモード 使用例</div>  <div id="doc1_1186" class="caption">サムネイルモード 使用例</div>
1577  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1578    &lt;IMG SRC=&quot;/img/logo?Mode=Thumbnail&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?Mode=Thumbnail&quot;&gt;
1579        
1580  </pre>  </pre>
1581    
1582    
1583  <h3 id="doc1_1188">壁紙モード</h3>  <h3 id="doc1_1190">壁紙モード</h3>
1584    
1585  <p class="first_ja">端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。</p>  <p class="first_ja">端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。</p>
1586    
1587  <div id="doc1_1190" class="caption">壁紙モード 使用例</div>  <div id="doc1_1192" class="caption">壁紙モード 使用例</div>
1588  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1589    &lt;IMG SRC=&quot;/img/logo?Mode=WP&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?Mode=WP&quot;&gt;
1590        
1591  </pre>  </pre>
1592    
1593    
1594  <h3 id="doc1_1194">EzGetモード</h3>  <h3 id="doc1_1196">EzGetモード</h3>
1595    
1596  <p class="first_ja">壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。</p>  <p class="first_ja">壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。</p>
1597    
1598  <div id="doc1_1196" class="caption">EzGetモード 使用例</div>  <div id="doc1_1198" class="caption">EzGetモード 使用例</div>
1599  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1600    &lt;A HREF=&quot;/img/logo?Mode=EzGet&quot;&gt;    &lt;A HREF=&quot;/img/logo?Mode=EzGet&quot;&gt;
1601        
1602  </pre>  </pre>
1603    
1604    
1605  <h3 id="doc1_1200">その他の機能</h3>  <h3 id="doc1_1202">その他の機能</h3>
1606    
1607  <p class="first_ja">モードの他に、画像サイズ(縦X横)を直接指定することも可能です。<b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。</p>  <p class="first_ja">モードの他に、画像サイズ(縦X横)を直接指定することも可能です。<b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。</p>
1608    
# Line 1604  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1610  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1610  <li> wパラメータ<br></br>横幅を指定します。  <li> wパラメータ<br></br>横幅を指定します。
1611  <li> hパラメータ<br></br>縦幅を指定します。  <li> hパラメータ<br></br>縦幅を指定します。
1612    
1613  <div id="doc1_1220" class="caption">w/hパラメータ 使用例</div>  <div id="doc1_1222" class="caption">w/hパラメータ 使用例</div>
1614  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1615    &lt;IMG SRC=&quot;/img/logo?w=100&amp;h=200&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?w=100&amp;h=200&quot;&gt;
1616        
# Line 1614  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1620  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1620    
1621  <p>上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。</p>  <p>上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。</p>
1622    
1623  <h2 id="doc1_1231">QRコード出力機能</h2>  <h2 id="doc1_1233">QRコード出力機能</h2>
1624    
1625    
1626  <h3 id="doc1_1233">QRコード出力ハンドラの登録</h3>  <h3 id="doc1_1235">QRコード出力ハンドラの登録</h3>
1627    
1628  <p class="first_ja">QRコード出力機能を使用するには、QRコードハンドラを登録します。httpd.confに以下の記述を追加します。</p>  <p class="first_ja">QRコード出力機能を使用するには、QRコードハンドラを登録します。httpd.confに以下の記述を追加します。</p>
1629    
1630  <div id="doc1_1235" class="caption">httpd.conf</div>  <div id="doc1_1237" class="caption">httpd.conf</div>
1631  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1632    AddHandler chxj-qrcode .qrc    AddHandler chxj-qrcode .qrc
1633  </pre>  </pre>
1634    
1635  <p>なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)</p>  <p>なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)</p>
1636    
1637  <h3 id="doc1_1239">QRコードソースファイルの設置</h3>  <h3 id="doc1_1241">QRコードソースファイルの設置</h3>
1638    
1639  <p class="first_ja">ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。</p>  <p class="first_ja">ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。</p>
1640    
1641  <div id="doc1_1241" class="caption">例:a.qrc</div>  <div id="doc1_1243" class="caption">例:a.qrc</div>
1642  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1643    &lt;?xml version=1.0 ?&gt;    &lt;?xml version=1.0 ?&gt;
1644        
# Line 1655  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1661  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1661  <li> dataタグdataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。</ol>  <li> dataタグdataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。</ol>
1662    
1663    
1664  <h3 id="doc1_1263">QRコードの動的出力機能</h3>  <h3 id="doc1_1265">QRコードの動的出力機能</h3>
1665    
1666  <p class="first_ja">プログラム等を使用し、動的にQRコードを出力したい場合は、上記の.qrcファイルの内容をそのままOutputFilterに通してあげればOKです。つまり、ChxjConvertRuleディレクティブで&quot;EngineOn&quot;と指定したURIが指すディレクトリに設置すれば良いということです。mod_chxj内部で、Content-Typeがtext/xmlの場合、QRCode用のファイルであるかどうかを一度読み込んで判断するので、Content-Typeには、text/xmlを設定してください。</p>  <p class="first_ja">プログラム等を使用し、動的にQRコードを出力したい場合は、上記の.qrcファイルの内容をそのままOutputFilterに通してあげればOKです。つまり、ChxjConvertRuleディレクティブで&quot;EngineOn&quot;と指定したURIが指すディレクトリに設置すれば良いということです。mod_chxj内部で、Content-Typeがtext/xmlの場合、QRCode用のファイルであるかどうかを一度読み込んで判断するので、Content-Typeには、text/xmlを設定してください。</p>
1667    
1668  <div id="doc1_1265" class="caption">phpでQRコードを動的に出力する例</div>  <div id="doc1_1267" class="caption">phpでQRコードを動的に出力する例</div>
1669  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1670      &lt;php      &lt;php
1671        $version = $_POST[&quot;version&quot;];        $version = $_POST[&quot;version&quot;];
# Line 1683  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1689  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1689    
1690  <p>そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。</p>  <p>そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。</p>
1691    
1692  <h2 id="doc1_1270">Cookieシミュレート機能(EXPERIMENTAL)</h2>  <h2 id="doc1_1272">Cookieシミュレート機能(EXPERIMENTAL)</h2>
1693    
1694    
1695  <h3 id="doc1_1272">Cookieシミュレート機能(EXPERIMENTAL)</h3>  <h3 id="doc1_1274">Cookieシミュレート機能(EXPERIMENTAL)</h3>
1696    
1697  <p class="first_ja">Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。</p>  <p class="first_ja">Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。</p>
1698    
1699  <div id="doc1_1274" class="caption">Cookieシミュレート機能を有効にする例</div>  <div id="doc1_1276" class="caption">Cookieシミュレート機能を有効にする例</div>
1700  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1701      ChxjConvertRule &quot;^/chxj.+$&quot; &quot;EngineOn,CookieOn&quot; &quot;NONE&quot;      ChxjConvertRule &quot;^/chxj.+$&quot; &quot;EngineOn,CookieOn&quot; &quot;NONE&quot;
1702        
1703  </pre>  </pre>
1704    
1705    
1706  <h3 id="doc1_1278">One-Time ID</h3>  <h3 id="doc1_1280">One-Time ID</h3>
1707    
1708  <p class="first_ja">Cookieシミュレートでは、aタグ、imgタグ、formタグのURL部にOne-Time IDを埋め込むことで実現します。そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。</p>  <p class="first_ja">Cookieシミュレートでは、aタグ、imgタグ、formタグのURL部にOne-Time IDを埋め込むことで実現します。そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。</p>
1709    
1710  <h3 id="doc1_1281">Cookieの保存場所</h3>  <h3 id="doc1_1283">Cookieの保存場所</h3>
1711    
1712  <p class="first_ja">Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。</p>  <p class="first_ja">Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。</p>
1713    
1714  <div id="doc1_1283" class="caption">ChxjCookieDirの例</div>  <div id="doc1_1285" class="caption">ChxjCookieDirの例</div>
1715  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1716      ChxjCookieDir /var/abc      ChxjCookieDir /var/abc
1717        
1718  </pre>  </pre>
1719    
1720    
1721  <h3 id="doc1_1287">Cookieの保持期間</h3>  <h3 id="doc1_1289">Cookieの保持期間</h3>
1722    
1723  <p class="first_ja">ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。</p>  <p class="first_ja">ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。</p>
1724    
1725  <div id="doc1_1289" class="caption">ChxjCookieTimeoutの例</div>  <div id="doc1_1291" class="caption">ChxjCookieTimeoutの例</div>
1726  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1727      &lt;Location /&gt;      &lt;Location /&gt;
1728        ChxjCookieTimeout 10        ChxjCookieTimeout 10
# Line 1726  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1732  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1732    
1733  <p>上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。</p>  <p>上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。</p>
1734    
1735  <h2 id="doc1_1294">Refererシミュレート機能(EXPERIMENTAL)</h2>  <h2 id="doc1_1296">Refererシミュレート機能(EXPERIMENTAL)</h2>
1736    
1737    
1738  <h3 id="doc1_1296">Refererシミュレート機能(EXPERIMENTAL)</h3>  <h3 id="doc1_1298">Refererシミュレート機能(EXPERIMENTAL)</h3>
1739    
1740  <p class="first_ja">DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。</p>  <p class="first_ja">DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。</p>
1741  </body>  </body>

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26