%表題   基本グラフィックルーチンライブラリ
%
%履歴
%\Drireki{
%         91/05/20 酒井 敏
%         91/09/05 林祥介
%         92/04/22 林祥介   (4.1版)
%         94/04/04 塩谷雅人
%        }
%
\section{各種データベース}

GRPH1では, 図形描画のためにいくつかのデータベースファイルを必要とする
(オリジナルデータはすべてアスキー形式で記述されている).
標準ライブラリでは, これらのオリジナルデータベースファイルは src/env1
の下におかれており, 必要に応じて変換された後,
内部変数 {\tt 'DSPATH'} の示すディレクトリに移される.
\vspace{1em}

以下に示すデータベースファイルのうち「フォントファイル」,
「カラー・トーン変換テーブルファイル」の2つは必ず用意されていなければ
ならない.
\vspace{1em}

ファイルの記述方法などの詳細に関しては, env1 の下の各ディレクトリにある
メモを参照していただきたい.
\vspace{1em}

なお, env1 の下には, 以下で述べるデータベースファイルのほかに,
GRPH2 が用いる地図情報データも収められている.

\subsection{フォント}

{\tt 'FONT1'}, {\tt 'FONT2'} の示す2種類のフォントファイルがある
(\ref{append.table.sgfont1}, \ref{append.table.sgfont2}節参照).
インストール時に, コンバージョンプログラム {\tt (CVFONT)} によって,
アスキー形式のデータファイルを
書式なしのデータファイルに変換しなければならない.
これは, 書式なしのデータファイルの構造がコンパイラによって
異なるためである.
\vspace{1em}

このデータファイルは{\tt SWPACK}の中では直接使用されず,
{\tt SZPACK} の中の {\tt SZFONT} からアクセスされる.
ファイル名は {\tt SWQFNM} によって検索される.
なお, このデータは文字描画ルーチンが最初に呼ばれたときに読み込まれ,
フォント番号を変えない限りは再びアクセスされない.

\subsection{カラー・トーン番号変換テーブル}

色を用いたべた塗り(下位3桁が999であるようなトーンパターン番号)
による塗りわけをおこなうとき, 色が使えないような出力装置において
(あるいは \SGPGETSET の管理する内部変数{\tt 'LCL2TN'} を
{\tt .TRUE.} としたとき),
色番号をドットなどのパターン番号として読みかえるための
変換テーブル.
内部変数 {\tt 'CL2TN'} が示すファイルとして必ず用意されていなければ
ならない.
\vspace{1em}

このデータファイルはSWPACKの中では直接使用されず,
SZPACK の中の {\tt SZCLTN} からアクセスされる.
ファイル名は {\tt SWQFNM} によって検索される.
なお, このデータはトーンプリミティブが最初に呼ばれたときに読み込まれ,
それ以降はアクセスされない.

\subsection{カラーマップ}
\label{colormap}

色番号と実際の色を対応づけるデータファイルであって,
内部変数 {\tt 'CLRMAP'} が示すファイルである.
ファイル名には機種を区別する拡張子を付けることができる.
たとえば, 標準ライブラリにおいては, X 用として {\tt .x11},
PS 用として {\tt .psx} のサフィックスをつけると,
それらが優先的に検索される.
\vspace{1em}

色番号0はバックグラウンドカラーを指定するもので,
それ以外は{\tt ICLIDX} (\ref{swpack.swswdi}参照)に対応する.
色はRGBの強さで指定されており, 値の範囲は0から65535 (16bit)である.
機種によってはこれだけの階調が表現できない場合もあるが,
{\tt SWPACK}がこの形式のファイルを読んで適当な階調に読み変える.
したがって, 異なるシステムでもこのファイルはそのまま有効になる
(ように{\tt SWPACK}を書かなければならない).

背景色(色番号0)も利用できるが, 色番号 として0をそのまま指定すると副作用が起こるため, {\tt SGPACK} の管理する内部変数 {\tt 'IBGCLI'} (初期値は999)を指定することで, 色番号0を利用する.

\vspace{1em}

色番号と実際の色はシステムによって異なるが,
色番号1から5までは, 標準的に次の様な対応になっている.

\begin{center}
\begin{tabular}{cc}
\hline
色番号 & 色 \\
\hline
   1   & 白または黒  \\
   2   & 赤 \\
   3   & 緑 \\
   4   & 青 \\
   5   & 黄 \\
\hline
\end{tabular}
\vspace{1em}

(色番号2から4までは RGB の順番である.)
\end{center}

\subsection{ビットマップ}

{\tt 'BITMAP'}が示す Hard Fill 用の標準データファイル.
Hard Fill のパターンを指定するデータ形式は機種によって様々なので,
あらかじめ, このデータをもとにそれぞれの機種にあったデータ形式に
変換しておく必要がある.
\vspace{1em}

なお, このデータは1サイクル2--3mmの長さになるようなデバイスを想定
して用意されている.



