misima 本体及び Web CGI 環境の導入について述べる. %, # はそれぞれ Tcsh の一般ユーザ,スーパーユーザのコマンドプロンプトを示す.
- 添付 Makefile の修正
以下のパラメータを修正する.URL[8], 茶筌 UTF-8 辞書[13] を除き,できるだけ変更しないことが望ましい.
PREFIX = /usr/local [1]
WEBP = $(PREFIX)/www/apache22 [2]
WEBDIR = $(WEBP)/data/misima [3]
CGIDIR = $(WEBP)/cgi-bin [4]
ETCDIR = $(PREFIX)/etc [5]
MISIMADIR = $(ETCDIR)/misima [6]
MISIMATMP = /tmp/misima [7]
MISIMALOG = /var/log/misima.log [8]
HOST = http://url.of.your.site [9]
FORM = /misima/misima.html [10]
EMACS = $(PREFIX)/bin/emacs [11]
ELISPPATH = $(PREFIX)/share/emacs/site-lisp [12]
MAKEDA = $(PREFIX)/libexec/chasen/makeda [13]
CHADICDIR = $(PREFIX)/lib/chasen/dic/ipadicutf8 [14]
[1] ディレクトリの PREFIX
[2] Web ディレクトリ(data の上位)
[3] Web フォームを置くディレクトリ
[4] CGI プログラムを置くディレクトリ
[5] misima 管理ファイルディレクトリ
[6] misima 管理ファイルディレクトリ
[7] misima Web CGI 用一時ディレクトリ
[8] misima Web CGI ログファイル
[9] Web メイン URL
[10] Web フォーム HTML
[11] Emacs プログラム絶対パス
[12] Emacs site-lisp ディレクトリ
[13] chasen makeda ユーティリティ絶対パス
[14] ipadic UTF-8 辞書ディレクトリ
- 茶筌 UTF-8 辞書の作成
Makefile [14] 指定のパスに茶筌 UTF-8 辞書を作成する. ipadic-2.7.0 を展開したディレクトリ(ここでは ~/tmp/ipadic-2.7.0 として説明する)にある辞書ソースを UTF-8 変換して作成する.以下に手順を示す. EUC->UTF-8 変換に nkf を用いている. CHADICDIR はMakefile [14] 指定のパスである.
% cd ~/tmp/ipadic-2.7.0
% su -m
# setenv CHADICDIR /usr/local/lib/chasen/dic/ipadicutf8
# foreach i (*.cha *.dic)
foreach? nkf -w $i > $CHADICDIR/$i
foreach? end
# cd $CHADICDIR
# `chasen-config --mkchadic`/makemat -i w
parsing grammar.cha
parsing cforms.cha
...
tri-gram: . 24576
matrix size: 2446x2229 -> 362x304
# `chasen-config --mkchadic`/makeda -i w chadic *.dic
parsing grammar.cha
parsing cforms.cha
...
Symbol.dic
Verb.dic
379012 entries
325968 keys
# exit
- 管理ファイルの作成
env/misimarc, env/misima.conf.sample, env/chasenutfrc を修正する.
(1) misimarc
ユーザ辞書を使う場合は UDIC パラメータに辞書の絶対パスを指定する.本ファイルは make によって $HOME/.misimarc にインストールされる.必要に応じてこれをユーザのホームディレクトリにコピーしておく.
(2) misima.conf.sample
Web CGI を利用する場合のみ設定する.また Makefile で [2,9,10] を指定していればパスは自動で設定される.
# Site URL
$mysite = "___URL___"; # 上記[9]に合わせる
# Form html file
$myform = "___FRM___"; # 上記[10]に合わせる
# Additional Auth sites
$authsites = "___URL___"; # 上記[9]に合わせる
# misima web data dir (system path)
$webdir = "___WEB___/data/misima"; # 上記[2]に合わせる
$authsites はリファラーのチェック時に参照する値である. misima CGI は, $authsites にマッチしないリファラーからの要求に対する処理を行わない仕様になっている.$authsites に $mysite と異なる URL を指定すると,$mysite と $authsites とが実行許可対象とされるフォーム・サイトとなる.
本ファイルは make によって /usr/local/etc/misima/misima.conf にインストールされる.
(3) chasenutfrc
以下の /usr/local/... を ipadic UTF-8 辞書インストール・ディレクトリ ([13]) に修正する. Ipadic オリジナルの EUC-JP 辞書とは別に UTF-8 辞書用ディレクトリを作成することをお勧めする.
(GRAMMAR /usr/local/lib/chasen/dic/ipadicutf8)
本ファイルは make によって /usr/local/etc/chasenutfrc にインストールされる.
- インストールの実行
スーパユーザ権限で以下を実行するとフルインストールを行う.「動作環境」に記述した諸事項がすでに完了していなければならない.
# make install
あるいは以下のようにしてもよい.
# make misima-install : misima 本体・辞書
# make misima-web-install : misima CGI
Emacs 用 Elisp のインストールは以下のとおり.
# make misima-elisp-install
- Web フォームのカスタマイズ
Web CGI を運用する場合,html/misima.html, html/misima-header, html/misima-footer をカスタマイズする. misima.html は CGI サブミット用フォームのプロトタイプである. misima-header, misima-footer は CGI 出力結果の前後に付加される HTML コードである.
提供リソースは弊サイトのコードそのものであり,画像や JavaScript 等のパスは弊サイト環境に依存している.利用者の環境に応じてカスタマイズ・修正が必要である. HTML ソース修正は容易であると考え,変更個所等の具体的な説明は割愛する.
CGI フォーム・パラメータ指定は misima.html のソースコードを参考にしていただきたい.パラメータ仕様概略を下表に示す.指定値 1|0 は機能のオン|オフを示す. text は UTF-8 テキスト文字列, {urtT...} は複数選択可能指定, C|T|K|0 はいずれか選択で 0 の場合はオフを示す.それぞれの変換機能の意味は html/misimadoc.html 機能仕様書を参照のこと.
パラメータ
|
指定値
|
内容
|
itext
|
text
|
変換対象テキスト
|
k_opt
|
1|0
|
旧仮名変換
|
t_opt
|
1|0
|
単純変換
|
s_opt
|
c|j|h|u|a|0
|
旧字変換
|
y_opt
|
1|0
|
用語・用字変換
|
i_opt
|
1|0
|
繰り返し文字変換
|
n_opt
|
1|0
|
仮名反転変換
|
x_opt
|
{urtTxfki}
|
TeX 変換
|
c_opt
|
C|T|K|0
|
TeX JIS 中韓変換
|
d_opt
|
1|0
|
デバッグ(解析結果出力)
|
m_opt
|
h|t|0
|
マーキング用指定 (html|TeX|無)
|
m_opt_htds
|
text
|
html 辞書マーキング開始用テキスト
|
m_opt_htde
|
text
|
html 辞書マーキング終了用テキスト
|
m_opt_htss
|
text
|
html 本則マーキング開始用テキスト
|
m_opt_htse
|
text
|
html 本則マーキング終了用テキスト
|
m_opt_txds
|
text
|
TeX 辞書マーキング開始用テキスト
|
m_opt_txde
|
text
|
TeX 辞書マーキング終了用テキスト
|
m_opt_txss
|
text
|
TeX 本則マーキング開始用テキスト
|
m_opt_txse
|
text
|
TeX 本則マーキング終了用テキスト
|
s_mojikyo
|
text
|
今昔文字鏡番号指定 TeX シーケンス
|
utext
|
text
|
ユーザ辞書テキスト
|
|
- 環境変数の登録
環境変数に chasenutfrc ファイルパスを登録する.なおパスは本パッケージ・インストールの標準時のものである.
- tcsh の場合:
% setenv CHASENRC /usr/local/etc/chasenutfrc
- bash の場合:
$ export CHASENRC=/usr/local/etc/chasenutfrc
なお,これを行うと,茶筌標準の EUC-JP の辞書が参照できなくなる.chasen -r で標準の chasenrc を指定すれば標準的な動作をさせることができる.
- .emacs の修正
Emacs Lisp を利用する場合,.emacs に以下の記述を追加する.
;; misima.elc の指定
(require 'misima)
;; misima プログラムの絶対パス指定
(setq misima-path "/usr/local/bin/misima")
;; misimarc の絶対パス指定($HOME/.misimarc)
(setq misima-rc "/home/xxxx/.misimarc")
- Emacs コマンド
M-x misima-コマンド RET とする.-region 名のものは,リージョン(対象テキスト範囲)を設定して実行するコマンドである.
misima-region := -ykitq (*1)
misima-ucs-region := -ykitq -s c
misima-tex-region := -ykitq -s a -x a
misima-seiji-ucs-region := -q -s c
misima-seiji-tex-region := -q -s a -x u
misima-invert-kana-region := -nq
misima-kantaiji-tex-region := -q -x u -c C
misima-hantaiji-tex-region := -q -x u -c T
misima-buffer := -ykitq -s c (*2)
misima-seiji-buffer := -qs c (*2)
misima-create-buffer := -ykitq -s c (*3)
*1 -s オプション問い合わせ
*2 当該バッファ
*3 新規バッファ
misima Emacs Lisp を用いると,Emacs で文書作成をしつつ必要なテキスト領域に対して misima 変換を施すことができる.図 1. 及び図 2. にそれぞれ misima Emacs Lisp の変換前後の様子 (Mac OS X Tiger, X11-Emacs 22.0.50) を示す.
図1. misima Emacs 変換前
図2. misima Emacs 変換後
- mlatex コマンド
mlatex は UTF-8 で準備した TeX 原稿を対象に misima 変換, pLaTeX コンパイル, dvipdfmx PDF 生成を実行するユーティリティである.Makefile ではインストールされない. module/mlatex をカスタマイズして,実行パスの通った場所に格納して利用する. pTeX 一式, dvipdfmx, iconv 外部プログラムが必要である.
JPCODE=EUC-JP [1]
TEXRC=/usr/local/etc/misima/texrc [2]
OPT="-qtkyi -s a -x kifxt -r $TEXRC" [3]
PLATEX=$PREFIX/teTeX/bin/platex [4]
DVIPDFMX=$PREFIX/teTeX/bin/dvipdfmx [5]
[1] pLaTeX 日本語文字コード
[2] mlatex 用 RC. .misimarc コピーでも可.
[3] misima コマンドライン・オプション.
$TEXRC 不要|無の場合 -r $TEXRC は削除する.
[4] platex 絶対パス
[5] dvipdfmx 絶対パス
実行は mlatex [dvipdfmx option] tex-file と入力する.dvipdfmx option は省略可能である. tex-file は拡張子 .tex を省略できる. mlatex はログメッセージをチェックして,TeX 原稿にある \ref が解決するまで platex コンパイルを自動実行するようになっている.