kf.c JIS X 0213対応メモ 2002/3/3 Yano Keisuke JIS X 0213を扱えるようにkf.cを改造しました。入出力ともに、EUC-JISX0213, ISO-2022-JP-3, Shift_JISX0213の全てに対応しています。 * JIS X 0208のみのデータに対しては、オプション -e, -s, -j とも従来と 全く同じ動作をします。 * いわゆるSJISはShift_JISX0213、EUCはEUC-JISX0213として扱います。つ まり、オプション -s は Shift_JISX0213、-e は EUC-JISX0213 を出力し ます。例えば、Shift_JISX0213で符号化されたテキスト sjis.txt に対し、 % kf -e sjis.txt > euc.txt とすると、出力された euc.txt はEUC-JISX0213になっています。 * -j は、Mule-UCSでいう iso-2022-jp-3-compatible相当です。 つまり、2バイトコードについて、 + JIS X 0208にある文字はJIS X 0208-1983の、 + JIS X 0208にない文字はJIS X 0213:2000の エスケープシーケンスを用います。 注意: このオプションによる出力結果は、必ずしもJIS X 0213附属書の ISO-2022-JP-3に適合するとは限りません。 * -3 (新設オプション)は、ISO-2022-JP-3で出力します。つまり、2バイト コードのエスケープシーケンスは常にJIS X 0213のものを用います。 * JIS X 0201片仮名に対しては、-j, -3 とも、従来の -j のときと同じ動 作をする筈です。(未確認) * MIME decodeは、ISO-2022-JP-3のB-encodingにも対応しました。 Q-encodingは未対応です。(サボり) なお、オリジナルのkf.c同様、JIS X 0213対応部分についても、煮るなり焼く なりご自由にお使いください。 予定 (というか未定): * 自動判別の洗練が必要? * Mule-UCSのiso-2022-jp-3-strict相当の出力。 ちょっと面倒。コマンドラインオプションの文字は何がいいか? 参考: kf -- kanji filter http://www.matsusaka-u.ac.jp/~okumura/kf.html JIS X 0213:2000 規格票 JIS X 0213 FAQ http://seclan.dll.jp/ccjx0213.htm JIS X 0213の特徴と、Emacs上での実装 http://www.m17n.org/m17n2000_all_but_registration/proceedings/kawabata/jisx0213.html JIS X 0213の代表的な符号化方式 (拙稿) http://www.asahi-net.or.jp/~wq6k-yn/code/enc-x0213.html