escapeX0213.rb

概要

nDiaryの 日記の元ファイルに含まれているJIS X 0213拡張文字を、 HTMLの文字参照に置き換えるフィルタです。例えば、本文中に「森鷗外」 と書いたら、「森鷗外」に置換します。

このフィルタを使うことによって、日記の中に心置きなくJIS X 0213の 文字を使うことができます。

ダウンロード

使い方

nDiary用の普通のフィルタと同じです。

nDiaryのscript/filterディレクトリにescapeX0213.rbを置き、 ndiary.confに「FILTER = 'escapeX0213'」という行を 追加します。

注意! 日記のオリジナルファイルは、Shift_JIS-2004 (Shift_JISX0213)で 符号化してください。 nkfがJIS X 0213に対応していないため、EUCからの入力には対応できません。 (出力コードはEUCでも何でも構いません)

もう一つ必要な作業があります。nDiaryが日記ファイルを無駄にnkfに通す ことでデータが壊れないようにするため、script/ndiary-lib.rb の中の

    text = text.tosjis

という行を、

    text = text.tosjis if NKF::guess(text) != NKF::SJIS

と書き換えておきます。これは、元ファイルがSJISの場合でもnkfでSJISに 変換してしまうのを抑制します。nkfはJIS X 0208外のコードポイントがある と素通ししてくれないようです。(この変更による副作用はないはずです)

あとは、通常どおりndiaryを実行すればOKです。

その他


2005年10月10日
矢野