■ RHTリファレンス

 RHTのソースは、ヘッダ、特殊変換、RHTタグ、その他、の4つの部分に分けることが出来ます。ヘッダは最初にくっつく特殊な部分で、HTMLの<HEAD>タグ、<BODY>タグ内に相当します。
 それ以降が本文です。「その他」はそのまま文章として出力され、あとの2つはHTMLの各種タグに変換されます。


■1、ヘッダ

タイトル:走矢灯 RHTリファレンス
+Keyword:HTML,変換
文字色 :#003366
背景色 :#FFCC99

 …のように書きます。

 1行目の「タイトル:〜」もしくは「TITLE:〜」は、文字通りタイトルで(^^;、<HEAD><TITLE>内に書き込まれます。
 2行目からは、先頭に「+」の付いた項目は、<META NAME="…" CONTENTS="…"> に、「*」が付いたのは<META HTTP-EQUIV="…" CONTENTS="…"> に変換します。これは別に書かなくても構いません。
 なお、TITLEとMETA以外の<HEAD>内タグには未対応です。

 タイトル行でも「+…」でも「*…」でもない行が出てくると、それ以降は<BODY>タグ内のコマンドに変換されます。「文字色:〜」「背景色:〜」「背景:〜」等の書式が使えます。これもあってもなくても構いません。
 それぞれ<BODY>内と同じに、上のなら「TEXT:〜」「BGCOLOR:〜」「BACKGROUND:〜」とも書けます。LINK、ALINK、VLINK等も使えます。
 (なお、これらを使った後で「タイトル:〜」や「+Keyword:〜」を使うと誤変換しますので、順番は変えないで下さい)

 で、最後に空行を入れてヘッダ部はおしまいです。RHTでいろんなHTMLファイルを逆変換して見てみると判りやすいでしょう。


■2、特殊変換

・ 行頭から「=」を60個以上並べて改行すると<HR>(水平線)になります(^^;。ちなみに「-」を60個以上だと<HR NOSHADE>です。

・ 行頭から「▼----------------------------▼」のように書くと、テーブルの始まり(<TABLE>)。
・ 同じく、「+------------------------------+」だと、テーブルの各段の始まり(<TR>)。
・ その内側で、行頭に「/」を書くと、テーブル各段の、各項目の始まり(<TD>)。
・ 「/」の代わりに「|」だと、項目見出し(<TH>)。太字&表示位置が真ん中になるだけで、ほとんど「/」と同じです。
・ 「▲----------------------------▲」が、テーブルの終わり(</TABLE>)です。

 テーブル関係のパラメーターは現在サポート出来てません(^^;。
 なお、テーブルの段や項目終了(</TR></TD></TH>)は、次の項目等の直前に自動的にくっつきますので心配要りません。

・ 水平線など一部の特殊変換時を除き、改行する毎に必ず<BR>(改行)が付きます(<PRE>だと画面端で折り返してくれない(;_;))。パソ通の「1行ごとに改行」に慣れた人には辛いかも。

・ 行頭に、例えば「#01 ジャンプ箇所01」のように書けば、その行をページ内のリンク先「01」と見なします(<A NAME="01">ジャンプ箇所01</A><BR> …に変換)。

・ 「<」→「&lt;」等、HTMLの特殊文字は変換してブラウザで読めるようにします。

・ 行頭に「!」を書くと、その行はRHTタグの解析は行わず、そのまま出力します。


■3、RHTタグ

 { 〜 }で囲まれた部分です。

・ {リンク先(→http://www.linksaki.ne.jp/dokoka/)}

 「リンク先」と書いた部分をクリックすれば、http://www 〜 に飛びます。HTMLの <A HREF="http://www.linksaki.ne.jp/dokoka/">リンク先</A> に変換されます。「→」の後にローカルのファイル名や「#」を使ったページ内リンク先も書けます。


・ {タイトルCG:filename.jpg(512*320,右)}

 画像を貼ります。この場合 <IMG SRC="filename.jpg" WIDTH=512 HEIGHT=320 ALT="タイトルCG" ALIGN=right> に変換されます。
 最後の「,右」は他に ,左,上,下,中が使えます。それぞれALIGNのleft、top、bottom、centerです。省略可です。
 「タイトルCG:」の部分は、画像非表示時に代わりに表示される文字です。これも省略可です。
 512*320というのは画像の大きさです。HTMLの文法では省略できますが、省略すると画像を読み切るまでレイアウトが変だったり、画面表示が遅くなったりするので、RHTでは省略出来ないことにしています。省略すると画像がそのものが貼られません。

 また、{バナー:bunner.gif(200*40,左)(→http://www.cg.ne.jp/~graphic/)}…などと書けば、画像にリンクも張れます。文字と画像の両方にまとめてリンクを張ることは出来ません。


・ {文字(+3)}

 「文字」を、フォントサイズ+3で表示します、(-1)や(7)等の指定も可です。見出し等で文字を一時的に大きくするのに作ったので、広範囲にわたるフォントサイズ変更には使えません。


・ {<タグ>}

 そのままHTMLのタグになります。未サポートのタグもこれでOK(^^;。


■ RHT(暫定版)を試してみる

 とりあえず現在のバージョンを上げておきます。Jperl(日本語対応Perl)の使える環境で、

 jperl rht.pl (file) > (conv)
 jperl rht.pl -(conv) (file)
 jperl rht.pl /(conv) (file)

(file)に変換するファイル名、(conv)に変換後のファイル名

 …のいずれかを実行すると、HTMLならRHTに、それ以外のテキストはRHTの書式に従ってHTMLに変換します。漢字/改行コードは前もって(Perlで読めるよう)機種に合わせて変換しておかないと誤動作します。「コンバート中…」と表示されたまま反応しなくなった場合、CTRL+C(DOSの場合)等でJperlを強制終了して下さい。

 ちなみにRHTへの変換は、このページのように元々RHTで書かれたものだけでなく、適当なHTMLファイルが使えますので、自分のページがRHTでどういう風になるのか見てみるのもいいかと思います。
 変換精度は結構ましにはなってきたもののまだ不完全ですので、そのままHTMLに再変換を試みたりしないほうが賢明です(特にDOSのjperl.exeはメモリが厳しい関係か、強制終了も出来ずハングアップすることが(^^;)。

 なお、スクリプトの最初の

 $tab=8;         # タブ数/環境に応じ書き換え/0だとスペース使用

 が、ヘッダ部の逆変換表示を揃えるために参照するタブ数です。0だとタブでなくスペースで表示を揃えます。環境に応じて書き換えてみて下さい。

 なお、著作権は一応私が保持しますが、扱いはPDSに準じます。

 【Perlスクリプト「RHT」のダウンロード】


■ 変更履歴

 0.10 98/ 1/21 公開
 0.11 98/ 2/4  最終行に改行コードが無い場合無限ループに陥るのを修正(^^;。他。
 0.13 98/ 2/14 METAタグ、{<タグ>}(直書き)に対応。
 0.14 98/ 2/15 画像(IMG)の逆変換、リンク付き画像変換に対応。リンク中/タグ無解析行中で、HTMLの特殊文字(「<」→「&lt;」等)が変換されていなかったバグを修正。

 0.15 98/ 2/16 BODYタグ等が小文字だった場合の逆変換時のバグ修正。テーブルの<TABLE>と<TR>の逆変換に対応(テーブル部の表示が結構見易くなった…かな(^^;)。
 0.16 98/ 2/17 リンク付き画像の逆変換。
 0.17 98/ 2/19 テーブルの字下げスペースを表示しないように(<TD>〜</TD>と<TH>〜</TH>の内側のみ表示)。
 0.18 98/ 2/20 逆変換時にヘッダ部の表示を揃える(簡単なようで手こずった(^^;)。「*」付きヘッダ(<META HTTP-EQUIV="…" CONTENTS="…">)が変換されてなかったバグを修正。テーブル変換に対応。スクリプトのサイズが10K超えた(^^;。

 0.18a 98/ 2/21 クリッカブルマップの枠だけ(^^;逆変換。
 0.18b 98/ 2/26 <DL>,<DT>,<DD>の逆変換に一応対応。


走矢灯 RHTリファレンス(http://www.teleway.ne.jp/~timeflow/RHTREF.HTM)

 設置:98/2/4  現構成での作成:98/1/28 〜 98/2/4   最終修正:98/2/25


【RHT】  【戻る】