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.25 by konn, Wed Feb 6 06:51:25 2008 UTC revision 1.26 by konn, Wed Feb 13 09:37:28 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="Last modified: Tue,  5 Feb 2008 13:20:28 +0900" lang="ja">  <meta name="date" content="Last modified: Wed, 13 Feb 2008 18:35:16 +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">Last modified: Tue,  5 Feb 2008 13:20:28 +0900</div>  <div class="date">Last modified: Wed, 13 Feb 2008 18:35:16 +0900</div>
696  <div class="author">Atsushi Konno</div>  <div class="author">Atsushi Konno</div>
697  <h2>目次</h2>  <h2>目次</h2>
698    
# Line 711  function setOHPHandler() { Line 711  function setOHPHandler() {
711  <li> <a href="#doc1_118" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">php等の出力結果が変換対象の場合</a>  <li> <a href="#doc1_118" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">php等の出力結果が変換対象の場合</a>
712  <li> <a href="#doc1_133" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">xoopsを使用し、且つwordpress、bwikiを使用している場合</a>  <li> <a href="#doc1_133" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">xoopsを使用し、且つwordpress、bwikiを使用している場合</a>
713  <li> <a href="#doc1_148" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">画像自動変換機能を使用する場合</a>  <li> <a href="#doc1_148" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">画像自動変換機能を使用する場合</a>
714  <li> <a href="#doc1_225" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">文字コードを変換したい場合(EXPERIMENTAL)</a>  <li> <a href="#doc1_225" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">文字コードを変換したい場合</a>
715  <li> <a href="#doc1_269" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">ディレクティブ</a>  <li> <a href="#doc1_269" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">ディレクティブ</a>
716  </ul>  </ul>
717  <li> <a href="#doc1_394" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">対応するCHTMLタグ</a>  <li> <a href="#doc1_394" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">対応するCHTMLタグ</a>
718  <li> <a href="#doc1_1102" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">独自拡張タグ</a>  <li> <a href="#doc1_1102" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">独自拡張タグ</a>
719  <li> <a href="#doc1_1139" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字について</a>  <li> <a href="#doc1_1139" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">文字コードについて</a>
720    <li> <a href="#doc1_1165" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字について</a>
721  <ul>  <ul>
722  <li> <a href="#doc1_1144" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字変換定義</a>  <li> <a href="#doc1_1170" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">絵文字変換定義</a>
723    <ul>
724    <li> <a href="#doc1_1177" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">DoCoMo→DoCoMo/au/SoftBank変換定義</a>
725    <li> <a href="#doc1_1224" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">au→DoCoMo変換定義</a>
726    <li> <a href="#doc1_1267" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">SoftBank→DoCoMo変換定義</a>
727    </ul>
728    </ul>
729    <li> <a href="#doc1_1318" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">デバイス定義 device_data.xml</a>
730    <ul>
731    <li> <a href="#doc1_1322" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">デバイス定義の要素</a>
732  </ul>  </ul>
733  <li> <a href="#doc1_1189" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">デバイス定義 device_data.xml</a>  <li> <a href="#doc1_1732" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">イメージ画像変換機能</a>
 <li> <a href="#doc1_1192" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">イメージ画像変換機能</a>  
734  <ul>  <ul>
735  <li> <a href="#doc1_1201" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">サムネイルモード</a>  <li> <a href="#doc1_1741" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">サムネイルモード</a>
736  <li> <a href="#doc1_1207" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">壁紙モード</a>  <li> <a href="#doc1_1747" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">壁紙モード</a>
737  <li> <a href="#doc1_1213" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">EzGetモード</a>  <li> <a href="#doc1_1753" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">EzGetモード</a>
738  <li> <a href="#doc1_1219" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">その他の機能</a>  <li> <a href="#doc1_1759" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">その他の機能</a>
739  </ul>  </ul>
740  <li> <a href="#doc1_1250" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力機能</a>  <li> <a href="#doc1_1790" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力機能</a>
741  <ul>  <ul>
742  <li> <a href="#doc1_1252" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力ハンドラの登録</a>  <li> <a href="#doc1_1792" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコード出力ハンドラの登録</a>
743  <li> <a href="#doc1_1258" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードソースファイルの設置</a>  <li> <a href="#doc1_1798" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードソースファイルの設置</a>
744  <li> <a href="#doc1_1282" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードの動的出力機能</a>  <li> <a href="#doc1_1822" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">QRコードの動的出力機能</a>
745  </ul>  </ul>
746  <li> <a href="#doc1_1289" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1829" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>
747  <ul>  <ul>
748  <li> <a href="#doc1_1291" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1831" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieシミュレート機能(EXPERIMENTAL)</a>
749  <li> <a href="#doc1_1297" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">One-Time ID</a>  <li> <a href="#doc1_1837" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">One-Time ID</a>
750  <li> <a href="#doc1_1300" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保存場所</a>  <li> <a href="#doc1_1840" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保存場所</a>
751  <li> <a href="#doc1_1306" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保持期間</a>  <li> <a href="#doc1_1846" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Cookieの保持期間</a>
752  </ul>  </ul>
753  <li> <a href="#doc1_1313" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1853" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>
754  <ul>  <ul>
755  <li> <a href="#doc1_1315" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>  <li> <a href="#doc1_1855" onmouseover="hilightSelflink(this)" onmouseout="normal(this)">Refererシミュレート機能(EXPERIMENTAL)</a>
756  </ul>  </ul>
757  </ul>  </ul>
758  </div>  </div>
# Line 867  ChxjConvertRule &quot;^/chxj.+$&quot; &q Line 876  ChxjConvertRule &quot;^/chxj.+$&quot; &q
876  <div id="doc1_124" class="caption">httpd.conf</div>  <div id="doc1_124" class="caption">httpd.conf</div>
877  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
878  #====================================================================================  #====================================================================================
879  # モジュールをApache2.0にロード  # モジュールをApache2.xにロード
880  #====================================================================================  #====================================================================================
881  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
882    
# Line 902  ChxjConvertRule &quot;^/chxj.+$&quot; &q Line 911  ChxjConvertRule &quot;^/chxj.+$&quot; &q
911  <div id="doc1_139" class="caption">httpd.conf</div>  <div id="doc1_139" class="caption">httpd.conf</div>
912  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
913  #====================================================================================  #====================================================================================
914  # モジュールをApache2.0にロード  # モジュールをApache2.xにロード
915  #====================================================================================  #====================================================================================
916  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so  LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
917    
# Line 1049  copy=&quot;NO&quot;,A.Konno Line 1058  copy=&quot;NO&quot;,A.Konno
1058  </div>  </div>
1059    
1060    
1061  <h3 id="doc1_225">文字コードを変換したい場合(EXPERIMENTAL)</h3>  <h3 id="doc1_225">文字コードを変換したい場合</h3>
1062    
1063    
1064  <ol>  <ol>
# Line 1514  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1523  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1523  </div>  </div>
1524    
1525    
1526  <h2 id="doc1_1139">絵文字について</h2>  <h2 id="doc1_1139">文字コードについて</h2>
1527    
1528    <p class="first_ja">サーバサイドコンテンツについてはShift_JIS(CP932)、EUCJP-WIN(Win外字対応のEUCJP)、UTF-8のどれかで記述することが可能です。Shift_JISで記述した場合は絵文字についてもShift_JISで、EUCJP-WINで記述した場合は絵文字についてもEUCJP-WINで、UTF-8で記述した場合は絵文字についてもUTF-8で記述します。<span class="note"><a href="#doc1_1141" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="詳細は「絵文字について」の項を参照のこと"><sup>(9)</sup></a></span>クライアントサイド(端末側)に送信する文字コードはShift_JISまたはUTF-8を指定することが可能です。<span class="note"><a href="#doc1_1144" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="指定方法については「デバイス定義」の項を参照のこと。"><sup>(10)</sup></a></span>mod_chxjによりサーバサイドコンテンツの文字コードから端末に送信する文字コードへと絵文字も含めて変換します。POST/GET中のデータについても端末側文字コードからサーバサイドコンテンツの文字コードへと絵文字も含めて変換します。</p>
1529    
1530    <ol>
1531    <li> 注意: Shift_JISでサーバサイドコンテンツを記述した場合はPOST/GETデータもShift_JISでサーバサイドコンテンツに渡されます。
1532    <li> 注意: EUCJP-WINでサーバサイドコンテンツを記述した場合はPOST/GETデータもEUCJP-WINでサーバサイドコンテンツに渡されます。
1533    <li> 注意: UTF-8でサーバサイドコンテンツを記述した場合はPOST/GETデータもEUCJP-WINでサーバサイドコンテンツに渡されます。</ol>
1534    
1535  <p class="first_ja">i-Mode用の絵文字を書いておけば、アクセスしたキャリアによって、mod_chxjが対応の絵文字に自動変換します。ソースに2byteのバイナリコードを直接書いても、10進参照文字列<span class="note"><a href="#doc1_1141" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="16進参照文字列には対応していません"><sup>(9)</sup></a></span>(&amp;#XXX;の形)で書いても、どちらでも変換対象になります。10進参照文字列で書いた場合は、mod_chxjにより、自動で2バイトコードに変換します。</p>  <p>サーバサイドコンテンツの文字コードはChxjConvRuleディレクティブで指定した文字コードになります。ChxjConvRuleにて矛盾が生じない限り、文字コードの混在も可能です。</p>
1536    
1537  <div class="footnote">  <div class="footnote">
1538  <ol>  <ol>
1539  <li id="doc1_1141" value="9"> 16進参照文字列には対応していません</ol>  <li id="doc1_1141" value="9"> 詳細は「絵文字について」の項を参照のこと<li id="doc1_1144" value="10"> 指定方法については「デバイス定義」の項を参照のこと。</ol>
1540  </div>  </div>
1541    
1542    
1543  <h3 id="doc1_1144">絵文字変換定義</h3>  <h2 id="doc1_1165">絵文字について</h2>
1544    
1545  <p class="first_ja">絵文字の変換に関する動作を変えたい場合(例えば「ハートがあったら、AUの場合はスペードに」とか、「変換定義がおかしい」といった場合)は、emoji.xmlファイルを直接編集することによって定義を変更することが可能です。emoji.xmlはXMLファイルとなっていますので、vi等で簡単に定義を変更することができます<span class="note"><a href="#doc1_1146" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。"><sup>(10)</sup></a></span>。</p>  <p class="first_ja">i-Mode用の絵文字を書いておけば、アクセスしたキャリアによって、mod_chxjが対応の絵文字に自動変換します。ソースに2byteのバイナリコードを直接書いても、10進参照文字列(&amp;#XXX;の形)、16進参照文字列(&amp;#xXXX;の形)で書いても、変換対象になります。10進参照文字列、16進参照文字列はmod_chxjにより自動で2バイトコードに変換されます。<span class="note"><a href="#doc1_1167" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="コンテンツをSJISで記述する場合には絵文字もSJISで、コンテンツをEUCJP-WINで記述する場合には絵文字もEUCJP-WINで、UTF-8で記述する場合には絵文字もUTF-8で記述する必要があります"><sup>(11)</sup></a></span></p>
 <p><br></br>以下に、emoji.xmlファイルの一部を記します。</p>  
1546    
1547  <div id="doc1_1151" class="caption">emoji.xml</div>  <div class="footnote">
1548  <pre class="program" style="margin-top:0">  <ol>
1549  &lt;?xml encoding=&quot;Shift_JIS&quot; &gt;  <li id="doc1_1167" value="11"> コンテンツをSJISで記述する場合には絵文字もSJISで、コンテンツをEUCJP-WINで記述する場合には絵文字もEUCJP-WINで、UTF-8で記述する場合には絵文字もUTF-8で記述する必要があります</ol>
1550    </div>
1551    
1552    
1553    <h3 id="doc1_1170">絵文字変換定義</h3>
1554    
1555    <p class="first_ja">絵文字の変換に関する動作を変えたい場合(例えば「ハートがあったら、AUの場合はスペードに」とか、「変換定義がおかしい」といった場合)は、emoji.xmlファイルを直接編集することによって定義を変更することが可能です。emoji.xmlはXMLファイルとなっていますので、人によってはvi等で簡単に定義を変更することができるかもしれません。</p>
1556    <p>emoji.xmlは3つのパートに分かれています。1つ目はDoCoMo→DoCoMo/au/SoftBankの変換定義部。2つ目はau→DoCoMoの変換定義部。3つ目はSoftBank→DoCoMoの変換定義部。1つ目はサーバサイドコンテンから各キャリアの絵文字に変換する際に使用されます。2つ目と3つ目はPOST/GETデータの変換に使用されます。</p>
1557    <p><br></br></p>
1558    
1559    <h3 id="doc1_1177">DoCoMo→DoCoMo/au/SoftBank変換定義</h3>
1560    
1561    <p class="first_ja">以下に、emoji.xmlファイルの1つ目のパート、DoCoMo→DoCoMo/au/SoftBankの変換定義部を記します。</p>
1562    
1563    <div id="doc1_1179" class="caption">emoji.xml</div>
1564    <pre class="program" style="margin-top:0">
1565  &lt;emoji&gt;  &lt;emoji&gt;
1566    &lt;set&gt;    &lt;set&gt;
1567      &lt;no&gt;1&lt;/no&gt;      &lt;no&gt;1&lt;/no&gt;
1568      &lt;imode&gt;      &lt;imode&gt;
1569        &lt;hex1&gt;f8&lt;/hex1&gt;        &lt;sjis-hex&gt;f89f&lt;/sjis-hex&gt;
1570        &lt;hex2&gt;9f&lt;/hex2&gt;        &lt;sjis-dec&gt;63647&lt;/sjis-dec&gt;
1571        &lt;string&gt;&amp;#63647;&lt;/string&gt;        &lt;eucjp-hex&gt;8ffca1&lt;/eucjp-hex&gt;
1572        &lt;description&gt;&lt;/description&gt;        &lt;eucjp-dec&gt;9436321&lt;/eucjp-dec&gt;
1573          &lt;unicode-hex&gt;e63e&lt;/unicode-hex&gt;
1574          &lt;unicode-dec&gt;58942&lt;/unicode-dec&gt;
1575          &lt;utf8-hex&gt;ee98be&lt;/utf8-hex&gt;
1576          &lt;utf8-dec&gt;15636670&lt;/utf-dec&gt;
1577          &lt;description&gt;晴れ&lt;/description&gt;
1578      &lt;/imode&gt;      &lt;/imode&gt;
1579      &lt;ezweb&gt;      &lt;ezweb&gt;
1580        &lt;A&gt;44&lt;/A&gt;        &lt;A&gt;
1581        &lt;B&gt;44&lt;/B&gt;          &lt;no&gt;44&lt;/no&gt;
1582        &lt;C&gt;44&lt;/C&gt;          &lt;sjis-hex&gt;f660&lt;/sjis-hex&gt;
1583        &lt;D&gt;44&lt;/D&gt;          &lt;sjis-dec&gt;63072&lt;/sjis-dec&gt;
1584            &lt;unicode-hex&gt;e488&lt;/unicode-hex&gt;
1585            &lt;unicode-dec&gt;58504&lt;/unicode-dec&gt;
1586            &lt;utf8-hex&gt;eebda0&lt;/utf8-hex&gt;
1587            &lt;utf8-dec&gt;15646112&lt;/utf-dec&gt;
1588          &lt;/A&gt;
1589          &lt;B&gt;
1590            &lt;no&gt;44&lt;/no&gt;
1591            &lt;sjis-hex&gt;f660&lt;/sjis-hex&gt;
1592            &lt;sjis-dec&gt;63072&lt;/sjis-dec&gt;
1593            &lt;unicode-hex&gt;e488&lt;/unicode-hex&gt;
1594            &lt;unicode-dec&gt;58504&lt;/unicode-dec&gt;
1595            &lt;utf8-hex&gt;eebda0&lt;/utf8-hex&gt;
1596            &lt;utf8-dec&gt;15646112&lt;/utf-dec&gt;
1597          &lt;/B&gt;
1598          &lt;C&gt;
1599            &lt;no&gt;44&lt;/no&gt;
1600            &lt;sjis-hex&gt;f660&lt;/sjis-hex&gt;
1601            &lt;sjis-dec&gt;63072&lt;/sjis-dec&gt;
1602            &lt;unicode-hex&gt;e488&lt;/unicode-hex&gt;
1603            &lt;unicode-dec&gt;58504&lt;/unicode-dec&gt;
1604            &lt;utf8-hex&gt;eebda0&lt;/utf8-hex&gt;
1605            &lt;utf8-dec&gt;15646112&lt;/utf-dec&gt;
1606          &lt;/C&gt;
1607          &lt;D&gt;
1608            &lt;no&gt;44&lt;/no&gt;
1609            &lt;sjis-hex&gt;f660&lt;/sjis-hex&gt;
1610            &lt;sjis-dec&gt;63072&lt;/sjis-dec&gt;
1611            &lt;unicode-hex&gt;e488&lt;/unicode-hex&gt;
1612            &lt;unicode-dec&gt;58504&lt;/unicode-dec&gt;
1613            &lt;utf8-hex&gt;eebda0&lt;/utf8-hex&gt;
1614            &lt;utf8-dec&gt;15646112&lt;/utf-dec&gt;
1615          &lt;/D&gt;
1616      &lt;/ezweb&gt;      &lt;/ezweb&gt;
1617      &lt;jphone&gt;      &lt;softbank&gt;
1618        &lt;string&gt;$Gj&lt;/string&gt;        &lt;no&gt;74&lt;/no&gt;
1619      &lt;/jphone&gt;        &lt;sjis-hex&gt;476a&lt;/sjis-hex&gt;
1620          &lt;sjis-dec&gt;116572776975&lt;/sjis-dec&gt;
1621          &lt;unicode-hex&gt;e04a&lt;/unicode-hex&gt;
1622          &lt;unicode-dec&gt;57418&lt;/unicode-dec&gt;
1623          &lt;utf8-hex&gt;ee818a&lt;/utf8-hex&gt;
1624          &lt;utf8-dec&gt;15630730&lt;/utf-dec&gt;
1625        &lt;/softbank&gt;
1626    &lt;/set&gt;    &lt;/set&gt;
1627         ・
1628         ・
1629         ・
1630         ・
1631    &lt;/emoji&gt;
1632  </pre>  </pre>
1633    
1634  <p>絵文字の定義は、&lt;emoji&gt;タグから&lt;/emoji&gt;タグまでの間にあります。その中の要素を説明します。1つの絵文字につき、1つのセット(&lt;set&gt;タグから&lt;/set&gt;タグまで)とし、キャリア毎の絵文字を定義しています。</p>  <p>絵文字の定義は、&lt;emoji&gt;タグから&lt;/emoji&gt;タグまでの間にあります。その中の要素を説明します。1つの絵文字につき、1つのセット(&lt;set&gt;タグから&lt;/set&gt;タグまで)とし、キャリア毎の絵文字を定義しています。合計176セットあります。</p>
1635    
1636  <ol>  <ol>
1637  <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;要素は子にsjis、eucjp、utf8、unicodeのそれぞれ16進と10進表記データを保持します。sjis-hexはShift_JISコードの16進表記、sjis-decはShift_JISコードの10進表記、eucjp-hexはEUCJP-WINの16進表記、eucjp-decはEUCJP-WINの10進表記、utf8-hexはUTF-8の16進表記、utf8-decはUTF-8の10進表記、unicode-hexはUNICODEの16進表記、unicode-decはUNICODEの10進表記となります。サーバサイドコンテンツがSJISで記述されている場合はimode要素のsjis-hex、sjis-decを参照します。同様にがEUCJP-WINで記述されている場合はimode要素のeucjp-hex、eucjp-decを参照します。UTF-8で記述されている場合はimode要素のutf8-hex、utf8-decを参照します。<br></br>サーバサイドコンテンツのマッチするコードがimode要素の中に存在すれば、変換は同一set内のデータを使用して行われます。
1638  <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;要素の&lt;no&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;の部分に当てはめられて、置換されます。同要素にはsjis-hex、sjis-dec、unicode-hex、unicode-dec、utf8-hex、utf8-decが有りますが、今のところ使用していません。
1639  <br></br><br></br><li> &lt;jphone&gt;要素<br></br>アクセスしてきた端末が、SoftBank/Vodafone/J-Phone端末であった場合、&lt;jphone&gt;要素に定義されている値に変換します。&lt;jphone&gt;要素は、&lt;string&gt;要素を保持していて、ここで定義されている値を直接使用します。</ol>  <br></br><br></br><li> &lt;softbank&gt;要素<br></br>アクセスしてきた端末が、SoftBank/Vodafone/J-Phone端末であった場合、&lt;softbank&gt;要素に定義されている値に変換します。&lt;softbank&gt;要素は、上記要素と同様にsjis-hex、sjis-dec、unicode-hex、unicode-dec、utf8-hex、utf8-decを保持しています。アクセスしてきた端末にはsjisを返す場合はsjis-hex、sjis-decの値を使用します。utf8を返す場合にはutf8-hex、utf8-decでは無くunicode-hex、unicode-decを返します。SoftBank端末の場合は3G端末は基本的にUTF8を返すようにデバイス定義にて定義されています。UTF8で定義された場合でSoftBankの場合はUNICODEの参照文字列を返すようになっています。(問題回避のため)</ol>
1640    
1641  <p><br></br>emoji.xmlに定義されていない絵文字で、変換したい絵文字がある場合には、このファイルに新たな定義を足せば、変換するようになります。</p>  <p><br></br>emoji.xmlに定義されていない絵文字で、変換したい絵文字がある場合には、このファイルに新たな定義を足せば、変換するようになります。<span class="note"><a href="#doc1_1217" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="同一コード領域に割り当てる必要があるかもしれません"><sup>(12)</sup></a></span></p>
1642    
1643  <div class="footnote">  <div class="footnote">
1644  <ol>  <ol>
1645  <li id="doc1_1146" value="10"> 厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。</ol>  <li id="doc1_1217" value="12"> 同一コード領域に割り当てる必要があるかもしれません</ol>
1646  </div>  </div>
1647    
1648    
1649  <h2 id="doc1_1189">デバイス定義 device_data.xml</h2>  <h3 id="doc1_1224">au→DoCoMo変換定義</h3>
1650    
1651    <p class="first_ja">au-&gt;DoCoMo変換の定義は主にau端末からサーバサイドへのPOST/GETデータの変換に使用されます。定義はemoji.xmlファイルの&lt;ezweb2imode&gt;タグではさまれたところに定義してあります。&lt;set&gt;から&lt;/set&gt;までの間が1絵文字を表現する部分になります。<br></br>以下に、emoji.xmlファイルの2つ目のパート、au→DoCoMo変換定義を以下に記します。</p>
1652    
1653    <div id="doc1_1228" class="caption">emoji.xml</div>
1654    <pre class="program" style="margin-top:0">
1655    &lt;ezweb2imode&gt;
1656      &lt;set&gt;
1657        &lt;no&gt;1&lt;/no&gt;
1658        &lt;ezweb&gt;
1659          &lt;sjis-hex&gt;F659&lt;/sjis-hex&gt;
1660          &lt;utf8-hex&gt;eebd99&lt;/utf8-hex&gt;
1661        &lt;/ezweb&gt;
1662        &lt;imode&gt;
1663          &lt;no&gt;220&lt;/no&gt;
1664        &lt;/imode&gt;
1665      &lt;/set&gt;
1666       ・
1667       ・
1668       ・
1669    &lt;/ezweb2imode&gt;
1670    </pre>
1671    
1672    <p><br></br></p>
1673    
1674    <ol>
1675    <li> &lt;no&gt;要素<br></br>auで定義されている絵文字番号を保持します。
1676    <br></br><br></br><li> &lt;ezweb&gt;要素<br></br>&lt;no&gt;で定義された絵文字番号の実際にPOST/GETされてくる値を保持します。sjis-hexは端末がShift_JISの場合のPOST/GETデータ、utf8-hexは端末がUTF-8の場合のPOST/GETデータになっています。POST/GETされたデータはこの要素に記述されたコードとマッチングされ、マッチした場合絵文字を特定します。
1677    <br></br><br></br><li> &lt;imode&gt;要素<br></br>&lt;ezweb&gt;要素でマッチした場合に参照されるEzWeb絵文字に対応するDoCoMo絵文字番号を保持します。mod_chxjによりDoCoMo絵文字に変換する場合に使用されます。
1678    <br></br><br></br></ol>
1679    
1680    
1681    <h3 id="doc1_1267">SoftBank→DoCoMo変換定義</h3>
1682    
1683    <p class="first_ja">SoftBank-&gt;DoCoMo変換の定義は主にSoftBank端末からサーバサイドへのPOST/GETデータの変換に使用されます。定義はemoji.xmlファイルの&lt;softbank2imode&gt;タグではさまれたところに定義してあります。&lt;set&gt;から&lt;/set&gt;までの間が1絵文字を表現する部分になります。<br></br>以下に、emoji.xmlファイルの3つ目のパート、SoftBank→DoCoMo変換定義を以下に記します。</p>
1684    
1685    <div id="doc1_1271" class="caption">emoji.xml</div>
1686    <pre class="program" style="margin-top:0">
1687    &lt;softbank2imode&gt;
1688      &lt;set&gt;
1689        &lt;no&gt;
1690          1
1691        &lt;/no&gt;
1692        &lt;softbank&gt;
1693          &lt;webcode&gt;
1694            4721
1695          &lt;/webcode&gt;
1696          &lt;sjis-hex&gt;
1697            f941
1698          &lt;/sjis-hex&gt;
1699          &lt;utf8-hex&gt;
1700            ee8081
1701          &lt;/utf8-hex&gt;
1702        &lt;/softbank&gt;
1703        &lt;imode&gt;
1704          &lt;no&gt;
1705            140
1706          &lt;/no&gt;
1707        &lt;/imode&gt;
1708      &lt;/set&gt;
1709       ・
1710       ・
1711       ・
1712       ・
1713    &lt;/softbank2imode&gt;
1714    </pre>
1715    
1716    <p><br></br></p>
1717    
1718    <ol>
1719    <li> &lt;no&gt;要素<br></br>SoftBankで定義されている絵文字番号を保持します。
1720    <br></br><br></br><li> &lt;softbank&gt;要素<br></br>&lt;no&gt;で定義された絵文字番号の実際にPOST/GETされてくる値を保持します。webcodeは端末がShift_JISの場合でウェブコードを送信してくる場合のPOST/GETデータ、sjis-hexは端末がShift_JISの場合のPOST/GETデータ、utf8-hexは端末がUTF-8の場合のPOST/GETデータになっています。POST/GETされたデータはこの要素に記述されたコードとマッチングされ、マッチした場合絵文字を特定します。
1721    <br></br><br></br><li> &lt;imode&gt;要素<br></br>&lt;ezweb&gt;要素でマッチした場合に参照されるSoftBank絵文字に対応するDoCoMo絵文字番号を保持します。mod_chxjによりDoCoMo絵文字に変換する場合に使用されます。
1722    <br></br><br></br></ol>
1723    
1724    <p><br></br><br></br></p>
1725    
1726    <h2 id="doc1_1318">デバイス定義 device_data.xml</h2>
1727    
1728  <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>
1729    <p><br></br></p>
1730    
1731    <h3 id="doc1_1322">デバイス定義の要素</h3>
1732    
1733    <p class="first_ja">まず以下にデバイス定義を記します。</p>
1734    
1735    <div id="doc1_1324" class="caption">device_data.xml</div>
1736    <pre class="program" style="margin-top:0">
1737    &lt;devices&gt;
1738      &lt;user_agent pattern=&quot;^KDDI-([^     ]+) UP.Browser/[^   ]+ .+&quot;&gt;
1739        &lt;device&gt;
1740          &lt;device_id&gt;HI21&lt;/device_id&gt;
1741          &lt;device_name&gt;C3001H&lt;/device_name&gt;
1742          &lt;html_spec_type&gt;XHTML_MOBILE_1_0&lt;/html_spec_type&gt;
1743          &lt;width&gt;120&lt;/width&gt;
1744          &lt;heigh&gt;130&lt;/heigh&gt;
1745          &lt;gif&gt;true&lt;/gif&gt;
1746          &lt;jpeg&gt;true&lt;/jpeg&gt;
1747          &lt;png&gt;true&lt;/png&gt;
1748          &lt;bmp2&gt;false&lt;/bmp2&gt;
1749          &lt;bmp4&gt;false&lt;/bmp4&gt;
1750          &lt;color&gt;4096&lt;/color&gt;
1751          &lt;emoji_type&gt;C&lt;/emoji_type&gt;
1752          &lt;wp_width&gt;120&lt;/wp_width&gt;
1753          &lt;wp_heigh&gt;116&lt;/wp_heigh&gt;
1754          &lt;cache&gt;9740&lt;/cache&gt;
1755          &lt;dpi_width&gt;72&lt;/dpi_width&gt;
1756          &lt;dpi_heigh&gt;72&lt;/dpi_heigh&gt;
1757          &lt;charset&gt;SJIS&lt;/charset&gt;
1758        &lt;/device&gt;
1759        ・
1760        ・
1761        ・
1762      &lt;/user_agent&gt;
1763      &lt;user_agent&gt;
1764        ・
1765        ・
1766        ・
1767      &lt;/user_agent&gt;
1768        ・
1769        ・
1770        ・
1771    &lt;/devices&gt;
1772    </pre>
1773    
1774    <p>デバイス定義は&lt;devices&gt;タグに囲まれた中に記述します。devicesタグはuser_agentタグを子に持ちます。user_agentはpattern属性を保持し、端末のUser-Agentヘッダとマッチングされます。user_agentタグのpattern属性とマッチした場合には、そのuser_agentタグの子ノードであるdevice要素を1つづつ見に行きます。user_agentタグのpattern属性は正規表現となっていて、$1がデバイス識別IDになるように定義されていますので、$1とdevice_idタグの要素をマッチングします。マッチしたdeviceを該当端末とし、mod_chxjは該当端末用の変換処理を行います。</p>
1775    <p><br></br>以下に各タグについての説明を記します。</p>
1776    
1777    <ol>
1778    <li> <b>devicesタグ</b><br></br>全ての要素は一組のdevicesタグに囲まれます。この中に存在する要素がデバイス定義になります。<br></br><br></br>
1779    <li> <b>user_agentタグ</b><br></br>User-Agentのパターンとそのパターンにマッチするdeviceを子ノードに持ちます。<br></br>pattern属性にはUser-AgentとマッチさせるPerl互換の正規表現を指定します<br></br>仮に&quot;KDDI-CA31 UP.Browser/・・・&quot;というUser-Agentを保持する端末からのアクセスがあった場合は、&lt;user_agent pattern=&quot;^KDDI-([^ ]+) UP.Browser/[^ ]+ .+&quot;&gt;にマッチしますが、&lt;user_agent pattern=&quot;^UP.Browser/[^\-]+-([^ ]+) .+&quot; &gt;にはマッチしません。よってmod_chxjは&lt;user_agent pattern=&quot;^KDDI-([^ ]+) UP.Browser/[^ ]+ .+&quot;&gt;の子ノードを処理対象と判断します。<br></br>pattern属性の要素である正規表現には必ず$1で後方参照できるようグルーピングが必要です。$1で後方参照する値は以下に記すdevice_idタグの値と比較されます。device_idとの比較の結果、等しい値であればそのdevice_idを保持するdeviceタグが該当端末として選択されます。<br></br>user_agentタグレベルではマッチしているもののdevice_idが期待する値を持っていない場合は、user_agentタグ中の最後のdeviceが選択されます。<br></br><br></br>
1780    <li> <p><b>deviceタグ</b><br></br>一台の端末を表現します。<br></br>子ノードとして以下を保持します。<br></br></p>
1781    
1782    <ol>
1783    <li> device_id
1784    <li> device_name
1785    <li> html_spec_type
1786    <li> width
1787    <li> height
1788    <li> gif
1789    <li> jpeg
1790    <li> png
1791    <li> bmp2
1792    <li> bmp4
1793    <li> color
1794    <li> emoji_type
1795    <li> wp_width
1796    <li> wp_height
1797    <li> cache
1798    <li> dpi_width
1799    <li> dpi_height
1800    <li> charset</ol>
1801    
1802    <p><br></br><br></br></p>
1803    <li> <b>device_idタグ</b><br></br>user_agentタグのpattern属性により生成された$1により後方参照される値と比較される値を保持します。通常DoCoMoであればUser-Agentの「機種名」部、auであればUser-Agentの「デバイスID」部、SoftBankであれば、User-Agentの「機種名」部を記述します。
1804    <div id="doc1_1434" class="caption">例</div>
1805    <pre class="program" style="margin-top:0">
1806          &lt;!-- DoCoMo F905iの場合 --&gt;
1807          &lt;device_id&gt;F905i&lt;/device_id&gt;
1808    
1809          &lt;!-- au W54Tの場合 --&gt;
1810          &lt;device_id&gt;TS3E&lt;/device_id&gt;
1811    
1812          &lt;!-- SoftBank 822SHの場合 --&gt;
1813          &lt;device_id&gt;822SH&lt;/device_id&gt;
1814        
1815    </pre>
1816    <li> <b>device_nameタグ</b><br></br>mod_chxjでは本値をデバッグログ出力時にのみ使用します、人が見てわかりやすい名前を入力しておきます。device_idと混同しないように注意します。
1817    <div id="doc1_1443" class="caption">au W21CAの例</div>
1818    <pre class="program" style="margin-top:0">
1819          &lt;device_name&gt;W21CA&lt;/device_name&gt;
1820        
1821    </pre>
1822    <li> <b>html_spec_typeタグ</b><br></br>端末のサポートするHTMLタイプを指定します。本タグの値によりHTML変換結果が変わります。指定できる値は以下のとおりです。大文字、小文字は区別しません。
1823    <div class="table">
1824    <table id="doc1_1452" class="data" rules="groups">
1825    <caption>対応HTMLタイプ一覧</caption>
1826    <colgroup span="2">
1827    <col>
1828    <col>
1829    </colgroup>
1830    <thead>
1831    <tr class="even">
1832    <td>値</td>
1833    <td>意味</td>
1834    </tr>
1835    </thead>
1836    <tbody>
1837    <tr class="even">
1838    <td>CHTML_1_0</td>
1839    <td>CHTML1.0対応機種の場合記述します。HTML変換結果はCHTML1.0になります。</td>
1840    </tr>
1841    <tr class="odd">
1842    <td>CHTML_2_0</td>
1843    <td>CHTML2.0対応機種の場合記述します。HTML変換結果はCHTML2.0になります。</td>
1844    </tr>
1845    <tr class="even">
1846    <td>CHTML_3_0</td>
1847    <td>CHTML3.0対応機種の場合記述します。HTML変換結果はCHTML3.0になります。</td>
1848    </tr>
1849    <tr class="odd">
1850    <td>CHTML_4_0</td>
1851    <td>CHTML4.0対応機種の場合記述します。HTML変換結果はCHTML4.0になります。(0.9.0時点ではCHTML3.0と同じ)</td>
1852    </tr>
1853    <tr class="even">
1854    <td>CHTML_5_0</td>
1855    <td>CHTML5.0対応機種の場合記述します。HTML変換結果はCHTML5.0になります。(0.9.0時点ではCHTML3.0と同じ)</td>
1856    </tr>
1857    <tr class="odd">
1858    <td>CHTML_6_0</td>
1859    <td>CHTML6.0対応機種の場合記述します。HTML変換結果はCHTML6.0になります。(0.9.0時点ではCHTML3.0と同じ)</td>
1860    </tr>
1861    <tr class="even">
1862    <td>CHTML_7_0</td>
1863    <td>CHTML7.0対応機種の場合記述します。HTML変換結果はCHTML7.0になります。(0.9.0時点ではCHTML3.0と同じ)</td>
1864    </tr>
1865    <tr class="odd">
1866    <td>XHTML_MOBILE_1_0</td>
1867    <td>auのXHTML対応機種の場合に記述します。HTML変換結果はXHTMLになります。</td>
1868    </tr>
1869    <tr class="even">
1870    <td>HDML</td>
1871    <td>auのHDML対応機種の場合に記述します。HTML変換結果はHDMLになります。</td>
1872    </tr>
1873    <tr class="odd">
1874    <td>JHTML</td>
1875    <td>SoftBankの端末の場合に記述します。HTML変換結果はSoftBank用HTMLになります。</td>
1876    </tr>
1877    </tbody>
1878    </table>
1879    </div>
1880    <li> <b>widthタグ</b><br></br>端末の横幅を指定します。
1881    <li> <b>heightタグ</b><br></br>端末の縦幅を指定します。
1882    <li> <b>gifタグ</b><br></br>端末がgif画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1578" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(13)</sup></a></span>
1883    <li> <b>jpegタグ</b><br></br>端末がjpeg画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1587" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(14)</sup></a></span>
1884    <li> <b>pngタグ</b><br></br>端末がpng画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1596" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(15)</sup></a></span>
1885    <li> <b>bmp2タグ</b><br></br>端末がbmp2画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1605" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(16)</sup></a></span>通常はfalse。
1886    <li> <b>bmp4タグ</b><br></br>端末がbmp4画像を表示することができる場合(サポートしている場合)はtrueを指定します。表示できない(サポートしていない)場合はfalseを指定します。<span class="note"><a href="#doc1_1614" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(17)</sup></a></span>通常はfalse。
1887    <li> <b>colorタグ</b><br></br>端末の表示可能色数。
1888    <li> <p><b>emoji_typeタグ</b><br></br>auの場合に指定します。au以外の場合は指定しても意味はありません。<br></br>設定できる値は以下のとおり。</p>
1889    
1890    <div class="table">
1891    <table id="doc1_1631" class="data" rules="groups">
1892    <caption>emoji_typeに設定できる値</caption>
1893    <colgroup span="2">
1894    <col>
1895    <col>
1896    </colgroup>
1897    <thead>
1898    <tr class="even">
1899    <td>値</td>
1900    <td>意味</td>
1901    </tr>
1902    </thead>
1903    <tbody>
1904    <tr class="even">
1905    <td>A</td>
1906    <td>図柄タイプAをサポートしている場合に指定します。</td>
1907    </tr>
1908    <tr class="odd">
1909    <td>B</td>
1910    <td>図柄タイプBをサポートしている場合に指定します。</td>
1911    </tr>
1912    <tr class="even">
1913    <td>C</td>
1914    <td>図柄タイプCをサポートしている場合に指定します。</td>
1915    </tr>
1916    <tr class="odd">
1917    <td>D</td>
1918    <td>図柄タイプDをサポートしている場合に指定します。</td>
1919    </tr>
1920    </tbody>
1921    </table>
1922    </div>
1923    
1924    <p><span class="note"><a href="#doc1_1685" onmouseover="hilightSelflink(this)" onmouseout="normal(this)" title="大文字、小文字の区別なし"><sup>(18)</sup></a></span></p>
1925    <li> <b>wp_widthタグ</b><br></br>壁紙の横幅を指定します。Mode=WPで画像生成する場合、この値が使用されます。
1926    <li> <b>wp_heightタグ</b><br></br>壁紙の縦幅を指定します。Mode=WPで画像生成する場合、この値が使用されます。
1927    <li> <b>cacheタグ</b><br></br>ブラウザのキャッシュサイズを指定します。
1928    <li> <b>dpi_widthタグ</b><br></br>端末の解像度。
1929    <li> <b>dpi_heightタグ</b><br></br>端末の解像度。
1930    <li> <b>charsetタグ(0.9.0にて追加)</b><br></br>端末に送信する文字コードを指定します。指定できる値はSJISかUTF-8のみ。</ol>
1931    
1932    <p><br></br></p>
1933    
1934    <div class="footnote">
1935    <ol>
1936    <li id="doc1_1578" value="13"> 大文字、小文字の区別なし<li id="doc1_1587" value="14"> 大文字、小文字の区別なし<li id="doc1_1596" value="15"> 大文字、小文字の区別なし<li id="doc1_1605" value="16"> 大文字、小文字の区別なし<li id="doc1_1614" value="17"> 大文字、小文字の区別なし<li id="doc1_1685" value="18"> 大文字、小文字の区別なし</ol>
1937    </div>
1938    
1939    <p><br></br></p>
1940    
1941  <h2 id="doc1_1192">イメージ画像変換機能</h2>  <h2 id="doc1_1732">イメージ画像変換機能</h2>
1942    
1943  <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>
1944    
1945  <h3 id="doc1_1201">サムネイルモード</h3>  <h3 id="doc1_1741">サムネイルモード</h3>
1946    
1947  <p class="first_ja">端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。</p>  <p class="first_ja">端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。</p>
1948    
1949  <div id="doc1_1203" class="caption">サムネイルモード 使用例</div>  <div id="doc1_1743" class="caption">サムネイルモード 使用例</div>
1950  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1951    &lt;IMG SRC=&quot;/img/logo?Mode=Thumbnail&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?Mode=Thumbnail&quot;&gt;
1952        
1953  </pre>  </pre>
1954    
1955    
1956  <h3 id="doc1_1207">壁紙モード</h3>  <h3 id="doc1_1747">壁紙モード</h3>
1957    
1958  <p class="first_ja">端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。</p>  <p class="first_ja">端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。</p>
1959    
1960  <div id="doc1_1209" class="caption">壁紙モード 使用例</div>  <div id="doc1_1749" class="caption">壁紙モード 使用例</div>
1961  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1962    &lt;IMG SRC=&quot;/img/logo?Mode=WP&quot;&gt;    &lt;IMG SRC=&quot;/img/logo?Mode=WP&quot;&gt;
1963        
1964  </pre>  </pre>
1965    
1966    
1967  <h3 id="doc1_1213">EzGetモード</h3>  <h3 id="doc1_1753">EzGetモード</h3>
1968    
1969  <p class="first_ja">壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。</p>  <p class="first_ja">壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。</p>
1970    
1971  <div id="doc1_1215" class="caption">EzGetモード 使用例</div>  <div id="doc1_1755" class="caption">EzGetモード 使用例</div>
1972  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1973    &lt;A HREF=&quot;/img/logo?Mode=EzGet&quot;&gt;    &lt;A HREF=&quot;/img/logo?Mode=EzGet&quot;&gt;
1974        
1975  </pre>  </pre>
1976    
1977    
1978  <h3 id="doc1_1219">その他の機能</h3>  <h3 id="doc1_1759">その他の機能</h3>
1979    
1980  <p class="first_ja">モードの他に、画像サイズ(縦X横)を直接指定することも可能です。<b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。</p>  <p class="first_ja">モードの他に、画像サイズ(縦X横)を直接指定することも可能です。<b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。</p>
1981    
# Line 1618  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1983  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1983  <li> wパラメータ<br></br>横幅を指定します。  <li> wパラメータ<br></br>横幅を指定します。
1984  <li> hパラメータ<br></br>縦幅を指定します。  <li> hパラメータ<br></br>縦幅を指定します。
1985    
1986  <div id="doc1_1239" class="caption">w/hパラメータ 使用例</div>  <div id="doc1_1779" class="caption">w/hパラメータ 使用例</div>
1987  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
1988    &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;
1989        
# Line 1628  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 1993  ChxjConvRule &quot;^/chxj.+$&quot; &quot
1993    
1994  <p>上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。</p>  <p>上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。</p>
1995    
1996  <h2 id="doc1_1250">QRコード出力機能</h2>  <h2 id="doc1_1790">QRコード出力機能</h2>
1997    
1998    
1999  <h3 id="doc1_1252">QRコード出力ハンドラの登録</h3>  <h3 id="doc1_1792">QRコード出力ハンドラの登録</h3>
2000    
2001  <p class="first_ja">QRコード出力機能を使用するには、QRコードハンドラを登録します。httpd.confに以下の記述を追加します。</p>  <p class="first_ja">QRコード出力機能を使用するには、QRコードハンドラを登録します。httpd.confに以下の記述を追加します。</p>
2002    
2003  <div id="doc1_1254" class="caption">httpd.conf</div>  <div id="doc1_1794" class="caption">httpd.conf</div>
2004  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
2005    AddHandler chxj-qrcode .qrc    AddHandler chxj-qrcode .qrc
2006  </pre>  </pre>
2007    
2008  <p>なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)</p>  <p>なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)</p>
2009    
2010  <h3 id="doc1_1258">QRコードソースファイルの設置</h3>  <h3 id="doc1_1798">QRコードソースファイルの設置</h3>
2011    
2012  <p class="first_ja">ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。</p>  <p class="first_ja">ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。</p>
2013    
2014  <div id="doc1_1260" class="caption">例:a.qrc</div>  <div id="doc1_1800" class="caption">例:a.qrc</div>
2015  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
2016    &lt;?xml version=1.0 ?&gt;    &lt;?xml version=1.0 ?&gt;
2017        
# Line 1669  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 2034  ChxjConvRule &quot;^/chxj.+$&quot; &quot
2034  <li> dataタグdataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。</ol>  <li> dataタグdataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。</ol>
2035    
2036    
2037  <h3 id="doc1_1282">QRコードの動的出力機能</h3>  <h3 id="doc1_1822">QRコードの動的出力機能</h3>
2038    
2039  <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>
2040    
2041  <div id="doc1_1284" class="caption">phpでQRコードを動的に出力する例</div>  <div id="doc1_1824" class="caption">phpでQRコードを動的に出力する例</div>
2042  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
2043      &lt;php      &lt;php
2044        $version = $_POST[&quot;version&quot;];        $version = $_POST[&quot;version&quot;];
# Line 1697  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 2062  ChxjConvRule &quot;^/chxj.+$&quot; &quot
2062    
2063  <p>そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。</p>  <p>そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。</p>
2064    
2065  <h2 id="doc1_1289">Cookieシミュレート機能(EXPERIMENTAL)</h2>  <h2 id="doc1_1829">Cookieシミュレート機能(EXPERIMENTAL)</h2>
2066    
2067    
2068  <h3 id="doc1_1291">Cookieシミュレート機能(EXPERIMENTAL)</h3>  <h3 id="doc1_1831">Cookieシミュレート機能(EXPERIMENTAL)</h3>
2069    
2070  <p class="first_ja">Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。</p>  <p class="first_ja">Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。</p>
2071    
2072  <div id="doc1_1293" class="caption">Cookieシミュレート機能を有効にする例</div>  <div id="doc1_1833" class="caption">Cookieシミュレート機能を有効にする例</div>
2073  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
2074      ChxjConvertRule &quot;^/chxj.+$&quot; &quot;EngineOn,CookieOn&quot; &quot;NONE&quot;      ChxjConvertRule &quot;^/chxj.+$&quot; &quot;EngineOn,CookieOn&quot; &quot;NONE&quot;
2075        
2076  </pre>  </pre>
2077    
2078    
2079  <h3 id="doc1_1297">One-Time ID</h3>  <h3 id="doc1_1837">One-Time ID</h3>
2080    
2081  <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>
2082    
2083  <h3 id="doc1_1300">Cookieの保存場所</h3>  <h3 id="doc1_1840">Cookieの保存場所</h3>
2084    
2085  <p class="first_ja">Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。</p>  <p class="first_ja">Cookieの内容は、サーバ側に保存されます。保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。</p>
2086    
2087  <div id="doc1_1302" class="caption">ChxjCookieDirの例</div>  <div id="doc1_1842" class="caption">ChxjCookieDirの例</div>
2088  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
2089      ChxjCookieDir /var/abc      ChxjCookieDir /var/abc
2090        
2091  </pre>  </pre>
2092    
2093    
2094  <h3 id="doc1_1306">Cookieの保持期間</h3>  <h3 id="doc1_1846">Cookieの保持期間</h3>
2095    
2096  <p class="first_ja">ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。</p>  <p class="first_ja">ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。</p>
2097    
2098  <div id="doc1_1308" class="caption">ChxjCookieTimeoutの例</div>  <div id="doc1_1848" class="caption">ChxjCookieTimeoutの例</div>
2099  <pre class="program" style="margin-top:0">  <pre class="program" style="margin-top:0">
2100      &lt;Location /&gt;      &lt;Location /&gt;
2101        ChxjCookieTimeout 10        ChxjCookieTimeout 10
# Line 1740  ChxjConvRule &quot;^/chxj.+$&quot; &quot Line 2105  ChxjConvRule &quot;^/chxj.+$&quot; &quot
2105    
2106  <p>上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。</p>  <p>上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。</p>
2107    
2108  <h2 id="doc1_1313">Refererシミュレート機能(EXPERIMENTAL)</h2>  <h2 id="doc1_1853">Refererシミュレート機能(EXPERIMENTAL)</h2>
2109    
2110    
2111  <h3 id="doc1_1315">Refererシミュレート機能(EXPERIMENTAL)</h3>  <h3 id="doc1_1855">Refererシミュレート機能(EXPERIMENTAL)</h3>
2112    
2113  <p class="first_ja">DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。</p>  <p class="first_ja">DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。</p>
2114  </body>  </body>

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

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