●インストール方法		Ver.2.0   1997-05-22
				神戸大学工学部情報知能工学科
				荻原剛志 (ogihara@seg.kobe-u.ac.jp)

０．ファイル構成

このパッケージには３つのディレクトリがあります。

	doc	ドキュメントを含む
	src	ソースプログラム
	lib	レッスン用のデータファイル(*.typ)、キーマップデータ、
		NeXT用のサウンドファイルを含む

以下で説明する Makefile、各種ソースファイルは src の中にあります。


１．キーボードに関する注意

キーボードは標準的な日本語キーボード(JIS準拠106キー)と英語キーボード
(101キー)、およびPC98シリーズのキーボードを想定しています。
英数文字のタイプ練習では、大きな問題はないはずです。

しかし、かな入力練習コースでは、キーボードの種類とそのマッピングによっ
ては入力できない文字がある可能性があります。特に問題なのは、キーボード
右側のリターンキー周辺の文字です。
typist では、入力された英数文字を、キートップ上で対応するかな文字に単
純に置き換えているだけですので、標準（と想定する）キーの組み合わせで
ASCII文字が生成されない場合には練習ができないことになります。
lib 内に添付した、106キーボードのかな用キーマップ(j.map)では、

	かな文字	入力キー	対応するASCII文字
	を		Shift + 0	'~'
	へ		^		'^'
	ー		\ （￥）	'\' or '￥'
	゜		[		'['
	「		Shift + [	'{'
	」		Shift + ]	'}'
	ろ		\ （￥）	'\' or '￥'

101キーボードのかな用キーマップ(e.map)では、

	かな文字	入力キー	対応するASCII文字
	を		Shift + 0	')'
	へ		[		'['
	ー		}		'}'
	゜		=		'='
	「		Shift + =	'+'
	」		Shift + [	'{'
	ろ		Shift + '	'"'

となることを想定しています。この入力キーで右のような ASCII文字が入力で
きるかどうか確認して下さい。なお、106キーボードの場合、「ろ」と「ー」
（長音記号）は処理上は区別していませんので、同じ文字でかまいません。
一番問題になるのは、多分「を」の扱いでしょう。システムの設定にもよりま
すが、「Shift + 0」では文字が発生しない場合があります。そのような場合、
「Shift + 0」で '~' が入力できるようにキーのマッピングを少々変更する必
要があります。（あるいは、かな入力の機能を使わないか、です。）
X Window や NEXTSTEP では、ユーザ毎にキーの割り当てを変更することがで
きます（X Windowについては、下に概略を示してあります）。

なお、MS-DOSでは「Shift + 0」で文字は発生しませんが、システムコールで
キー入力を調べているため、問題ありません。また、PC98の場合は、キーボー
ドタイプを "k" として、「かな」キーを押した状態で練習すれば問題ありま
せん。


２．漢字コードに関する注意

レッスン用データ、およびソースコード内のメッセージは EUC漢字コードを用
いて作成されています。

(1) EUCを利用している環境ではそのまま使って下さい。

(2) シフトJISを利用している環境では、シフトJISへの変換が必要です。

(3) JIS漢字コードを使用している環境:
  ・X Window では、 kterm上で EUC漢字の設定をすることによって EUC漢字が
    そのまま表示できます。この場合、コードを変換する必要はありません。
  ・EUCのままでは表示できない場合、代わりにシフトJISが利用できないか、
    検討してみて下さい。
  ・データをJIS漢字コードに変換して利用すると、表示が正しく行えないこと
    があります。かな入力の練習もできませんので、お勧めできません。

コード変換を行う場合、変換が必要なデータファイルは
	lib/*.typ
	lib/?.map
	lib/typist.idx
です。ソースプログラムは、全部変換した方が良いでしょう。


３．各種設定

インストール前に、Makefile内の以下の項目をチェックして下さい。

(1) LIBS
    Makefile の中のライブラリの指定の部分。既定では
	LIBS=-ltermcap
    となっていますが、これをインストール先のマシンに合うように変更する
    必要があるかもしれません。
    MS-DOSの場合、termcap のライブラリは必要ありません。
(2) DEBUG
    コンパイル時、リンク時に cc に与えるオプション（特にデバッグ用、あ
    るいは最適化）を記述します。
(3) LESSONDIR
    各レッスンのテキストとなるデータファイルを格納するディレクトリを指
    定します。既定は Unixでは /usr/local/lib/typist 、 MS-DOS の場合、
    c:\lib\typist となっています。
(4) TARGETDIR
    typist の実行形式のファイルを格納するディレクトリを指定します。
    make install でインストールしない場合は設定しなくてもかまいません。
    既定は /usr/local/bin です。
(5) MANPATH
    typist のマニュアル typist.1 を格納するオンラインマニュアルのパスを
    指定します。
    make install でインストールしない場合は設定しなくてもかまいません。
    既定は /usr/local/man です。
(6) MAB
    これは NeXTにのみ有効です。アーキテクチャを指定して実行ファイルを
    作成する場合に指定します。

以下はコンパイルオプションで、CFLAGS の定義に加えます。

(7) -DLESSONDIR （コンパイルオプション）
    上で設定した LESSONDIR が既定値以外の場合、このオプションでパスを
    指定しなければなりません。指定の方法は、
    -DLESSONDIR=\"$(LESSONDIR)\"
    のようになります。
(8) -DKEYTYPE （コンパイルオプション）
    デフォルトのキーボードのタイプを指定します。既定値は "j" で、これ
    は標準的な日本語(106)キーボードを想定しています。他に値として "e"
    を指定でき、これは標準的な英語(101)キーボードを想定しています。
    指定の方法は、
    -DKEYTYPE=\"e\"
    のようになります。
(9) -DMSDOS （コンパイルオプション）
    MS-DOS でコンパイルを行う場合、"MSDOS" というマクロを定義する必要
    があります。コンパイルの方法は MS-DOS上のＣ処理系に依存しますが、
    このマクロが有効になるように設定して下さい。
    また、MS-DOSの場合、termcap のライブラリは必要ありません。
(10) -DTERMIO
    System V系 UNIXや LINUXで、sgttyではなく、termioの関数群を使用する
    場合、このオプションが必要です。
(11) -DSILENT （コンパイルオプション）
    練習中に間違ったキーを押すとベル（NeXTではビープ音）が鳴ります。こ
    のオプションを指定すると、音を一切鳴らさないようにできます。
(12) -DVANISHCHAR（コンパイルオプション）
    NeXTなどで、強調表示の直後にカーソルがある場合、表示が消えたり、乱
    れることがあります。そのような場合、このオプションを指定します。


４．インストール

(1) すべてのインストールを一度に行うには
    レッスン用データやマニュアルなどの設定も含めて、すべてのインストー
    ル作業を一度に済ますには
	make install
    とします。

(2) 実行ファイルのみを作成するには
    実行ファイルの作成だけを行う場合には、
	make
    だけを実行して下さい。
    その後、レッスン用データやマニュアルなどの設定を行う必要があります
    が、これは Makefile の install で行っている内容を参考にして行って
    下さい。

(3) MS-DOSでのインストール
    DOS/V上の Visual C++ (Version 1.5) にてコンパイルし、動作を確認し
    てあります。他のC処理系では、includeファイル名が異なる等の問題もあ
    るかもしれませんが、標準的なC関数しか用いていませんので、比較的簡
    単な修正でコンパイルできると思います。
    処理系によってはプロジェクト（*.makなど）の作り方がいい加減なので、
    手で修正する必要があるかもしれません。
    この実行ファイルが、NEC-9801, 9821シリーズで動作することも確認して
    います。

    MS-DOS でコンパイルを行う場合、"MSDOS" というマクロを定義する必要
    があります。コンパイルの方法は C処理系に依存しますが、このマクロが
    有効になるように設定して下さい。
    レッスンデータを置くディレクトリは適宜変更して下さい。
    タイプを間違えるたびにビープ音が鳴るのはうるさいと感じたら、SILENT
    というマクロも有効にするとよいでしょう。
    また、98シリーズで使うだけの場合、キーボードタイプを "k" にしてコ
    ンパイルすると良いでしょう。
    MS-DOSの場合、 termcap のライブラリは必要ありません。

(4) LINUXでのインストール
    LINUX でコンパイルを行う場合、-DTERMIO を指定してコンパイルして下
    さい。

(5) NEXTSTEPでのインストール
    NeXTでは -DVANISHCHAR の指定が必要です。
    マルチ・アーキテクチャ・バイナリ(MAB)を作るには、Makefile内の MAB
    に対象のアーキテクチャ名を記述してコンパイルします。


５．環境変数について

(1) データの存在するディレクトリ
通常は UNIX で /usr/local/lib/typist 、 MS-DOSで、c:\lib\typist を想定
していますが、上で述べたように、これはコンパイル時に変更も可能です。
実行時にデータの存在するディレクトリを指定するには２つの方法があります。
まず、起動時に -L オプションを使う方法。例えば、/2ndDisk/lib/typist を
指定したい場合は -L/2ndDisk/lib/typist のようにします。'L'とパス名の間
には空白を入れません。
もうひとつは、環境変数 TYPLIB にディレクトリのパスを設定しておく方法で
す。
ディレクトリは、-Lオプション、環境変数、既定値の順に調べられます。

(2) 履歴ファイル
ひとつのレッスンを終了すると、その情報はファイルの上に記憶されます。
UNIXの場合は ~/.typistrc というファイルに、MS-DOSでは $HOME/typist.dat
というファイルに、どのコースはどのレッスンまで終わったかという情報が記
録されます。
ただし、環境変数 TYPDATA にファイルのパスが設定されていれば、そのファイ
ルが履歴ファイルとなります。MS-DOSの場合、環境変数 HOME も TYPDATA も設
定されていなければファイルは作成されません。


６．X Window でのキーマッピングの変更

X Windowでキーの割り当てを変更するには、xmodmap というプログラムを使い
ます。

例えば、Shift + 0 で '~' ではなく、'0' が入力されてしまう場合には、以
下のようにして変更が可能です。
まず、 xmodmap -pke というコマンドを打つと、その時のキー割り当てが表示
されます。その中に、例えば
keycode  46 = 0 0 kana_WA kana_WO
というように、 = の後に 0 がある行があれば、それが 0 のキーでどのような
文字が入力できるかという情報を表しています。２つめの 0 は、シフトキーを
押しても 0 が入力されることを表しています。
ここで、
xmodmap -e "keycode  46 = 0 asciitilde kana_WA kana_WO"
というコマンドを入力すると、シフトを押した時に '~' を表示できます。
あるいは、
keycode  46 = 0 asciitilde kana_WA kana_WO
という行を含むファイルを ~/.xmodmaprc というような名前で作成し、
xmodmap ~/.xmodmaprc
としても同じです。X Window を起動した時に、このようなコマンドが自動的に
実行されるように設定しておけばよいでしょう。

以上の説明はあくまでも例で、システムによっては記述方法やオプションが異
なることがあるかもしれません。xmodmapのマニュアルなどを参照して下さい。


７．その他
・cursesライブラリは使用していません。（互換性が不安なため）
・間違えた時にクリック音を鳴らすには、 sound.c を改良して下さい。

