Zaurus MORE ソフト 日本語コードコンバータ ack Version 1.39r (MPFQ) 小笠原博之 (COR.) インターネットでは漢字コードの種類が複数混在しているので、文字コードの相互 変換が必要になることがあります。Zaurus で読み書きできるのはシフトJISコードの みで、EUC など他の漢字コードの場合は、文字化けのまま読むことができません。 このプログラムでは、シフトJIS や EUC などの漢字コードを相互変換することが できます。 このプログラムは、漢字コードコンバータとして UNIX やパソコンで使われている ack の Zaurus 版です。SJIS/EUC/Jis7 それぞれの漢字コードの判定や相互変換が可 能で、独自の判定アルゴリズムによる漢字コードの厳密な識別と、半角仮名にも対応 している点が特徴です。Zaurus 版では更に、改行コード変換機能も追加しました。 注意: Zaurus 独自の絵文字記号や 2byte半角文字は使用できません。UNICODE には 対応していません。 ●機能 ・入力漢字コードを自動判別します。半角仮名が含まれていても識別可能。 ・テキストに含まれている文字コードの種類と数の詳細レポート。 ・SJIS/EUC/Jis7 漢字コードの相互変換。(半角仮名対応) ・半角仮名の全角変換。 ・改行コード変換。 ●対応機種 MI-110M とほぼ同列の MI 系 Zaurus。 ●インストール MPFQ.ZAC を MORE ソフトとして Zaurus 本体もしくはカードに転送してください。 MORE ソフト画面で MPFQ.ZAC を展開した後「ACK」を起動します。 ●文字コードを調べてみる (1) 左上の一覧から調べるファイルを選択します。二回タッチで選択されます。 ★★テキストファイルの絞り込みに、[TXT] と [DOC] ボタンが使えます。 (2) 右側のチェックボックスから [判定のみ] を選択します。 (3) 右上のキーボードアイコンをタッチしてソフトキーボードを消します ←重要!! (4) [実行] をタッチすると、画面下にテキストに含まれる文字コードの結果が表示 されます。 ★★★ ソフトキーボードの下に仮想コンソールがあります。結果はここに表示さ れますので、ソフトキーボードを消去するのを忘れないで下さい。 ●速習コード変換 (1) 左上の一覧から 変換元 のファイルを選択します。二回タッチで選択されます。 ★★テキストファイルの絞り込みに、[TXT] と [DOC] ボタンが使えます。 (2) 右下のファイル名ボックスに出力すべきファイル名を記入します。F0: の後に続 けて書いてください。 (例) F0:TUT1.DOC (3) 右上のチェックボックスで、出力漢字コードを選択します。Zaurus で読めるよう に変換するには [SJIS] を選択します。 (4) [実行] をタッチするとコード変換を行います。 ★★★ [実行] をタッチする前に、右上のキーボードアイコンでソフトキーボード を消してみてください。 注意! 出力ファイル名に、すでにあるファイルを入力すると上書きされてしまい ます。ファイル名の扱いには十分注意してください。慣れるまでは、予約 ファイル名 TUT1 を使うことをお勧めします。 ●チェックボックスについて ・出力漢字コード選択 [SJIS] シフトJISコードに変換します。Windows95/98 などの一般的なパソ コンや、Zaurus で使われている漢字コードです。8bit。 [EUC] EUC 漢字コードに変換します。主に UNIX で使われている漢字コー ドの一種です。(UNIX では SJIS や他のコードも同じように使われ ているので、UNIX = EUC というわけではないので注意が必要) これも 8bit。 [JIS] 7bit JIS コードです。直接目にすることはほとんどありませんが、 インターネットでメールの転送時に内部で使用します。 ・半角仮名の変換選択 [全角] 半角仮名を全角のカナ文字に変換します。 [無変換] 半角仮名を全角に変換しません。半角のまま他のコードに置き換え ます。 ・改行コード変換 [無変換] 変換をしません。通常はこれにしてください。 [CR] 改行コードを CR に変換します。(Macintosh等の改行コード) [CRLF] 改行コードを CR+LF に変換します。(Windows等の改行コード) [LF] 改行コードを LF に変換します。(UNIX等の改行コード) ・実行モード [出力] 漢字コードを変換して、指定したファイルに出力します。 [判定のみ] 漢字コードの判定のみ行い、結果をコンソールに表示します。この とき出力ファイル名は必要ありません。 ●ファイル選択 ・デバイス選択 [本体] 本体のメモリを選択します。(F0:) [CARD] メモリカードのメモリを選択します。(F1:) ・ファイル選択 [ALL] すべてのファイルを一覧に表示します。 [TXT] 拡張子が .TXT のファイルを表示します。 [DOC] 拡張子が .DOC のファイルを表示します。 ●カードとドライブ名について 出力ファイル名の先頭についている F0: は、本体メモリに書き込むことを意味し ています。出力先をカードにしたい場合は F1: に変更してください。 (例) F0:TUT100.DOC F1:TUT1HELP.TXT ●その他 入力ファイル名が (未選択) のときは、仮想コンソールに ack のヘルプメッセー ジを表示します。 出力ファイル名が未設定のときは、漢字コードの判定のみを行います。([判定のみ] を選択したときと同じ) ●入力漢字コードの判定について ack は最初に入力漢字コードを判定します。入力コード系は日本語 EUC, シフトJIS, 7bit JIS の3種類ありますが、7bit JIS コードは 8bit 系の EUC や シフトJIS と 共存できるため、実際の判定は EUC か シフトJIS かだけが行われています。つまり 7bit JIS コードは判定結果にかかわらず常に入力可能です。 判定は以下の手段で行います。 データをある一定量先読みし、EUC と シフトJIS で評価を行い評価ポイントの高 い方の漢字コードを採用する。(SJIS半角仮名のみのファイルであってもほぼ間違 えずに SJIS, EUC を見分けることができる) ●入力コードチェック表示の補足説明 err は、漢字など 2byte 文字の判定で失敗した場合に加算されます。1byte の表示 不可能文字は other です。改行、タブ、エスケープ、SI/SO 等も ctrl に入ります。 入力が euc と判定された場合は、ctrl の範囲に 0x80〜0x9f, 0xff も含まれます。 (ただし 0x8e は仮名文字の一部とみなす) ファイルサイズと文字数との関係式は以下の通り sjis のみの場合 kanji*2 + kana + err*2 + ascii + ctrl + other = ファイルサイズ euc のみの場合 kanji*2 + kana*2 + err*2 + ascii + ctrl + other = ファイルサイズ これに jis7 文字が含まれる場合は「kanji7*2 + kana7 + α」が加わります。 コードタイプの表示は次のように処理しています。 kanji または kana が 0 でないとき sjis or euc kanji,kana が 0 で kanji7,kana7 が 0 でない時 jis kanji,kana,kanji7,kana7 が全部 0 のとき ascii err が大量に加算されている場合は、入力はまずバイナリデータだと思って間違い ありません。 なお、改行コードが 2byte でも ctrl が 1 しか加算されないため、jis7 が含まれ ていなくてもファイルサイズとの差が生じます。この差は行数に相当します。 ●使用条件 このプログラムはフリーソフトウエアです。動作確認は MI-110M でのみ行ってい ます。 このプログラムは、まださほど使いこんでいないのでいろいろと問題が出る可能性 があります。プログラムがトラブルを起こした、本体のデータが消えた、間違ってファ イルを上書きしてしまった、漢字コード変換が失敗した、ハードが問題を起こした、 その他あらゆる問題に対して一切保証がなく、作者小笠原博之には責任は何も発生し ません。 このソフトは体験版の SZAB で作られており、開発ソフトに使用期限があります。 それゆえ作者はサポートは一切行いません。デバッグの義務は無く、また要望をいた だいても使用期限後は何もすることができません。 以上、ご理解のほどよろしくお願いいたいします。 ●最後に ack は、UNIX やパソコンなどで実際に使われている漢字コードコンバータです。 元々は、半角仮名未対応で使い勝手が悪かった当時の nkf に代わるものとして作成 しました。フィルタ機能も持ち動作し、ここに書いていないファイル置換などの多数 の機能を持っています。 興味ある方は、こちらで入手できるのでご参照ください。 http://www.vector.co.jp/authors/VA004474/ Zaurus や MORE ソフトについてはこちらからどうぞ http://www.vector.co.jp/authors/VA004474/zaurus/zaurus.html 1999/05/24 小笠原博之 oga@art.udn.ne.jp http://www.vector.co.jp/authors/VA004474/