                    【 tpic 修正と拡張・差分 】

                                by Oh-Yeah? (NIFTY GGA03472)   22 Nov. 1992

【修正点】

1. スプライン曲線を他の dvi ドライバに合わせて、各点間の中点を通る Bezier 曲
   線に変更。
2. 破線・点線がパスの各点上に常にのるようにした。
3. 小さい円も表示するようにした。
4. 太い線分が少し長くなるため、細い線分を突き抜ける不具合を修正。
5. 三角形領域の塗り潰しを二つ並べると隙間ができる不具合を修正。

　ご指摘いただいた中林さん、HAC さん、岩本さん、もろさんに感謝します。

【拡張点】

1. gnuplot などで関数グラフをかくのに便利なように、da コマンドを拡張し、複数
   の引き数を取れるようにした。 引き数は交互に実線部分、空白部分の長さをイン
   チ単位の実数で指定する。 この場合、破線はこの指定パターンのくり返しで描か
   れ、パスの各点を「連続に」通過する。 すなわち、各点上に実線部分がのるとは
   限らない。たとえば

	\special{da 0.1}    % o___   ___    ___o___   ___ 
	\special{da 0.1 0.1}% o___   ___   ___ o ___   ___
	\special{da 0.1 0.01 0.01 0.01}          % 一点鎖線
	\special{da 0.1 0.01 0.01 0.01 0.01 0.01}% 二点鎖線

2. 関数グラフの Y 軸キャプションをかくのに便利なように、新たに rt コマンドを
   設けた。 rt x y f で、 以後の全てのテキスト及びグラフィックス出力を(x, y)
   の回りに角度 f だけ回転させる。 他の tpic コマンドの場合と同様、x, y はミ
   リインチ単位の整数、f は時計回りが正のラジアン単位。回転は相対的ではなく、
   常にビットマップの絶対座標に対して行われ、f = 0 でリセットされる。 たとえ
   ば

	\begin{picture}(500,500)
	\put(100,250){\special{rt 0 0 4.71239}\makebox(0,0){Leftside}%
	\special{rt 0 0 0}}
	\put(250,250){\special{rt 0 0 3.14159}\makebox(0,0){Upsidedown}%
	\special{rt 0 0 0}}
	\put(400,250){\special{rt 0 0 1.57080}\makebox(0,0){Rightside}%
	\special{rt 0 0 0}}
	\end{picture}

　この二つの拡張は非公式であり、ポータビリティがないので使用にはご注意くださ
い。個人で楽しむぶんには問題ありません。(^^); 私の将来プランとしては、

A. tpic ユーザーの評判はどうか？

	* いらねぇんだよ。 ---> exit
	* いいじゃん。     ---> B

B. Tim Morgan 氏に打診し、tpic 次バージョンの仕様として採用を提案。

	* I like it.       ---> tpic 公式拡張
	* I don't like it. ---> C

C. Postscript のサブセットとして dviout/prt でサポートすることを検討。たとえ
   ば、1. は setdash とほぼ同様であり、2. は currentpoint, translate, rotate
   などの組み合わせで表せる。 （実際、 T.  Rokicki  氏の  dvips   に付属する
   rotate.sty は、 Postscript コードを tpic rt コマンドに置きかえるだけで こ
   の dviout/prt でも簡単に使えるようになります。）

などを考えています。ご意見をお待ちしてますっ。
