----------------------------------------------------------------------------- 【 ソフト名 】 改行コード変換 ver.1.03 【ファイル名】 lclu103.lzh (lh5) 【製作・著作】 Copyright(C) 2006,2008 矢吹拓也 【 動作環境 】 Windows 98/Me/2000/XP/Vista (日本語,32bit) ----------------------------------------------------------------------------- 1. はじめに   テキストファイルを扱っていて、お手軽系のテキストエディタではできない  ような操作を行いたくなることがあります。例えば、LF→CR+LFの改行コード  変換とか。   このツールは、最近、作者がお仕事をしていて、テキストファイルに対する  操作で必要になった特殊な操作をまとめたものです。 2. 何をするプログラムなのか?   テキストファイルを扱っているときに、Windows付属のメモ帳か、それより  ちょっと高レベルクラスのテキストエディタでは、実現できない操作をしたく  なることがあります。   例えば、FTPの転送ミスで改行コードが崩れてしまっているとか、文字列中  に特殊コード(0x00等)が入り込んで、他ソフトでのファイルの読み出しや、  コピー&ペーストに支障が出るとかで、どうにかしたいといったとき。   少し高度なテキストエディタを使えば、どうにかなことはわかっているの  ですが、職場ではフリーソフトの利用が禁止されていて、高度なテキスト  エディタを使うにはパッケージ品を購入しないといけないとか。   最近、作者はまさにそんな経験をしまして、職場でテキストファイルの処理  ツールをたくさん作りました。このソフトは、そのときに作成した詰め合わせ  みたいなツールです。   なお、変換対象のテキストファイルは、Shift-JIS形式である必要があり  ます。 3. 動作環境 Windows 98/Me/2000/XP/Vista (日本語版)であれば動きます。 Windows NT 4.0/その他サーバ用途OSでは、動くかもしれません。 Windows 95/3.1(Win32s)以下、Windows NT 3.51以下では動作しません。   Windows NT系では、管理者権限の方がご利用下さい。   また、最新のサービスパックを導入して下さい。   このソフトウェアは自称初心者(=初心者であることを威張り、他の人より多く  の利益を得ようとする者)の方は利用できません。 4. インストール方法とファイル構成   ローカルのハードディスクに適当なフォルダを作り、そこへ圧縮された  すべてのファイルを展開して下さい。   アップデートでインストールする場合は、上書きでインストールして  しまって構いません。   ファイルの構成は、下記の通りです。   lclui.exe … プログラム本体   lclui.txt … ドキュメント(このファイル)      後から、下記のファイルが作られます。      lclui.ini … lclui.exeの設定が保存されるファイル 5. アンインストール   インストール時にコピーしたファイルを、すべて削除してください。   設定も削除する場合は、lclui.ini も削除してください。 6. 起動方法   エクスプローラなどから lclui.exe を起動するか、デスクトップや  スタートメニューにlclui.exeへのショートカットを作成し、そこから  起動します。 7. 基本的な使用方法   起動すると、変換対象のファイル名の入力欄と、各種変換を行うかどうかの  チェックボックス等が表示されます。 7.1 各種変換の対象となるファイル名を入力してください    変換対象のファイル名を入力します。ファイル名はフルパスで入力して   ください。ファイル名にはワイルドカード(* および ?)を利用できます。   エクスプローラなどからファイルをドラッグ&ドロップすることもでき   ます。     7.1.1 [参照]ボタン     変換対象のファイル名を、一覧から選択します。   7.1.2 変換時にバックアップを行う     ファイルの置換が行われる際、ファイルのバックアップを行います。     バックアップファイルの名前は、元のファイルの名前に.bak をつけ    たものになります。.bakをつけたファイルがすでに存在する場合は、    削除されます。   7.1.3 サブフォルダも検索する     変換対象のファイルをサーチするとき、下位のフォルダも検索の対象に    します。ここがチェックされると、変換対象のファイル名として入力され    たファイル名のうち、フォルダ部分とベースファイル名部分が分離され、    フォルダ部分よりも下位の階層のフォルダに対しても、ベースファイル名    部分の名称のファイル名での検索が行われます。     例えば、変換対象のファイル名として E:\Temp\a*.txt を指定した場合、    E:\Temp下のすべてのフォルダに対して a*.txt にマッチするファイルの    捜索が行われます。    7.2 改行コード変換    変換対象ファイルの改行コードを、LFのみからCR+LFに、あるいは   CR+LFからLFのみに、変換を行います。なお、LFのみはUNIX式のテキスト   ファイルの改行コードで、CR+LFはMS-DOS(Windows)式のテキストファイル   の改行コードです。    (※CR='\r'(0x0d), LF='\n'(0x0a)) 7.3 全角スペースを半角スペース2つに変換    テキストファイル中のすべての全角スペースを、半角スペース2つに   変換します。 7.4 行末のホワイトスペース(半角スペースおよびTAB)除去    改行コード(CRまたはLF)の直前に半角スペースやTABがあったときに、   これらをすべて取り除きます。    (※TAB='\t'(0x09)) 7.5 タブをスペースに変換    行頭からの距離に応じて、TABを必要な数の半角スペースに変換します。    タブのカラム数は「タブのカラム数を指定」で指定します。 7.6 無効なコントロールコードを除去    文字コード 0x00〜0x1f (ただし、CR,LF,TAB,EOFを除く)を取り除きます。    (※EOF=^Z(0x1a)) 7.7 無効なコントロールコードを半角スペースに変換    文字コード 0x00〜0x1f (ただし、CR,LF,TAB,EOFを除く)を半角スペース   に変換します。 7.8 文字列の置換(正規表現を使用)    ファイル中の文字列の置換を行います。    ファイル中には、C言語の文字列終端記号(文字コード=0x00)が含まれて   いてはいけません。    置換前文字列には正規表現が利用できます。    置換後文字列にはタグ指定が利用できます。    詳細は「10.正規表現(boost::regex)について」を参照してください。    オプションとして、次のことが指定できます。        ・英大小文字無視  …アルファベットの大文字小文字の差異を無視します。    ・全体で1行とみなす…ファイル全体を1行としてマッチングを行います。               ^はファイル先頭、$はファイル最後にマッチします。    ・.を改行にマッチさせない….を改行記号とマッチさせません。 8. 著作権・転載について   本プログラムはフリーソフトです。著作権は 矢吹拓也 にあります。   本プログラムを使用した際に生じたいかなる障害についても、またドキュメント  ファイル等に不手際があったとしても、著作権所有者は一切の責任を負わないもの  とします。   このソフトウェアは、ユーザーが自称初心者(=初心者であることを威張り、他  の人より多くの利益を得ようとする者)である場合は利用できません。自称初心者  の方のご利用はお控えいただきますよう、お願いします。従いまして、自称初心者  の方が初心者であるが故に起こした事故、または自称初心者であるが故の質問など  は一切受け付けませんので、予めご了承下さい。   このプログラムは再配布可能[*]です。これには、他のネットワーク、インター  ネット上の他のサイトへの転載、雑誌の付属メディアへの掲載・収録も含まれま  す。一般的な再配布の概念を拡張し、次の事柄も認められます。   ・アーカイブ形式の変更を行うこと。あるいは再アーカイブを行うこと。   ・他国語への翻訳を行うため、配布物にあらかじめパッチを当てて再配布    すること。あるいはパッチを公開すること。   ・有用なメッセージの追加あるいは有用なメッセージへの変更のために、    配布物にあらかじめパッチを当てて再配布すること。あるいはパッチを    公開すること。   ・有用な機能を追加するために、オリジナルのモジュールの追加を行うこと    (ファイル単位に限る)。   ・不要な機能を除去するために、ファイル単位で除去を行うこと。   ・有料での再配布を行うこと。あるいは有料ネットワークへ転載すること。   なお、ミラーサイトへの転載を行う場合は、改変は一切認められません。  [*] 最も新しい正式版の再配布をしていただきますよう、ご協力をお願いします。    開発途中のバージョン(tr/α/pp/pr/β/fb/rc等)の再配布をしてはいけません。    開発途中のバージョンが雑誌等の付属メディアに収録されてしまった場合、出    版社の全負担で回収していただくことになりますのでご注意下さい。   再配布については、作者に断りなく行うことができます。   詳しくは、INASOFTのWebサイトを参照して下さい。   個別の事情がある場合や不明点などは、作者までご相談下さい。   ニュースサイトや更新情報を扱うサイト、個人サイトなどでの紹介などで  アイコンや実行画面を使われる場合も、連絡なしで構いません。   プログラム中になんらかのバグが見つかったり、ドキュメントやヘルプの中にミ  スがあった場合は、メールなどで知らせていただけるとありがたいです。 9. 質問をお寄せになる場合の注意   質問をお寄せになる前に、ご質問の内容が本ソフトウェアと無関係のものでない  かをご確認下さい。また、同様の質問がすでにサイト上やドキュメント中に記載済  みでないかもご確認ください。   質問をお寄せいただく場合は、ソフトウェアの名称・バージョンなどの基本的な  情報の他、お使いのPCの機種名や環境情報、OSの名称やバージョン等をなるべく  細かくお知らせ下さい。   回答に必要な情報がお寄せいただけないと、質問にお答えできないことがありま  すので、ご協力をお願いします。 10. 正規表現(boost::regex)について   このソフトウェアでは、「文字列の置換」において、正規表現やタグ指定が  利用できます。これは、boostライブラリのregexを利用したものであるため、  boost::regexについてご存じであれば、その方法に従うと考えると簡単です。  (テキストファイルは内部的にUnicodeに変換されますので、日本語も使用   できます)      一般的な正規表現の構文は一通り利用できますが、いちおうリファレンス  らしきものを記載しておきます。 <文字>   . 任意の一文字   [xyz] x,y,zのいずれか一文字   [^xyz] z,y,z以外の一文字   [a-z] aからzの範囲のいずれか一文字   [^a-z] aからzの範囲以外の一文字   \w 単語構成文字   \s スペース   \d 数字   \l 英子文字   \u 英大文字 <繰り返し>   x* xの0個以上の繰り返し   x+ xの1個以上の繰り返し   x? xの0個または1個の出現   x{M,N} xのM個以上N個以下の繰り返し   x{M,} xのM個以上の繰り返し   x{M} xがM個   x|y xまたはy      ※繰り返しは、通常は最も長いマッチが選択されますが、繰り返し記号の    後ろに ? を付けると、最も短いマッチが選択されます。(例: x*?)    <部分式>   (xyz) 部分式のグループ化   (?:xyz) 後方参照等が可能でないグループ化   \1〜\9 後方参照   <位置指定>   ^ 行頭   $ 行末   \< 単語頭   \> 単語末   \b 単語頭または単語末   \B 単語中   \A バッファ頭   \z バッファ末   \Z バッファ末またはバッファ末の改行   <エスケープシーケンス>   \| \* \? \+ \( \) \{ \} \[ \] \^ \$ \\ \-    \の後ろの文字の特殊な意味を無視し、通常文字として扱う   \a ベル   \f フォームフィード   \r 復帰   \n 改行   \t タブ文字   \v 垂直タブ文字   \x 16進表記(例:\x0D)   \ 8進表記(例:\10)   \x{...} Unicodeの16進表記(例:\x{1A0})   \e ASCIIのエスケープ文字   <置換書式文字列>   $0 マッチした部分全体   $1〜$9 1〜9番目にマッチした部分   ※正規表現リファレンスの作成にあたり、稲葉一浩氏の    Boost C++ Library Progrmmingを参考にさせていただいています。    ありがとうございます。なお、途中いくつか省略している構文も    ありますので、完全な構文をお知りになりたい場合は、Boostの    解説書等をお読みになるか、Boost C++ Library Progrmmingを参考に    してください。 11. 更新履歴 2006/07 ver.0.10Lite お試し版として限定公開。 2006/07/20 ver.0.50β 初の一般公開。 2006/07/21 ver.0.60β 正規表現による置換利用時のオプションを追加。 その他、速度向上のための施策を施した。 2006/07/22 ver.0.70β 置換時にファイルをバックアップできるようにした。 すべての項目にアクセラレータキーを付けた。 2006/07/29 ver.0.80 正式版として公開。 2006/07/29 ver.0.90β 共有ライブラリ更新に伴う再ビルド。 2006/08/07 ver.1.00 正式版として公開。アイコンを微妙に変更。 2008/02/03 ver.1.01 作者のメールアドレス変更に伴う再生成。 2008/03/03 ver.1.02 フルパスがANSI換算で259文字を超えるファイルを 扱えなかったので修正。 2008/04/08 ver.1.03 正規表現を扱うBoost C++ライブラリのバージョン アップ(1.35)に伴う更新。 ※Windows、Windows NTは米国Microsoft Corporationの米国およびその他の国におけ  る登録商標です。 ※その他記載されている会社名、製品名などは、各社の登録商標もしくは商標です。 ※本ソフトウェアを利用される方がお使いになるPCに、ウイルス対策が施されている  ことを確認して下さい。ウイルス対策が施されていない場合、本ソフトウェアを  利用してはいけません。また、質問も受け付けません。 ----------------------------------------------------------------------------- [INASOFT] http://www.yoshibaworks.com/ayacy/inasoft/ http://park21.wakwak.com/~ayacy/inasoft/ [eメール] http://www.yoshibaworks.com/ayacy/inasoft/mail.html を参照してください。