FreeBSD QandA 504

FreeBSD QandA

Q. 半角カナを全角カナに変換する FreeBSD 上のツールってありますか?

A. nkf、ack、kc などがあります。それぞれオプションをつけることにより変
   換のコードを変えることができます。詳しくは、マニュアルを読んで下さい。

   これらのツールは、たいてい、入力のコードを自動的に判定し、指定したコー
   ドに変換し出力してくれてとても便利です。しかし、ときどき、入力コードの
   判定に失敗することがあるので注意しましょう。この場合、出力におかしなコー
   ドが混入して文字が化けたりします。入力ファイルのコードが判っているなら
   ば、それを明示的に指定するとよりよい結果が得られるようです。

   たとえば、nkf で質問の操作をしてみましょう。半角カナのあるファイルが 
   SJIS だと判っていて、出力を EUC にしたければ、
       nkf -Se in > out 
   のようになります。オプションの "-S" が入力が SJIS であることを、"-e" 
   が出力を EUC にすることを指定しています。

   特に指定しない限り nkf は半角カナ (X0201) を全角カナ (X0208) に変換し
   ます。

   上記で言っている「半角カナ」は、JIS X0201 で規定されている、1 バイトで
   表現されるカタカナのことです。NEC PC-9801/PC-9821 などは、メーカ独自拡
   張文字として 2 バイトで表現される半角カタカナのフォントが漢字フォント 
   ROM に入っていますが、このような文字は nkf の処理対象ではありません。
   また、メーカ独自拡張文字は利用すべきではありません。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。