JIS X 0212 (JIS補助漢字)対応 jishojoパッケージ (Ver0.04) 2006.08.06作成 2006.12.03更新 TANAKA, Takuji KXD02663(at)nifty(dot)ne(dot)jp (( 1 )) 概要 JIS X 0213パッケージ[1]を拡張し、JIS X 0212 (JIS補助漢字) を追加した virtual font(vf), tfmとスタイルファイルのパッケージを作成した。 拙作のpTeXへの拡張パッチ[2]の実験を主な目的として作成したものであり、 同拡張パッチの適用が前提となる。 テスト目的であり制限事項はあるが、基本的には動作している。 (( 2 )) 内容 JIS X 0213パッケージ v1.3(2006/6/19) のJIS2004用virtual fontに JIS X 0212対応部分を追加したvfを作成した。 作成にあたっては、和文VFの作り方[3]を参考にした。 tfmはJIS X 0213パッケージのtfmを名前を替えてコピーした。 これを利用するようにJIS X 0213パッケージのスタイルファイルを改変し、 jisx0213exp.sty, jishojo.sty の名前にした。 JIS X 0213パッケージのvfは拡張JIS→Adobe-Japan1-5のCIDのコード変換 を行なっているが、今回、拡張JIS→拡張JIS, 拡張JIS→UCS2,UTF-32のコード変換 を行なったものも実験用に作成してみた。 コード変換表の作成には[4〜8]を参考にした。 (( 3 )) 使い方 JIS X 0213パッケージ v1.3(2006/6/19) にvf, tfm, styを追加して使用する。 ファイル名は重複していないので、JIS X 0213パッケージと共存できる。 pLaTeXの入力ファイルでは、 以下のような例のいずれかを、プリアンブルの適切な位置に書けば良い。 \usepackage{jishojo} %% 拡張JIS→CID \usepackage[bold]{jishojo} %% boldオプションは有効 \usepackage[deluxe]{jishojo} %% deluxeオプションは有効 \usepackage[unicode]{jishojo} %% 拡張JIS→UCS2,UTF-32 (bold, deluxeも有効) \usepackage[raw]{jishojo} %% 拡張JIS→拡張JIS (bold, deluxeも有効) expertオプションには未対応。 JIS X 0213パッケージのJIS2004に対しJIS X 0212を追加したものなので、 JIS2004の文字は\usepackage{jis2004}の場合と同じになる。 JIS X 0212のレパートリーに関しては、 pLaTeXの入力ファイルのエンコーディングはEUC-JP, ISO-2022-JP-2の どちらでも動作する。 pTeX本体の実行時の漢字コードは`EUC', `JIS', (libkanji版の場合)`UTF8'の いずれでも動作するが、`SJIS'では動作しない。 (( 4 )) dviwareのフォントの設定 CID版はJIS X 0213パッケージと同様 xjis{mr,mb,gr,gb}-{h,v} のフォント名で Adobe-Japan1のCIDを利用する設定を行なえば使用可能となる。 ただし、JIS X 0212には、Adobe-Japan1-6の範囲が必要なので Adobe-Japan1-5以内のフォントでは一部の文字が欠けてしまう。 UCS2版では、uxjis{mr,mb,gr,gb}-{h,v} のフォント名で Unicodeを利用する設定を行なえばよい。 Extension B(U+2xxxx)の303字は、set3を使用した3byte出力(UTF-32の3byte部分) になるようovp2ovfの拡張パッチを作成し、 patch/ の下に置いた。これを表示するには、dviware側も対応させる必要がある。 拡張JIS版では、rxjis{mr,mb,gr,gb}-{h,v} のフォント名で設定することになる。 ただし、dviware側で拡張JISに対応するような改造が必要となる。 または、CMapを解釈可能なdviware(dvipdfmx, dvips+jpatch等)のために 拡張JISに対応したCMap (JISX0213-2004-{H,V})を作成して CMap/ の下に置いた。これを読み込むように設定することで全文字で動作する。 xdviについては、UCS2版と拡張JIS版への対応をするため、 "xdvik version 22.84.10 j1.34"へのパッチを作成し、 patch/ の下に置いた。UnicodeでExtension Bの文字も含めて動作している。 (( 5 )) テスト用サンプル 当方でテスト用に作成したサンプルファイルを samples 以下に置いた。 拙作のpTeXへの拡張パッチ[2]の実験が一通り行なえると思う。 拡張パッチのlibkanji版ではUTF-8入力(中身はJIS X 0212 + JIS X 0213)も 使えるようになっている。 (( 6 )) 既知の不具合、制限事項 CID版はAdobe-Japan1-6の範囲を使用する。 Adobe-Japan1-5以内のフォントでは一部の文字が欠けてしまう。 UCS2版では、JIS X 0213のうちUCS2,UTF-32で合成が必要な文字(25字)で 不正なコードが埋め込まれている。 またExtension B(303字)はdviware側がほとんど未対応。 拡張JIS版ではdviware側に対応を要する場合が多い。 xdviへのパッチでは、Unicodeで合成文字になる25字には未対応。 JIS X 0212の2区の一部, 9〜11区の大部分の文字で、 全角等幅のグリフがAdobe-Japan1-6にないが、tfmは全角等幅に なっているため、これらの文字では文字送りが不正確になる。 pTeXへの拡張パッチ[2]のlibkanji版では、 jbibtex, mendexでJIS X 0213の第二面とJIS X 0212の文字が使えず、 UTF-8指定時ではJIS X 0213とJIS X 0212で共通の文字は JIS X 0213が優先になるので結果がわずかに異なる。 (( 7 )) 動作状況、dviwareの対応状況まとめ 動作状況、dviwareの対応状況をまとめると以下の通り。 | JIS | UCS2 | CID | jbibtex JIS第1水準・BMP | (1a) | (2a) | (3a) | (4a) JIS第2水準・BMP | (1a) | (2a) | (3a) | (4a) JIS第3水準・BMP | (1b) | (2a) | (3b) | (4b) JIS第3水準・ExtB | (1c) | (2b) | (3b) | (4b) JIS第3水準・合成 | (1d) | (2c) | (3b) | (4b) JIS第4水準・BMP | (1b) | (2a) | (3b) | (4c) JIS第4水準・ExtB | (1c) | (2b) | (3b) | (4c) JIS補助漢字・BMP | (1b) | (2a) | (3c) | (4c) (1a) 通常のpTeX対応のdviwareで対応済み (1b) 拡張JISへ対応すれば対応可能 (1c) 拡張JIS+ExtensionBへ対応すれば対応可能 (1d) 拡張JIS+合成文字へ対応すれば対応可能 (2a) pTeX+Unicode対応のdviwareで対応済み (2b) pTeX+Unicode対応に加えExtensionBへ対応すれば対応可能 (2c) pTeX+Unicode対応に加え合成文字へ対応させた上vfも更新する必要あり (3a) pTeX+CID対応のdviwareで対応済み(要AdobeJapan1-4のフォント) (3b) pTeX+CID対応のdviwareで対応済み(要AdobeJapan1-5のフォント) (3c) pTeX+CID対応のdviwareで対応済み(要AdobeJapan1-6のフォント) (4a) オリジナルのjbibtexで対応済み (4b) 公開済み拡張パッチで対応済み (4c) 未対応 xdviへのパッチは(1b)(1c)(2b)への対応に相当する。 拡張JIS版CMapは(1b)(1c)(1d)への対応に相当する。 dviwareを対応させる難易度は 易 (1b) < (1c)(2b) < (1d) < (2c) 難 の順に難しくなっていくと考えられる。 (( 8 )) 使用許諾 本パッケージは、実験目的で作成したα版であり、 将来仕様の変更等は予告なく行なわれる場合がある。 私のvf作成経験が浅いため、思わぬ不具合があるかも知れない。 本パッケージは、齋藤修三郎氏、iNOUE Koich!氏のご厚意で JIS X 0213パッケージの「一部改変、再配布」をお許しいただいたものである。 patch 以下のファイル以外の使用許諾は、以下の通り、 JIS X 0213パッケージと同様とする。 ---begin--- 【使用許諾】 本パッケージのインストールまたは使用に関連して使用者に直接的または間接的に発生する一切の損害 (ハードウェア、他のソフトウェアの破損、不具合等を含む。また、通常損害、特別損害、結果損害を 問わない)および第三者からなされる請求について著作権者は一切責任を負担しません。 本パッケージを使用して得られる結果は、商用、非商用に関わらず無償で使用することが可能です。 自己責任で使用してください。本パッケージを使用した場合、上記の記載事項に同意したものと見なし ます。 ---end--- patch/ 以下に置いたパッチ(差分)について筆者は著作権を一切主張しない。 パッチを当てたソースは各パッチ先の配布・使用条件と同等とする。 例えば "xdvik version 22.84.10 j1.34" のうちの jisx0208.c へパッチを当てた場合、元の jisx0208.c と同様LGPLとする。 CMap/ 以下に置いたCMapについては商用非商用を問わず改変再配布自由の 無保証のフリーウェアとする。 (( 9 )) 更新履歴 2006.08.06 Ver.0.00 初版 2006.08.13 Ver.0.01 サンプル、xdviへのパッチを追加。 2006.10.14 Ver.0.02 pTeXへの拡張パッチ[2]にlibkanji版(UTF-8入力対応)を追加した のに伴い、サンプル(主にUTF-8関連)を追加。 Shift_JISで動かなかったのを修正。 2006.11.04 Ver.0.03 UCS2版でExtension Bがset3で出せるようになった。 xdviへのパッチとvfを更新、ovp2ovfへのパッチを追加。 2006.12.03 Ver.0.04 拡張JIS版用のCMapを追加した。 jmpostでも動作するようになったはず。 References [1] http://psitau.at.infoseek.co.jp/jisx0213.html [2] http://homepage3.nifty.com/ttk/comp/tex/jisx0213.html [3] http://psitau.at.infoseek.co.jp/mkvf.html [4] http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/ftp/CJKtable/Uni2JIS.Z [5] http://charset.info/jis2004.html [6] http://www.unicode.org/Public/UNIDATA/Unihan.html [7] Adobe, Technical note #5078 Adobe-Japan1-6 Character Collection for CID-Keyed Fonts http://partners.adobe.com/public/developer/en/font/5078.Adobe-Japan1-6.pdf [8] http://wakaba-web.hp.infoseek.co.jp/0212-0213/jisx0212-0213.ja.html