%表題   概要
%
%履歴
%\Drireki{
%         11/11/26 辻野智紀 (html -> pdf)}                 &     \\
%        }
%
\section{概要} \label{graph.line.abst}

\subsection{ラインインデクス} \label{graph.line.abst.lineindex}
線分の太さと色はラインインデクスと呼ばれる 3 桁の整数 (nnm) で指定される. 
線の太さと色のうちどちらか一方しか変えられないようなデバイスに出力する場合でも, 
ラインインデクスの異なる 2 本の線が識別できるようにするため, 
ラインインデクスは次のような規則にしたがって太さと色に対応づけられる. \\

線の太さと色が両方変えられるようなシステムでは, 
上位 2 桁 (nn = 0 - 99) が色番号, 
下位 1 桁 (m = 0 - 9)が線の太さを表す. 
色番号は, 1 から 5 までは標準的に

\begin{quote}
\begin{tabular}{lp{10cm}}
1: & 白または黒 (フォアグラウンド) \\
2: & 赤 \\
3: & 緑 \\
4: & 青 \\
5: & 黄 \\
\end{tabular}
\end{quote}

と決められているが, それより大きな番号に関しては colormap ファイルの定義による.
また m : 1 (細) -> 9 (太) となっている.
線の太さだけが変えられるような出力装置では, 
m = 0 のときに限って nn を m として読みかえる. 
また, 線の色だけがかえられるような出力装置では, 
nn = 0 のときに限って m を nn として読みかえる. 
したがって線の太さと色を明示したいとき以外は, 
1 桁のラインインデクスを指定しておけば, 
とりあえず装置に固有な方法によって線分は識別可能となる.


\subsection{ラインタイプ} \label{graph.line.abst.linetype}
ラインタイプとは, 実線, 破線などの線種である. 
1 から 4 までの番号にはあらかじめ以下のタイプが決められている.

\begin{quote}
\begin{tabular}{lp{10cm}}
1: & 実線 \\
2: & 破線 \\
3: & 点線 \\
4: & 1 点鎖線 \\
\end{tabular}
\end{quote}

その他の 0 以外の整数は下位 N ビット 
(N は内部変数 '{\tt PATTERN\_BIT\_LENGTH}' で決まる値. 
初期値は 16) のビットパターンを用いて線種が設定される. 
たとえば N = 16 で TYPE = Z'0000F0F0' (16進定数) のとき, 
'\underline{4bits ON} 4bits OFF \underline{4bits ON} 4bits OFF' 
のような破線が設定される. 
1 ビット当たりの長さは内部変数 '{\tt LINE\_BIT\_LENGTH}' が決める. 


\subsection{ラベル} \label{graph.line.abst.label}
内部変数 '{\tt ENABLE\_LINE\_LABELING} 'を {\tt .TRUE.} にすると
ラベル付きの折れ線を描く. 
ここでいうラベル付き折れ線とは, 描くべき線分のある長さを 1 サイクルとして, 
その一部分を空白域としその空白部分に指定した文字列を描くものである. 
ラベルとしてつける文字列は {\tt DclSetLineText} で指定する. 
その文字列の高さは {\tt DclSetLineTextSize} で指定する. 
サイクルの定義などに関しては折れ線に関する内部変数を参照のこと. \\

なお, 内部変数 '{\tt ENABLE\_LINE\_LABELING}' を {\tt .TRUE.} とした効果は
線分描画ルーチンすべてに及ぶ. 
したがって, '{\tt ENABLE\_LINE\_LABELING}' を {\tt .TRUE.} として
ラベルつき線分を描いたあとは必ず {\tt .FALSE.} に戻しておかなくてはいけない.


\subsection{欠損値処理} \label{graph.line.abst.error}
内部変数 '{\tt INTERPRET\_MISSING\_VALUE}' を {\tt .TRUE.} にすると
欠損値処理をおこなう. 
つまり欠損値の前後は線で結ばない. 



