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.20.2.1 by konn, Thu Jan 17 11:41:30 2008 UTC revision 1.20.2.2 by konn, Tue Feb 5 11:38:08 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: Tue,  5 Feb 2008 13:20:28 +0900" 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: Tue,  5 Feb 2008 13:20:28 +0900</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_20" 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_22" 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_49" 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_55" 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_228" 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_272" 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_397" 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_1105" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">独自拡張タグ</a>
719  <li> <a href="#doc1_1120" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字について</a>  <li> <a href="#doc1_1142" 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_1147" 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_1192" 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_1195" 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_1204" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">サムネイルモード</a>
727  <li> <a href="#doc1_1188" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">壁紙モード</a>  <li> <a href="#doc1_1210" 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_1216" 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_1222" 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_1253" 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_1255" 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_1261" 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_1285" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードの動的出力機能</a>
736  </ul>  </ul>
737  <li> <a href="#doc1_1270" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1292" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>
738  <ul>  <ul>
739  <li> <a href="#doc1_1272" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1294" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>
740  <li> <a href="#doc1_1278" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">One-Time ID</a>  <li> <a href="#doc1_1300" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">One-Time ID</a>
741  <li> <a href="#doc1_1281" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保存場所</a>  <li> <a href="#doc1_1303" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保存場所</a>
742  <li> <a href="#doc1_1287" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保持期間</a>  <li> <a href="#doc1_1309" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保持期間</a>
743  </ul>  </ul>
744  <li> <a href="#doc1_1294" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1316" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>
745  <ul>  <ul>
746  <li> <a href="#doc1_1296" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1318" 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.0用モジュールであり、CHTML(DoCoMo i-Mode用CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。</p>  <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>
754    
755  <h2 id="doc1_18">インストール</h2>  <h2 id="doc1_20">インストール</h2>
756    
757    
758  <h3 id="doc1_20">準備</h3>  <h3 id="doc1_22">準備</h3>
759    
760  <p class="first_ja">mod_chxjをインストールする前に、下記のものを用意する必要があります。</p>  <p class="first_ja">mod_chxjをインストールする前に、下記のものを用意する必要があります。</p>
761    
# Line 769  function setOHPHandler() { Line 769  function setOHPHandler() {
769  <li> Linux</ol>  <li> Linux</ol>
770    
771    
772  <h3 id="doc1_47">mod_chxjの入手</h3>  <h3 id="doc1_49">mod_chxjの入手</h3>
773    
774  <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>
775    
776  <h3 id="doc1_53">インストール</h3>  <h3 id="doc1_55">インストール</h3>
777    
778  <p class="first_ja">以下にmod_chxjインストール手順を示します。</p>  <p class="first_ja">以下にmod_chxjインストール手順を示します。</p>
779    
780  <ol>  <ol>
781  <li> <p>Configureスクリプトを生成します</p>  <li> <p>Configureスクリプトを生成します</p>
782    
783  <div id="doc1_59" class="caption">Configure スクリプトの生成</div>  <div id="doc1_61" class="caption">Configure スクリプトの生成</div>
784  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
785  $ ./buildconf.sh  $ ./buildconf.sh
786  </pre>  </pre>
787    
788  <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_64" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="&quot;$&quot;はプロンプトをあらわします。"><sup>(1)</sup></a></span></p>
789  <li> <p>Configure</p>  <li> <p>Configure</p>
790  <p>以下は、/usr/include/apache2.0に、Apache2.0のヘッダーファイルが存在する場合です。</p>  <p>以下は、/usr/include/apache2.0に、Apache2.0のヘッダーファイルが存在する場合です。</p>
791    
792  <div id="doc1_68" class="caption">Configure</div>  <div id="doc1_70" class="caption">Configure</div>
793  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
794  $ ./configure --with-apache-header=/usr/include/apache2.0  $ ./configure --with-apache-header=/usr/include/apache2.0
795  </pre>  </pre>
796    
797  <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_73" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="--with-apache-headerは必須です。"><sup>(2)</sup></a></span><span class="note"><a href="#doc1_76" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="FreeBSD等の場合は--with-iconvも必須です。"><sup>(3)</sup></a></span><span class="note"><a href="#doc1_79" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="場合によっては--with-aprや--with-apuも必要です。"><sup>(4)</sup></a></span></p>
798  <li> mod_chxj.soを生成します  <li> mod_chxj.soを生成します
799  <div id="doc1_83" class="caption">make</div>  <div id="doc1_85" class="caption">make</div>
800  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
801  $ make  $ make
802  </pre>  </pre>
803  <li> apacheにインストールします  <li> apacheにインストールします
804  <div id="doc1_89" class="caption">install</div>  <div id="doc1_91" class="caption">install</div>
805  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
806  $ make install  $ make install
807  </pre>  </pre>
808  <li> <p>データの設置etcディレクトリは以下のdevice_data.xmlとemoji.xmlをApacheからアクセスできるところに配置します。</p>  <li> <p>データの設置etcディレクトリは以下のdevice_data.xmlとemoji.xmlをApacheからアクセスできるところに配置します。</p>
809  <p>以下、/etc/apache2/chxjディレクトリにchxj用設定ファイルを用意する場合</p>  <p>以下、/etc/apache2/chxjディレクトリにchxj用設定ファイルを用意する場合</p>
810    
811  <div id="doc1_95" class="caption">データの設置</div>  <div id="doc1_97" class="caption">データの設置</div>
812  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
813  $ mkdir -p /etc/apache2/chxj  $ mkdir -p /etc/apache2/chxj
814  $ 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 818  $ cp etc/emoji.xml /etc/apache2/chxj
818    
819  <div class="footnote">  <div class="footnote">
820  <ol>  <ol>
821  <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_64" value="1"> &quot;$&quot;はプロンプトをあらわします。<li id="doc1_73" value="2"> --with-apache-headerは必須です。<li id="doc1_76" value="3"> FreeBSD等の場合は--with-iconvも必須です。<li id="doc1_79" value="4"> 場合によっては--with-aprや--with-apuも必要です。</ol>
822  </div>  </div>
823    
824    
825  <h2 id="doc1_102">Configuration</h2>  <h2 id="doc1_104">Configuration</h2>
826    
827  <p class="first_ja">以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています</p>  <p class="first_ja">以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています</p>
828    
829  <h3 id="doc1_104">htmlファイルが変換対象の場合</h3>  <h3 id="doc1_106">htmlファイルが変換対象の場合</h3>
830    
831  <p class="first_ja">例として、Locationが&quot;/chxj&quot;以下のものは全て変換する場合を説明します。</p>  <p class="first_ja">例として、Locationが&quot;/chxj&quot;以下のものは全て変換する場合を説明します。</p>
832    
833  <ol>  <ol>
834  <li> httpd.confに以下を追加します。  <li> httpd.confに以下を追加します。
835  <div id="doc1_110" class="caption">httpd.conf</div>  <div id="doc1_112" class="caption">httpd.conf</div>
836  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
837  #====================================================================================  #====================================================================================
838  # モジュールをApache2.0にロード  # モジュールをApache2.0にロード
# Line 861  ChxjConvertRule &quot;^/chxj.+$&quot; &q Line 861  ChxjConvertRule &quot;^/chxj.+$&quot; &q
861  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
862    
863    
864  <h3 id="doc1_119">php等の出力結果が変換対象の場合</h3>  <h3 id="doc1_121">php等の出力結果が変換対象の場合</h3>
865    
866    
867  <ol>  <ol>
868  <li> httpd.confに以下を追加します  <li> httpd.confに以下を追加します
869  <div id="doc1_125" class="caption">httpd.conf</div>  <div id="doc1_127" class="caption">httpd.conf</div>
870  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
871  #====================================================================================  #====================================================================================
872  # モジュールをApache2.0にロード  # モジュールをApache2.0にロード
# Line 896  ChxjConvertRule &quot;^/chxj.+$&quot; &q Line 896  ChxjConvertRule &quot;^/chxj.+$&quot; &q
896  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
897    
898    
899  <h3 id="doc1_134">xoopsを使用し、且つwordpress、bwikiを使用している場合</h3>  <h3 id="doc1_136">xoopsを使用し、且つwordpress、bwikiを使用している場合</h3>
900    
901    
902  <ol>  <ol>
903  <li> httpd.confに以下を追加します  <li> httpd.confに以下を追加します
904  <div id="doc1_140" class="caption">httpd.conf</div>  <div id="doc1_142" class="caption">httpd.conf</div>
905  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
906  #====================================================================================  #====================================================================================
907  # モジュールをApache2.0にロード  # モジュールをApache2.0にロード
# Line 971  ChxjConvertRule &quot;^/.+$&quot; &quot; Line 971  ChxjConvertRule &quot;^/.+$&quot; &quot;
971  <li> apacheの再起動。</ol>  <li> apacheの再起動。</ol>
972    
973    
974  <h3 id="doc1_149">画像自動変換機能を使用する場合</h3>  <h3 id="doc1_151">画像自動変換機能を使用する場合</h3>
975    
976    
977  <ol>  <ol>
978  <li> <p>httpd.confに以下を追加します。下記は、URIが/imgで始まる全ての画像に対して動作するようmod_chxjに指示しています。</p>  <li> <p>httpd.confに以下を追加します。下記は、URIが/imgで始まる全ての画像に対して動作するようmod_chxjに指示しています。</p>
979    
980  <div id="doc1_155" class="caption">httpd.conf</div>  <div id="doc1_157" class="caption">httpd.conf</div>
981  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
982  &lt;Location /img&gt;  &lt;Location /img&gt;
983  ChxjImageEngine On  ChxjImageEngine On
# Line 993  ChxjImageCopyright &quot;A.Konno&quot; Line 993  ChxjImageCopyright &quot;A.Konno&quot;
993  <p><br></br> <br></br></p>  <p><br></br> <br></br></p>
994  <li> <p>ChxjImageCacheDir<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリを指定します。デフォルトは/tmp。</p>  <li> <p>ChxjImageCacheDir<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリを指定します。デフォルトは/tmp。</p>
995    
996  <div id="doc1_173" class="caption">ChxjImageCacheDir</div>  <div id="doc1_175" class="caption">ChxjImageCacheDir</div>
997  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
998        ChxjImageCacheDir /tmp        ChxjImageCacheDir /tmp
999                
1000  </pre>  </pre>
1001    
1002  <p>mod_chxjに画像変換キャッシュとして/tmpを使用するよう指示します。<br></br><br></br></p>  <p>mod_chxjに画像変換キャッシュとして/tmpを使用するよう指示します。<br></br><br></br></p>
1003    <li> <p>ChxjImageCacheLimit<br></br> mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリの許容量を指定します。単位はbyte。</p>
1004    
1005    <div id="doc1_187" class="caption">ChxjImageCacheLimit</div>
1006    <pre class="program" style="margin-top:0">
1007          ChxjImageCacheLimit 1024
1008          
1009    </pre>
1010    
1011    <p>mod_chxjに画像変換キャッシュ最大サイズとして1kbyteと指定。※このとき変換結果が1kbyte以上あるような場合にはINTERNAL_SERVER_ERRORを返します。十分な領域を確保するか、画像サイズを小さくしてください。<br></br><br></br></p>
1012  <li> <p>ChxjImageCopyright<br></br> mod_chxjの画像変換ハンドラに、転送禁止設定を行うよう指示します。パラメータとして任意の文字列をとります。ChxjImageCopyrightディレクティブで指定された文字列は、それぞれのイメージのコメント部に埋め込まれます。</p>  <li> <p>ChxjImageCopyright<br></br> mod_chxjの画像変換ハンドラに、転送禁止設定を行うよう指示します。パラメータとして任意の文字列をとります。ChxjImageCopyrightディレクティブで指定された文字列は、それぞれのイメージのコメント部に埋め込まれます。</p>
1013    
1014  <div id="doc1_185" class="caption">ChxjImageCopyright</div>  <div id="doc1_199" class="caption">ChxjImageCopyright</div>
1015  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1016        ChxjImageCopyright &quot;A.Konno&quot;        ChxjImageCopyright &quot;A.Konno&quot;
1017                
# Line 1011  ChxjImageCopyright &quot;A.Konno&quot; Line 1020  ChxjImageCopyright &quot;A.Konno&quot;
1020  <p>mod_chxjに転送禁止設定を行うよう指示しています。変換後イメージのコメント部分には、キャリア毎に以下の文字列を埋め込みます。</p>  <p>mod_chxjに転送禁止設定を行うよう指示しています。変換後イメージのコメント部分には、キャリア毎に以下の文字列を埋め込みます。</p>
1021  <p><b>AU の場合</b></p>  <p><b>AU の場合</b></p>
1022    
1023  <div id="doc1_191" class="caption">AU</div>  <div id="doc1_205" class="caption">AU</div>
1024  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1025         kddi_copyright=on,A.Konno         kddi_copyright=on,A.Konno
1026                
# Line 1019  ChxjImageCopyright &quot;A.Konno&quot; Line 1028  ChxjImageCopyright &quot;A.Konno&quot;
1028    
1029  <p><b>DoCoMoの場合</b></p>  <p><b>DoCoMoの場合</b></p>
1030    
1031  <div id="doc1_197" class="caption">DoCoMo</div>  <div id="doc1_211" class="caption">DoCoMo</div>
1032  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1033  copy=&quot;NO&quot;,A.Konno  copy=&quot;NO&quot;,A.Konno
1034  </pre>  </pre>
1035    
1036  <p><b>Vodafone</b>の場合は、レスポンスヘッダに</p>  <p><b>SoftBank/Vodafone</b>の場合は、レスポンスヘッダに</p>
1037    
1038  <div id="doc1_203" class="caption">Vodafone/J-PHONE</div>  <div id="doc1_217" class="caption">SoftBank/Vodafone/J-PHONE</div>
1039  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1040           x-jphone-copyright:no-transfer           x-jphone-copyright:no-transfer
1041                
1042  </pre>  </pre>
1043    
1044  <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_220" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="SoftBank/Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。"><sup>(5)</sup></a></span></p></ol></ol>
1045    
1046    
1047  <div class="footnote">  <div class="footnote">
1048  <ol>  <ol>
1049  <li id="doc1_206" value="5"> Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。</ol>  <li id="doc1_220" value="5"> SoftBank/Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。</ol>
1050  </div>  </div>
1051    
1052    
1053  <h3 id="doc1_214">文字コードを変換したい場合(EXPERIMENTAL)</h3>  <h3 id="doc1_228">文字コードを変換したい場合(EXPERIMENTAL)</h3>
1054    
1055    
1056  <ol>  <ol>
1057  <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>
1058    
1059  <div id="doc1_220" class="caption">httpd.conf</div>  <div id="doc1_234" class="caption">httpd.conf</div>
1060  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1061  ChxjConvRule &quot;^/chxj.+$&quot; &quot;EngineOn&quot; &quot;EUC-JP&quot;  ChxjConvRule &quot;^/chxj.+$&quot; &quot;EngineOn&quot; &quot;EUC-JP&quot;
1062  </pre>  </pre>
# Line 1063  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1072  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1072  <p><br></br><br></br></p></ol></ol>  <p><br></br><br></br></p></ol></ol>
1073    
1074    
1075  <h3 id="doc1_258">ディレクティブ</h3>  <h3 id="doc1_272">ディレクティブ</h3>
1076    
1077    
1078  <ol>  <ol>
1079  <li> ChxjLoadDeviceData<br></br>デバイス定義ファイルを指定します。  <li> ChxjLoadDeviceData<br></br>デバイス定義ファイルを指定します。
1080  <div id="doc1_266" class="caption">ex)</div>  <div id="doc1_280" class="caption">ex)</div>
1081  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1082      ChxjLoadDeviceData /etc/apache2/device.xml      ChxjLoadDeviceData /etc/apache2/device.xml
1083        
1084  </pre>  </pre>
1085  <li> ChxjLoadEmojiData<br></br>絵文字変換定義ファイルを指定します。  <li> ChxjLoadEmojiData<br></br>絵文字変換定義ファイルを指定します。
1086  <div id="doc1_274" class="caption">ex)</div>  <div id="doc1_288" class="caption">ex)</div>
1087  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1088      ChxjLoadEmojiData   /etc/apache2/chxj/emoji.xml      ChxjLoadEmojiData   /etc/apache2/chxj/emoji.xml
1089        
1090  </pre>  </pre>
1091  <li> ChxjImageEngine<br></br>画像変換エンジンを有効にします。パラメータとしてOnとOffを指定できます。DefaultはOffです。  <li> ChxjImageEngine<br></br>画像変換エンジンを有効にします。パラメータとしてOnとOffを指定できます。DefaultはOffです。
1092  <div id="doc1_282" class="caption">ex)</div>  <div id="doc1_296" class="caption">ex)</div>
1093  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1094      ChxjImageEngine On      ChxjImageEngine On
1095        
1096  </pre>  </pre>
1097  <li> ChxjImageCacheDir<br></br>イメージの一時ファイル保存場所を指定します。  <li> ChxjImageCacheDir<br></br>イメージの一時ファイル保存場所を指定します。
1098  <div id="doc1_290" class="caption">ex)</div>  <div id="doc1_304" class="caption">ex)</div>
1099  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1100      ChxjImageCacheDir   /tmp      ChxjImageCacheDir   /tmp
1101        
1102  </pre>  </pre>
1103    <li> ChxjImageCacheLimit<br></br>イメージの一時ファイル保存許容量を指定します。下記は1MByteの例。
1104    <div id="doc1_312" class="caption">ex)</div>
1105    <pre class="program" style="margin-top:0">
1106        ChxjImageCacheLimit   1048576
1107      
1108    </pre>
1109  <li> ChxjImageCopyright<br></br>イメージに著作権情報を付与します。  <li> ChxjImageCopyright<br></br>イメージに著作権情報を付与します。
1110  <div id="doc1_298" class="caption">ex)</div>  <div id="doc1_320" class="caption">ex)</div>
1111  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1112      ChxjImageCacheDir   &quot;chosakuken jyoho&quot;      ChxjImageCopyright   &quot;chosakuken jyoho&quot;
1113        
1114  </pre>  </pre>
1115  <li> ChxjConvertRule<br></br> HTML変換エンジンの適用ルールを記述します。本ディレクティブを使用し、変換エンジンのOn|Offを指定します。DefaultはOFFです。また、ルールは記述された順番に評価し、マッチするものがあれば、その時点で対象ルールを適用します。パラメータは3つ必要です。下記にパラメータを記します。  <li> ChxjConvertRule<br></br> HTML変換エンジンの適用ルールを記述します。本ディレクティブを使用し、変換エンジンのOn|Offを指定します。DefaultはOFFです。また、ルールは記述された順番に評価し、マッチするものがあれば、その時点で対象ルールを適用します。パラメータは3つ必要です。下記にパラメータを記します。
1116  <div class="table">  <div class="table">
1117  <table id="doc1_306" class="data" rules="groups">  <table id="doc1_328" class="data" rules="groups">
1118  <caption>パラメータ</caption>  <caption>パラメータ</caption>
1119  <colgroup span="2">  <colgroup span="2">
1120  <col>  <col>
# Line 1131  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1146  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1146  </div>  </div>
1147    
1148    
1149  <div id="doc1_352" class="caption">ex)</div>  <div id="doc1_374" class="caption">ex)</div>
1150  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1151      ChxjConvertRule &quot;^/chxj.+$/&quot; EngineOn EUC-JP      ChxjConvertRule &quot;^/chxj.+$/&quot; EngineOn EUC-JP
1152        
1153  </pre>  </pre>
1154  <li> <p>ChxjCookieDir<br></br>クッキーを使用する場合に指定します。クッキーの内容を保存するディレクトリを指定します。指定しない場合は/tmpに保存されます。</p>  <li> <p>ChxjCookieDir<br></br>クッキーを使用する場合に指定します。クッキーの内容を保存するディレクトリを指定します。指定しない場合は/tmpに保存されます。</p>
1155    
1156  <div id="doc1_360" class="caption">ex)</div>  <div id="doc1_382" class="caption">ex)</div>
1157  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1158      &lt;Location /&gt;      &lt;Location /&gt;
1159        ChxjCookieDir   /tmp        ChxjCookieDir   /tmp
# Line 1149  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1164  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1164  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p>  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p>
1165  <li> <p>ChxjCookieTimeout<br></br>クッキーを使用する場合に指定します。クッキーの保持期間を秒単位で指定します。指定しない場合は、1800秒でクッキーデータを破棄します。</p>  <li> <p>ChxjCookieTimeout<br></br>クッキーを使用する場合に指定します。クッキーの保持期間を秒単位で指定します。指定しない場合は、1800秒でクッキーデータを破棄します。</p>
1166    
1167  <div id="doc1_368" class="caption">ex)</div>  <div id="doc1_390" class="caption">ex)</div>
1168  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1169      &lt;Location /&gt;      &lt;Location /&gt;
1170        ChxjCookieTimeout 10        ChxjCookieTimeout 10
# Line 1160  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1175  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1175  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p></ol>  <p>詳細は「Cookieシミュレート機能」の項を参照ください。</p></ol>
1176    
1177    
1178  <h2 id="doc1_375">対応するCHTMLタグ</h2>  <h2 id="doc1_397">対応するCHTMLタグ</h2>
1179    
1180  <p class="first_ja">変換可能なCHTMLタグは以下のとおりです。</p>  <p class="first_ja">変換可能なCHTMLタグは以下のとおりです。</p>
1181    
1182  <div class="table">  <div class="table">
1183  <table id="doc1_377" class="data" rules="groups">  <table id="doc1_399" class="data" rules="groups">
1184  <caption>対応タグ一覧</caption>  <caption>対応タグ一覧</caption>
1185  <colgroup span="7">  <colgroup span="7">
1186  <col>  <col>
# Line 1384  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1399  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1399  <td align="center">○</td>  <td align="center">○</td>
1400  <td align="center">○</td>  <td align="center">○</td>
1401  <td align="center">○</td>  <td align="center">○</td>
1402  <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_954" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="必ず閉じてください。そのうち対応します。"><sup>(7)</sup></a></span></td>
1403  </tr>  </tr>
1404  <tr class="even">  <tr class="even">
1405  <td></td>  <td></td>
# Line 1447  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1462  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1462    
1463  <div class="footnote">  <div class="footnote">
1464  <ol>  <ol>
1465  <li id="doc1_932" value="7"> 必ず閉じてください。そのうち対応します。</ol>  <li id="doc1_954" value="7"> 必ず閉じてください。そのうち対応します。</ol>
1466  </div>  </div>
1467    
1468    
1469  <h2 id="doc1_1083">独自拡張タグ</h2>  <h2 id="doc1_1105">独自拡張タグ</h2>
1470    
1471    
1472  <ol>  <ol>
1473  <li> <p>&lt;CHXJ:IF&gt;<br></br></p>  <li> <p>&lt;CHXJ:IF&gt;<br></br></p>
1474  <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_1115" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="変換しませんので注意が必要です"><sup>(8)</sup></a></span>出力します。必須の属性としてlangがあります。lang属性を指定することによって、例えば、<b>「HDML機の場合のみ出力させる」</b>といったことを可能にします。<br></br><br></br>ex)</p>
1475    
1476  <div id="doc1_1103" class="caption">HTML文書中にHDML機の場合のみ有効にしたいタグ、または文書がある場合</div>  <div id="doc1_1125" class="caption">HTML文書中にHDML機の場合のみ有効にしたいタグ、または文書がある場合</div>
1477  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1478         &lt;CHXJ:IF lang=&quot;HDML&quot; &gt;         &lt;CHXJ:IF lang=&quot;HDML&quot; &gt;
1479           &lt;NODISPLAY&gt;           &lt;NODISPLAY&gt;
# Line 1472  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1487  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1487  <p><br></br></p>  <p><br></br></p>
1488  <p>ex)</p>  <p>ex)</p>
1489    
1490  <div id="doc1_1107" class="caption">i-Modeのみ出力したい文書がある場合</div>  <div id="doc1_1129" class="caption">i-Modeのみ出力したい文書がある場合</div>
1491  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1492         &lt;CHXJ:IF lang=&quot;chtml&quot; &gt;         &lt;CHXJ:IF lang=&quot;chtml&quot; &gt;
1493           シークレットコードがどーのこーの。           シークレットコードがどーのこーの。
# Line 1483  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1498  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1498  <p><br></br></p>  <p><br></br></p>
1499  <p>また、lang属性は、複数指定することも可能です。<br></br></p>  <p>また、lang属性は、複数指定することも可能です。<br></br></p>
1500    
1501  <div id="doc1_1113" class="caption">HDML機,J-PHONE機は以下を出力します</div>  <div id="doc1_1135" class="caption">HDML機,J-PHONE機は以下を出力します</div>
1502  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1503         &lt;CHXJ:IF lang=&quot;chtml&quot; lang=&quot;jhtml&quot;&gt;         &lt;CHXJ:IF lang=&quot;chtml&quot; lang=&quot;jhtml&quot;&gt;
1504         あなたの携帯は、HDML機かJ-HTML機です。         あなたの携帯は、HDML機かJ-HTML機です。
# Line 1496  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1511  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1511    
1512  <div class="footnote">  <div class="footnote">
1513  <ol>  <ol>
1514  <li id="doc1_1093" value="8"> 変換しませんので注意が必要です</ol>  <li id="doc1_1115" value="8"> 変換しませんので注意が必要です</ol>
1515  </div>  </div>
1516    
1517    
1518  <h2 id="doc1_1120">絵文字について</h2>  <h2 id="doc1_1142">絵文字について</h2>
1519    
1520  <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_1144" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="16進参照文字列には対応していません"><sup>(9)</sup></a></span>(&amp;#XXX;の形)で書いても、どちらでも変換対象になります。10進参照文字列で書いた場合は、mod_chxjにより、自動で2バイトコードに変換します。</p>
1521    
1522  <div class="footnote">  <div class="footnote">
1523  <ol>  <ol>
1524  <li id="doc1_1122" value="9"> 16進参照文字列には対応していません</ol>  <li id="doc1_1144" value="9"> 16進参照文字列には対応していません</ol>
1525  </div>  </div>
1526    
1527    
1528  <h3 id="doc1_1125">絵文字変換定義</h3>  <h3 id="doc1_1147">絵文字変換定義</h3>
1529    
1530  <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_1149" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。"><sup>(10)</sup></a></span>。</p>
1531  <p><br></br>以下に、emoji.xmlファイルの一部を記します。</p>  <p><br></br>以下に、emoji.xmlファイルの一部を記します。</p>
1532    
1533  <div id="doc1_1132" class="caption">emoji.xml</div>  <div id="doc1_1154" class="caption">emoji.xml</div>
1534  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1535  &lt;?xml encoding=&quot;Shift_JIS&quot; &gt;  &lt;?xml encoding=&quot;Shift_JIS&quot; &gt;
1536    
# Line 1545  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1560  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1560  <ol>  <ol>
1561  <li> &lt;imode&gt;要素<br></br>まず、元となるi-Mode用の絵文字は、&lt;imode&gt;タグにはさまれた間に定義されています。&lt;imode&gt;要素は、2バイトコード要素(&lt;hex1&gt;&lt;hex2&gt;)と、10進参照文字列要素(&lt;string&gt;)を保持していて、この2つの要素を変換元の値として使用します。アクセスしてきた端末が、i-Mode機であった場合で、かつCHTML中に10進参照文字列が絵文字として書かれている場合には、&lt;hex1&gt;&lt;hex2&gt;要素に定義されている値に置換します。  <li> &lt;imode&gt;要素<br></br>まず、元となるi-Mode用の絵文字は、&lt;imode&gt;タグにはさまれた間に定義されています。&lt;imode&gt;要素は、2バイトコード要素(&lt;hex1&gt;&lt;hex2&gt;)と、10進参照文字列要素(&lt;string&gt;)を保持していて、この2つの要素を変換元の値として使用します。アクセスしてきた端末が、i-Mode機であった場合で、かつCHTML中に10進参照文字列が絵文字として書かれている場合には、&lt;hex1&gt;&lt;hex2&gt;要素に定義されている値に置換します。
1562  <br></br><br></br><li> &lt;ezweb&gt;要素<br></br>アクセスしてきた端末が、AU機であった場合、&lt;ezweb&gt;要素に定義されている値に変換します。&lt;ezweb&gt;要素は、&lt;A&gt;〜&lt;D&gt;要素を持っていて、それぞれAUの絵文字タイプA〜Dに対応していますので、もし、Dタイプの絵文字端末であったなら、&lt;D&gt;要素に定義されている値に変換します。ここで定義されている値は、HDML機の場合は、<b>&lt;IMG ICON=&quot;XX&quot;&gt;</b>の&quot;XX&quot;の部分に当てはめられて、置換されます。XHTML機の場合は、<b>&lt;IMG LOCALSRC=&quot;XX&quot;&gt;</b>の&quot;XX&quot;の部分に当てはめられて、置換されます。  <br></br><br></br><li> &lt;ezweb&gt;要素<br></br>アクセスしてきた端末が、AU機であった場合、&lt;ezweb&gt;要素に定義されている値に変換します。&lt;ezweb&gt;要素は、&lt;A&gt;〜&lt;D&gt;要素を持っていて、それぞれAUの絵文字タイプA〜Dに対応していますので、もし、Dタイプの絵文字端末であったなら、&lt;D&gt;要素に定義されている値に変換します。ここで定義されている値は、HDML機の場合は、<b>&lt;IMG ICON=&quot;XX&quot;&gt;</b>の&quot;XX&quot;の部分に当てはめられて、置換されます。XHTML機の場合は、<b>&lt;IMG LOCALSRC=&quot;XX&quot;&gt;</b>の&quot;XX&quot;の部分に当てはめられて、置換されます。
1563  <br></br><br></br><li> &lt;jphone&gt;要素<br></br>アクセスしてきた端末が、Vodafone/J-Phone端末であった場合、&lt;jphone&gt;要素に定義されている値に変換します。&lt;jphone&gt;要素は、&lt;string&gt;要素を保持していて、ここで定義されている値を直接使用します。</ol>  <br></br><br></br><li> &lt;jphone&gt;要素<br></br>アクセスしてきた端末が、SoftBank/Vodafone/J-Phone端末であった場合、&lt;jphone&gt;要素に定義されている値に変換します。&lt;jphone&gt;要素は、&lt;string&gt;要素を保持していて、ここで定義されている値を直接使用します。</ol>
1564    
1565  <p><br></br>emoji.xmlに定義されていない絵文字で、変換したい絵文字がある場合には、このファイルに新たな定義を足せば、変換するようになります。</p>  <p><br></br>emoji.xmlに定義されていない絵文字で、変換したい絵文字がある場合には、このファイルに新たな定義を足せば、変換するようになります。</p>
1566    
1567  <div class="footnote">  <div class="footnote">
1568  <ol>  <ol>
1569  <li id="doc1_1127" value="10"> 厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。</ol>  <li id="doc1_1149" value="10"> 厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。</ol>
1570  </div>  </div>
1571    
1572    
1573  <h2 id="doc1_1170">デバイス定義 device_data.xml</h2>  <h2 id="doc1_1192">デバイス定義 device_data.xml</h2>
1574    
1575  <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>
1576    
1577  <h2 id="doc1_1173">イメージ画像変換機能</h2>  <h2 id="doc1_1195">イメージ画像変換機能</h2>
1578    
1579  <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>
1580    
1581  <h3 id="doc1_1182">サムネイルモード</h3>  <h3 id="doc1_1204">サムネイルモード</h3>
1582    
1583  <p class="first_ja">端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。</p>  <p class="first_ja">端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。</p>
1584    
1585  <div id="doc1_1184" class="caption">サムネイルモード 使用例</div>  <div id="doc1_1206" class="caption">サムネイルモード 使用例</div>
1586  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1587    &lt;IMG SRC=&quot;/img/logo?Mode=Thumbnail&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?Mode=Thumbnail&quot;&gt;
1588        
1589  </pre>  </pre>
1590    
1591    
1592  <h3 id="doc1_1188">壁紙モード</h3>  <h3 id="doc1_1210">壁紙モード</h3>
1593    
1594  <p class="first_ja">端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。</p>  <p class="first_ja">端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。</p>
1595    
1596  <div id="doc1_1190" class="caption">壁紙モード 使用例</div>  <div id="doc1_1212" class="caption">壁紙モード 使用例</div>
1597  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1598    &lt;IMG SRC=&quot;/img/logo?Mode=WP&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?Mode=WP&quot;&gt;
1599        
1600  </pre>  </pre>
1601    
1602    
1603  <h3 id="doc1_1194">EzGetモード</h3>  <h3 id="doc1_1216">EzGetモード</h3>
1604    
1605  <p class="first_ja">壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。</p>  <p class="first_ja">壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。</p>
1606    
1607  <div id="doc1_1196" class="caption">EzGetモード 使用例</div>  <div id="doc1_1218" class="caption">EzGetモード 使用例</div>
1608  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1609    &lt;A HREF=&quot;/img/logo?Mode=EzGet&quot;&gt;    &lt;A HREF=&quot;/img/logo?Mode=EzGet&quot;&gt;
1610        
1611  </pre>  </pre>
1612    
1613    
1614  <h3 id="doc1_1200">その他の機能</h3>  <h3 id="doc1_1222">その他の機能</h3>
1615    
1616  <p class="first_ja">モードの他に、画像サイズ(縦X横)を直接指定することも可能です。<b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。</p>  <p class="first_ja">モードの他に、画像サイズ(縦X横)を直接指定することも可能です。<b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。</p>
1617    
# Line 1604  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1619  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1619  <li> wパラメータ<br></br>横幅を指定します。  <li> wパラメータ<br></br>横幅を指定します。
1620  <li> hパラメータ<br></br>縦幅を指定します。  <li> hパラメータ<br></br>縦幅を指定します。
1621    
1622  <div id="doc1_1220" class="caption">w/hパラメータ 使用例</div>  <div id="doc1_1242" class="caption">w/hパラメータ 使用例</div>
1623  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1624    &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;
1625        
# Line 1614  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1629  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1629    
1630  <p>上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。</p>  <p>上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。</p>
1631    
1632  <h2 id="doc1_1231">QRコード出力機能</h2>  <h2 id="doc1_1253">QRコード出力機能</h2>
1633    
1634    
1635  <h3 id="doc1_1233">QRコード出力ハンドラの登録</h3>  <h3 id="doc1_1255">QRコード出力ハンドラの登録</h3>
1636    
1637  <p class="first_ja">QRコード出力機能を使用するには、QRコードハンドラを登録します。httpd.confに以下の記述を追加します。</p>  <p class="first_ja">QRコード出力機能を使用するには、QRコードハンドラを登録します。httpd.confに以下の記述を追加します。</p>
1638    
1639  <div id="doc1_1235" class="caption">httpd.conf</div>  <div id="doc1_1257" class="caption">httpd.conf</div>
1640  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1641    AddHandler chxj-qrcode .qrc    AddHandler chxj-qrcode .qrc
1642  </pre>  </pre>
1643    
1644  <p>なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)</p>  <p>なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)</p>
1645    
1646  <h3 id="doc1_1239">QRコードソースファイルの設置</h3>  <h3 id="doc1_1261">QRコードソースファイルの設置</h3>
1647    
1648  <p class="first_ja">ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。</p>  <p class="first_ja">ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。</p>
1649    
1650  <div id="doc1_1241" class="caption">例:a.qrc</div>  <div id="doc1_1263" class="caption">例:a.qrc</div>
1651  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1652    &lt;?xml version=1.0 ?&gt;    &lt;?xml version=1.0 ?&gt;
1653        
# Line 1655  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1670  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1670  <li> dataタグdataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。</ol>  <li> dataタグdataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。</ol>
1671    
1672    
1673  <h3 id="doc1_1263">QRコードの動的出力機能</h3>  <h3 id="doc1_1285">QRコードの動的出力機能</h3>
1674    
1675  <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>
1676    
1677  <div id="doc1_1265" class="caption">phpでQRコードを動的に出力する例</div>  <div id="doc1_1287" class="caption">phpでQRコードを動的に出力する例</div>
1678  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1679      &lt;php      &lt;php
1680        $version = $_POST[&quot;version&quot;];        $version = $_POST[&quot;version&quot;];
# Line 1683  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1698  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1698    
1699  <p>そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。</p>  <p>そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。</p>
1700    
1701  <h2 id="doc1_1270">Cookieシミュレート機能(EXPERIMENTAL)</h2>  <h2 id="doc1_1292">Cookieシミュレート機能(EXPERIMENTAL)</h2>
1702    
1703    
1704  <h3 id="doc1_1272">Cookieシミュレート機能(EXPERIMENTAL)</h3>  <h3 id="doc1_1294">Cookieシミュレート機能(EXPERIMENTAL)</h3>
1705    
1706  <p class="first_ja">Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。</p>  <p class="first_ja">Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。</p>
1707    
1708  <div id="doc1_1274" class="caption">Cookieシミュレート機能を有効にする例</div>  <div id="doc1_1296" class="caption">Cookieシミュレート機能を有効にする例</div>
1709  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1710      ChxjConvertRule &quot;^/chxj.+$&quot; &quot;EngineOn,CookieOn&quot; &quot;NONE&quot;      ChxjConvertRule &quot;^/chxj.+$&quot; &quot;EngineOn,CookieOn&quot; &quot;NONE&quot;
1711        
1712  </pre>  </pre>
1713    
1714    
1715  <h3 id="doc1_1278">One-Time ID</h3>  <h3 id="doc1_1300">One-Time ID</h3>
1716    
1717  <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>
1718    
1719  <h3 id="doc1_1281">Cookieの保存場所</h3>  <h3 id="doc1_1303">Cookieの保存場所</h3>
1720    
1721  <p class="first_ja">Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。</p>  <p class="first_ja">Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。</p>
1722    
1723  <div id="doc1_1283" class="caption">ChxjCookieDirの例</div>  <div id="doc1_1305" class="caption">ChxjCookieDirの例</div>
1724  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1725      ChxjCookieDir /var/abc      ChxjCookieDir /var/abc
1726        
1727  </pre>  </pre>
1728    
1729    
1730  <h3 id="doc1_1287">Cookieの保持期間</h3>  <h3 id="doc1_1309">Cookieの保持期間</h3>
1731    
1732  <p class="first_ja">ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。</p>  <p class="first_ja">ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。</p>
1733    
1734  <div id="doc1_1289" class="caption">ChxjCookieTimeoutの例</div>  <div id="doc1_1311" class="caption">ChxjCookieTimeoutの例</div>
1735  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1736      &lt;Location /&gt;      &lt;Location /&gt;
1737        ChxjCookieTimeout 10        ChxjCookieTimeout 10
# Line 1726  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1741  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1741    
1742  <p>上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。</p>  <p>上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。</p>
1743    
1744  <h2 id="doc1_1294">Refererシミュレート機能(EXPERIMENTAL)</h2>  <h2 id="doc1_1316">Refererシミュレート機能(EXPERIMENTAL)</h2>
1745    
1746    
1747  <h3 id="doc1_1296">Refererシミュレート機能(EXPERIMENTAL)</h3>  <h3 id="doc1_1318">Refererシミュレート機能(EXPERIMENTAL)</h3>
1748    
1749  <p class="first_ja">DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。</p>  <p class="first_ja">DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。</p>
1750  </body>  </body>

Legend:
Removed from v.1.20.2.1  
changed lines
  Added in v.1.20.2.2

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