------------------------------------------------------------------------------- HTML -> TEXT変換フィルタ HtoX Ver.1.71 取扱説明書 Copyright(C)1998-1999 by T-Matsuo ------------------------------------------------------------------------------- ■概要■  HtoXは、HTMLで書かれたファイルからテキストファイルを生成するフィルタソフトで す。タグ情報をもとに整形も行います。JIS,EUC,シフトJIS,Unicode,UTF-8の各文字 コードを自動判別して、シフトJISに変換して出力します。 ■改編履歴■ 1999/6/21 Ver.1.71 ・希に、、を誤判定することがあるバグを修正 1999/5/30 Ver.1.70 ・HTML4.0の全ての文字実体参照(Å 等)、数値文字参照(å 等)に対応。 ただし、シフトJIS全角で表現できない文字は"??"で置換する。 ・
タグの挙動を改善

・タグに対応

・入力可能文字コードにUnicode,UTF-8を追加

・中間出力ファイルを環境変数 TMP か TEMP で指定されたディレクトリに作成する

ように改良



1998/11/21 Ver.1.61

・改行コードで分断されたタグを処理できるように改良



1998/11/09 Ver.1.60

・環境変数の検索でNULL判別できないバグを修正

・複数ファイルを処理したときに文字コード判別を間違えることがあるバグを修正

・<IMG>タグのALTオプションでの代替テキストが半角スペースで途切れるバグを修正

・<IMG>タグで置換される文字列をユーザー定義出来るように改良

・「リンク先のパスの挿入」で内部リンクを無視するオプションを追加



1998/10/10 Ver.1.50

・「テーブルを常に左寄せする」オプションを追加

・「リンク先のパスを挿入する」オプションを追加



1998/08/12 Ver.1.40

・コマンドラインオプションを環境変数に登録できるように改良

・「指定桁で強制改行」オプションを追加



1998/05/04 Ver.1.30

・</TH>,</TD>の無いテーブルに対応

・<CENTER>タグとALIGN属性による行揃え(<P>,<DIV>,<Hnum>)をネスティング可能に

・<HR>タグでのWIDTH,ALIGN,属性に対応

・<META>,<!-- 〜 -->でのダブルクォートの解釈を修正

・<PRE>〜</PRE>で囲まれたテキストの前後に段落を設定するように変更

・<IMG>タグを文字列("[画像]"など)に置換する機能を追加

・HTMLファイル中の改行コードは半角スペースに置換するように変更

・テーブルの区切り文字を(半角スペース)、(,)、(TAB)から選ぶオプションを追加

・その他細かい調整



1998/03/30  Ver.1.22

・<pre>〜</pre>で囲まれた整形済みテキストでMACの改行コードにも対応



1998/**/**  Ver.1.21

(Win32版と歩調を合わせるために欠番とした)



1998/03/17  Ver.1.20

・特殊フォント &reg;&#169;&copy;&#174;&nbsp; に対応

・htox < input.htm が正しく動作しなかったのを修正

・";"で区切らない特殊フォントの使い方を考慮

・「EOFコードを除去」/E オプション追加

・「文末が改行コードでないときは改行コードを付加」/F オプション追加

・「出力ファイルの上書き確認」/O オプション追加

・実行時の上書き確認で (A:以降全て上書き) 追加

・入力ファイル名と出力ファイル名が同じ時、ファイルの内容が失われないように改良



1998/03/02  Ver.1.10

・htox input > output の時,改行コードがダブるのを修正

・タグ最大長さ制限緩和 256 -> 10000

・ワイルドカードを受け付けるように改良

・これに伴い、入出力ファイルの指定に関する仕様を変更

・/Tオプションが無視されるバグを修正



1998/02/10  Ver.1.00

・EOF検出の誤りを修正

・</pre>後のオプションが狂うバグを修正

・タグ認識を前方一致から(半)完全一致に変更

・<title>〜</title>最大長制限を緩和=無制限

・<title>〜</title>で改行コードを除去

・新たに対応したタグ

 <BLOCKQUOTE>,</BLOCKQUOTE>

 <H1>〜<H6>

 </H1>〜</H6>

 <UL>,<OL>,<MENU>,<DIR>

 </UL>,</OL>,</MENU>,</DIR>,<LI>

 <DL>,</DL>,<DT>,<DD>

 <H>,<P>,<DIV>

 <STYLE>〜</STYLE>

 <SCRIPT>〜</SCRIPT>

 <APPLET>〜</APPLET>

 ALIGN属性による行揃え(<P>,<DIV>,<Hnum>)

・特殊フォント &lt;,&#60;,&gt;,&#62;,&amp;,&#38;,&quot;,&#34; に対応

・その他調整



1998/01/25  Ver.0.10

初公開版





■動作環境■



MS-DOS Ver.3.0以降(MS-DOS汎用)

i8086または上位互換CPUを搭載したPC

空きコンベショナルメモリ約200Kb





■動作確認■



NEC   PC-9821As2  + MS-DOS 6.2

自作AT互換機      + WindowsNT4.0(DOS窓)





■アーカイブの内容■



HTOX    .TXT  取扱説明書(this text)

HTOX    .EXE  実行ファイル





■使用方法■



書式 : HTOX {options} [InputFile1] [InputFile2] [InputFile3] ...



 引数に変換したいhtmlファイルを指定すると、拡張子を.txtに変更したテキストファ

イルを作成します。複数ファイルの指定及びワイルドカードによる一括変換も可能です

。出力ファイル名を明示的に指定したい場合は、">"記号を使用してリダイレクトして

ください。



    (例1: index.htm をテキストファイルindex.txtに変換したい)

    c:\>htox index.htm



    (例2: index.htm をテキストファイルoutput.txtに変換したい)

    c:\>htox index.htm > output.txt



    (例3: カレントディレクトリの拡張子 .htm のファイルをテキストファイル

    に変換したい)

    c:\>htox *.htm



    (例4: index.htm と index2.htm をテキストファイルに変換したい)

    c:\>htox index.htm index2.htm



    (例5: カレントディレクトリの拡張子 *.htm のファイルを output.txt に変換

    したい)

    c:\>htox *.htm > output.txt



    (例5: index.htm の内容を閲覧したい)

    c:\>htox index.htm | more



    オプションは以下のように使用します



    c:\>htox /t0 /m0 input.htm



    使い方は、以下の通りです



    /H            : 簡単なヘルプを表示して終了します.

    /Cn           : 行揃えを行う時の想定桁数を指定します. [n:1-255]

    /T{0|1}       : <TITLE>〜</TITLE>タグでタイトルを挿入 [0:しない,1:する].

    /I{a|j|s|e|u|8|p} : 漢字コード変換を行うため,入力漢字コードを指定します.

	    [a:(自動),j:JIS,s:shiftJIS,e:EUC,u:Unicode,8:UTF-8,p:無変換]

    /S{0|1}       : 連続するスペースを削除 [0:しない,1:する].

    /L{0|1}       : 行頭行末スペースを削除 [0:しない,1:する].

    /M{0|1}       : 変換は<HTML>〜</HTML>で囲まれた間に [0:限らない,1:限る].

    /E{0|1}       : 文中のEOFコード(0x1a)を除去 [0:しない,1:する].

    /F{0|1}       : 文末が改行コードでないときは改行コードを付加

                                               [0:しない,1:する]

    /O{0|1}       : 出力ファイルの上書き確認を [0:しない,1:する]

    /G{0|1|2|3|4"ユーザ定義文字列" (%s=代替テキスト)}: <IMG>タグの置換

            [0:(しない),1:"[Image]",2:"[画像]",3:"[(代替テキスト)]",4:USER定義]

    /D{0|1|2}     : テーブルの区切り文字 [0:半角スペース,1:カンマ、2:TAB]

    /Q{0|1}       : 「行揃えの想定桁数」で強制改行 [0:(しない),1:する]

    /A{0|1}       : テーブルを常に左寄せ [0:(しない),1:する]

    /U{0-7}       : リンク先のパスを挿入

                        [0:(しない),1:する,+2:(前後で改行),+4:(外部リンクのみ)]



    オプションを指定しなかった場合、以下のオプションが指定されたと見なします



                 /C79 /T1 /Ia /S1 /L1 /M0 /E1 /F1 /O1 /G0 /D0 /Q0 /A0 /U0



    オプションは次のように環境変数に登録することができます。



    set HTOX=/Q1 /T0



    優先順位は コマンドライン引数>環境変数>デフォルト です





■処理内容■



【タグの置換】

__________________________________________________

<A HREF="★">(新設:Ver.1.50〜)

	「★=リンク先パス(URL等)」

	リンク先パスに置換する

__________________________________________________

<IMG ALT="★">(変更:Ver.1.60)

	「★=代替テキスト」

	"[Image]","[画像]","[(代替テキスト)]"またはユーザ定義文字列に置換する。

__________________________________________________

<PRE>〜</PRE>

<XMP>〜(追加:Ver.1.70〜)

	改行、半角スペース、タブコードを保存。

	(CR   =>CRLF)

	(LF   =>CRLF)

	(CRLF =>CRLF)

	タグで囲まれたテキストの前後に段落を設定する。

__________________________________________________



	出力テキストの先頭に挿入。

__________________________________________________

〜

	このタグの外は処理しない。

	(デフォルトでは無効)

__________________________________________________


「☆=線の長さ(ピクセル単位の指定はすべて100%とみなす)」 「★=LEFT(左揃え) or CENTER(中揃え) or RIGHT(右揃え)」 改行して、横罫線を"-"で再現する。 __________________________________________________
強制改行する。 __________________________________________________
指定桁内でセンタリングする。 (指定桁数をあふれた場合はそのまま出力) __________________________________________________
タグで囲まれたテキストの前後に段落を設定する。 __________________________________________________

「☆=LEFT(左揃え) or CENTER(中揃え) or RIGHT(右揃え)」 ALIGN属性にしたがって行揃えをする。 タグで囲まれたテキストの前後に段落を設定する。 「連続指定は無視、直前が改行のときは一行開けるだけ」 __________________________________________________

段落を設定する。 __________________________________________________ 「☆=1〜6 (数値による表現の相違は無し)」 「★=LEFT(左揃え) or CENTER(中揃え) or RIGHT(右揃え)」 ALIGN属性にしたがって行揃えをする。 タグで囲まれたテキストの前後に段落を設定する。 __________________________________________________

「☆=LEFT(左揃え) or CENTER(中揃え) or RIGHT(右揃え)」 ALIGN属性にしたがって行揃えをする。 ALIGN属性を省略したときはLEFTが指定されたとみなす。 タグで囲まれたテキストの前後で改行する。 __________________________________________________
タグで囲まれたテキストの前後に段落を設定する。 __________________________________________________
改行して、半角スペース2個でインデント。 __________________________________________________
改行する。 __________________________________________________
タグで囲まれたテキストを半角スペース2個でインデント。 タグで囲まれたテキストの前後に段落を設定する。 (ネスティング可) __________________________________________________
  • 改行する。 (
    の中では番号順リストを作成。) __________________________________________________ テーブルデータでのセルの区切り文字を挿入。 (半角スペース or カンマ or TAB) __________________________________________________ 改行する。 __________________________________________________ 削除する。 __________________________________________________ 【特殊フォントの置換】 (追加:Ver.1.70〜) HTML4.0の全ての文字実体参照(Å 等)、数値文字参照(å 等)に対応。 ただし、シフトJIS全角で表現できない文字は"??"で置換する。 __________________________________________________ 【漢字コードの変換】 (追加:Ver.1.70〜) EUC、JIS、シフトJIS、Unicode、UTF-8を自動判別してシフトJISに変換して出力。 文字コードの分布を根拠に判断します。 __________________________________________________ 【改行コード】 半角スペースに置換(
    を除く) (連続する半角スペースは1つにまとめる) __________________________________________________ 【その他】 全角スペースはそのまま 連続する半角スペース及びタブコードは1つにまとめる 行頭行末の空白を削除 文中のEOFコード(0x1a)を除去 文末が改行コードでないときは改行コードを付加 ■制限■ タグの最大長 10000バイト(は無制限) 入出力ファイルの制限 2Gバイトまで(DOSの仕様)  中間出力ファイルを作成するので、出力ファイルと中間出力ファイルをあわせたサイ ズの空きディスクスペースが必要です。  中間出力ファイルは環境変数 TMP か TEMP で指定されたディレクトリ、または カレントディレクトリに作成され、1つのファイルを処理するたびに自動的に削除 されます。 処理するHTMLファイルは英語か日本語もしくは英日混合であることを想定しています。 それ以外の言語の場合どうなるかはわかりません(^^; それで変な動きをしたら、「漢字コード変換」のチェックを外してみてください。 ■Win32版HtoX32について■ 以下のURLでWindows95/98/NT4.0で動作するWin32版のHtoX32を公開しています。 http://www.win32lab.com/index.html GUIベースのプログラムですが処理内容は同じです。 ■Win32コマンドライン(CUI)版HtoX32cについて■ 以下のURLでWindows95/98/NT4.0のDOS窓で動作するWin32コマンドライン(CUI)版の HtoX32cを公開しています。 http://www.win32lab.com/index.html コマンドライン(CUI)ベースのプログラムですが処理内容は同じです。 ■開発環境■ PC-9821As2(DX4ODP100 + L2Cache128K) MS-DOS 6.2 MS-C/C++ 8.03 VZ Editor 1.6 ■参考文献■ 改訂版HTMLタグ辞典  アンク著  翔泳社 ■著作権・免責■ 【著作権】 ・本ソフトウェア「HtoX」はフリーソフトウェアです。 ・著作権は作者である T-Matsuo が保持しています。 【免責】 ・このソフトウェアに不備があっても作者は訂正する義務を負いません。 ・このソフトウェアを使用したことによっていかなる損害が生じても、 作者は一切責任を負いません。 ■転載・再配布■ 転載及び再配布は以下の条件に従って下さい。 ・ファイルの内容を一切変えずに行って下さい。 ・書籍への添付、及び商目的での配布は作者の許可を得て下さい。 ・無料で行って下さい。 ■一次配付先■ http://www.win32lab.com/ ------------------------------------------------------------------------------- 転載、再配布の際は作者にご一報頂ければ幸いです。 動作報告、バグ報告、要望等は電子メールでどうぞ。