　******************************************************************
　《モールス符号 練習プログラム CWTW-Pro Rev3.01 2020/02/07》

　　　　CWTW-Pro Continuous Wave Training program for Windows.
　　　　Copyright (c) 1997-2020 JR4QPV(T.Yokobayashi)
　******************************************************************

■ 特徴
『CWTW-Pro』はモールス符号の練習用Windowsプログラムです。
このRev3.xでオープンソースソフトウェアとし全機能フリーで利用できるように
なりました。

　発信音にはシステムスピーカのBEEP音や、MIDI音源、WAVE音源を利用して高音
質で再生する事ができます。又、MIDI音源では試験会場の反響を模擬するリバー
ブ効果をかける事も可能です。(※MIDI音源側の対応が必要)
　Wave音源ではDirextX(ﾀﾞｲﾚｸﾄｻｳﾝﾄﾞ)によるﾘｱﾙﾀｲﾑな発音を実現しました。
　モールス符号は欧文はもちろん和文にも対応しており、通信速度はパリス・シ
ステムに準拠しています。

　本プログラムは、従来送信練習機能はシェアウェアとして公開してきたRev2.xの
ソースを整理し、新たにRev3.xとしてオープンソースソフトウェアとして公開。
従来のRev2.xは、C++Builder 5でコンパイルしてましたが、このRev3.xは
「C++Builder Community Edition 10.3」でコンパイル確認しており個人ユーザは
無料で利用できる開発ツール。
それに伴い以下の見直しをしています。

　・プログラム内部の文字コードをUnicodeに変更。
　・入力ファイルの文字コードは、UTF-8(BOM付推奨)に変更。
　　拡張子は `*.txt` が基本。
　・モールス練習機能は、Rev2.xの機能をそのまま踏襲。
　・動作確認OSは、Windows10 Pro (64bit版)。

《受信練習モード》
　５文字ごとのランダムな文字を発音する乱数暗文モードや、あらかじめ用意し
たテキストファイルの文章を発音するテキストファイルモードなど８種類の受信
練習モードを備えております。

《送信練習モード》
　実際に縦振キーやエレキーの電鍵をRS-232Cﾎﾟｰﾄに接続して練習が可能ですので、
より実践的な環境でのモールス通信の訓練が可能です。また、電鍵を持ってない
方は[SHIFT]キー,[CTRL]キーやジョイスティックボタンで代用しての練習もでき
ます。打鍵スピードはプログラムで認識して自動調整されます。また、[HH]や[B
T]などのような連続文字にも対応しており、[ﾎﾚ]と[ﾗﾀ]の打鍵により和文／欧文
モードの自動切り替えを行う事もできます。
　エレキーモードでは、一般的に備えられているメモリ機能とスクーイズ機能を
サポートしています。打鍵スピードも自由に設定できます。

《送信アシスト機能》
　送信練習モードでは、縦振キーやエレキーなどで打鍵した文字をパソコン上の
画面に表示しながら、同時にリグ(無線機)に信号を送って交信する事でオペレー
タを補助する機能です。リグへの接続はRS-232ﾎﾟｰﾄを利用しますので若干のイン
タフェース回路が必要となります。


■ 動作環境
　・Windows10
　　※システムBEEP音を使うには､別途giveio.sysが必要です。
　・MIDI音源（サウンドブラスター等の音源ボードだけでも動作可能です）
　・IBM PC/AT及び互換機


■ Gitリポジトリ
GitHubの下記URLでソース一式を公開。

<https://github.com/jr4qpv/cwtw-pro.git>


■ サポートページ
　下記サポートページのURLで、コンパイル手順などの技術情報を掲載。

  <https://www.yokoweb.net/dokuwiki/develop/cwtw-pro/>

  * バイナリファイルのみの公開も、同ページより行っています。

■ プログラムの起動方法
　コンパイル結果のバイナリファイルを「C:\CWTW-Pro\」フォルダなどに一式を
コピーし、その中の「CWTW-Pro.exe」ファイルを実行。


■ プログラムの使用方法
　プログラムを起動して、「ヘルプ」→「ドキュメントファイルの表示」で、
ドキュメントを参照ください。


■ アンインストール
　コピーしたファイルを削除する。


■ giveio.sysドライバーについて(BEEP音)
　WindowsXP/2000/NT環境でBEEP音を利用するには、giveio.sysドライバーを別途
入手して組み込む必要があります。
　※Windows95/98/MEではgiveio.sysは必要ありません。
　※Windows10(NT系)で、MIDIとWAVE音で使用するのであればgiveio.sysを
　　組み込まなくても支障ありません。(BEEP音が選択できないだけです）

　CWTW-ProでBEEP音を鳴らすのは直接IOアクセスを行っています。Windows10(NT系)
ではユーザプログラムからのIOアクセスが認められていません。そのため何もせずに
BEEP音を鳴らす処理を実行するとアプリケーションエラーが発生します。
　giveio.sysは、Windows10に対して、CWTW-ProプログラムからのIOアクセスを認め
させる手順です。
(システム権限を持つユーザ（Administrator）でログオンして作業してください）

＜giveioのインストール手順＞
  1.paraffin氏の下記HPから"instdrv.lzh"をダウンロードして解凍します。
        http://homepage1.nifty.com/paraffin/software/index.html
  2.下記より入手した"giveio.sys"を上記instdrvを解凍したフォルダにコピーします。
        ftp://ftp.ddj.com/1996/1996.05/directio.zip
        ftp://ftp.nsk.su/.3/magazins/ddj/1996/1996.05/directio.zip

          directio.zip を解凍
            \GIVEIO
              \I386
                \FREE
                  \giveio.sys

  3.instdrv.exeをダブルクリックで起動して、[Install]ボタンを押します。
  4.PCを再起動します。

＜giveio.sysのインストール確認手順＞
  1.コントロールパネルからシステムを開き、ハードウエアのタグにあるデバイス
    マネージャを開きます。
  2.[表示(V)]-[非表示デバイスの表示(W)]を選択
  3.[プラグアンドプレイではないドライバ]の[GIVEIO]をダブルクリックして開きます。
  4.“デバイスの状態”が“このデバイスは正常に動作しています。”であればOKです。


■ DirectX(ﾀﾞｲﾚｸﾄｻｳﾝﾄﾞ)ドライバーについて(WAVE音)
　本ﾌﾟﾛｸﾞﾗﾑにはDirectX(ﾀﾞｲﾚｸﾄｻｳﾝﾄﾞ)のドライバーが必要です。
　Windows98以降ではDirectXのドライバーは標準装備されております。
　CWTW-Proを起動した時に「DSOUND.DLL」がありません等のﾒｯｾｰｼﾞが表示される
場合は、DirectX(ﾀﾞｲﾚｸﾄｻｳﾝﾄﾞ)のドライバーが必要です。
　DirectX(ﾀﾞｲﾚｸﾄｻｳﾝﾄﾞ)のドライバーはマイクロソフトのホームページなどから
入手できます。又、音源ボードやゲームパッド等の最新のドライバーに付属されて
いる場合もあります。
DirexctXのﾄﾞﾗｲﾊﾞｰをｲﾝｽﾄｰﾙする前にビデオや音源ボードのドライバーは出来る限
り最新にしておく方がよいです。
　尚、DirectXのドライバーに関するインストールはそれぞれの環境によって異な
ります。従って、作者では分かりかねますので、作者へのDirectX等のドライバー
に関する質問や問合せはご遠慮ください。


■ MIDIドライバーについて
　MIDI音源から発音する場合はMIDIドライバーが必要です。もしMIDIドライバー
が組み込まれていない場合は、別途Windowsの説明書や音源ボードの説明書を参照
して組み込んでご利用ください。
　MIDIドライバーや発信音の音色は、【環境設定】画面で設定できますので、好
みの音色を選択してください。但し、標準で装備されている楽器音の音色となり
ますのでＣＷの音に近い音色があるとよいのですが・・・(^_^;)

　※サウンドブラスター等の音源ボードでは、FM音源でMIDIを模擬する
　　ドライバー（例：｢内部 OPL2/OPL3 FM音源のMIDI｣）が添付されており、
　　これらを使う事で本格的なＭＩＤＩ音源が無くても利用できます。


■ パリス・システムについて
　パリス・システムとはモールス符号の早さ(スピード)を表す方法の一つです。
パリス・システムでは｢PARIS｣の５字を基準の語としてモールス符号のスピードを
表します。モールスの短点の長さを１ユニットとすると、｢PARIS｣の符号は語の間
隔を含めて50ユニットになります。
　本プログラムでのモールス符号のスピード設定は、このパリス・システムに準
拠しています。


■ 画面の説明

【メイン】画面の説明

　［ファイル］　　　　　　…データファイルのファイル名を設定
　［速度］　　　　　　　　…PARIS速度を設定、単位は[字/分]

　［練習モード］　　　　　…受信／送信を選択
　［受信練習］　　　　　　…受信練習のモードを選択
　　　　　　　　　　　　　　（詳細は｢受信練習モード｣の項を参照）

　［ループ指定］　　　　　…［ストップ］が押されるまで練習を繰り返す
　［数字含む］　　　　　　…｢耳慣らし｣と｢乱数暗文｣で数字を含む指定
　［ヰヱ含む］　　　　　　…｢耳慣らし｣と｢乱数暗文｣でヰヱ文字を含む指定

　［欧文/和文モード］ 　　…欧文／和文を選択
　［自動］ 　　　　　　　 …欧文／和文の自動切り換え

　［スタート］　　　　　　…発音開始
　［ストップ］　　　　　　…発音停止(中断)
　［一時停止］　　　　　　…発音一時停止(もう一度押すと再開する)
　［リピート］　　　　　　…前回の練習内容を再度発音開始


【環境設定】画面の説明

 《発信設定》
　［ｻｳﾝﾄﾞ選択］　　　　　 …使用するサウンドを選択

　［BEEP設定］　　　　　　…使用機種を設定してください
　　　　　　　　　　　　　　※もし機種が異なっている場合は手動で設定※

　［MIDI出力先］　　　　　…使用するMIDIドライバーを選択
　［MIDI音色］　　　　　　…発信音のMIDI音色番号を設定(1～128)
　　　　　　　　　　　　　　※好みの楽器音を選択 ※
　［MIDI残響］　　　　　　…エコーかかり具合を設定(試験会場の反響模擬)
　　　　　　　　　　　　　　※MIDI音源が対応している必要があります※

　［WAVE出力先］　　　　　…使用するWAVEドライバーを選択
　　　　　　　　　　　　　　※複数の音源ﾎﾞｰﾄﾞを使用している場合は選択
　　　　　　　　　　　　　　　します。通常は(Default)でよい。
　［WAVE波形］　　　　　　…WAVE波形を選択

　［音程］　　　　　　　　…発信音の音程(周波数)の設定
　［音量］　　　　　　　　…発信音の音量の設定

　［初期速度］　　　　　　…起動時のPARIS速度を設定
　［テスト］　　　　　　　…テスト発音(PARISと発音)
　（テスト速度）　　　　　…［テスト］で発音時の計測時間/速度を参考表示

 《受信設定》
　［練習時間］　　　　　  …乱数暗文とワードランダム時の練習時間設定
　［改行時間］　　　　　  …改行時の待ち時間

　［区切文字数］　　　　　…乱数暗文の区切文字数（デフォルト５）
　［最小区切数］　　　　　…区切りランダム時の乱数発生の最小値
　［区切ランダム］　　　　…区切文字数をランダムに発生します

　［和文区切文字］　　　　…乱数暗文(和文)での区切文字の挿入指定

 《電鍵設定》
　［入力選択］　　　　　　…電鍵キーの入力先を設定
　［打鍵設定］　　　　　　…縦振キー／エレキーを選択
　［RS-232C設定］　　　　 …電鍵キーを接続したポートを選択
　［ｼﾞｮｲｽﾃｨｯｸ設定］　　　 …使用するｼﾞｮｲｽﾃｨｯｸのドライバーを選択

 《メモリー》
　　　キーボード入力指定時のファンクション・キー [F1]～[F10] を押した時
　　に、発音する文字列を設定する。

 《フォルダ》
　［データディレクトリ］　…データファイルの格納ディレクトリを設定

 《表示他》
　［表示設定］　　　　　　…小文字や符号での表示選択
　［表示フォント］　　　　…表示するフォントを選択
　［練習モード保存］　　　…【メイン】画面のﾓｰﾄﾞを次回起動まで記憶する
　［ｳｨﾝﾄﾞｳ位置/ｻｲｽﾞ保存］ …【メイン】画面のｳｨﾝﾄﾞｳ位置とｻｲｽﾞを記憶する


　［設定保存］　　　　　　…設定を保存
　［ＯＫ］　　　　　　　　…環境設定の終了
　［キャンセル］　　　　　…変更した設定のキャンセル


■ 受信練習モード

　(1)耳慣らし
　　　A～Z 及び ｱ～ﾝ の文字を順番に流して発音します。

　(2)乱数暗文
　　　乱数で５文字づつの単語を発生させて約２分間発音します。
　　　（練習時間は環境設定で変更できます）

　(3)キーボード入力指定
　　　キーボードから入力した文字を発音します。環境設定であらかじめ設定
　　しておいた、キーボードメモリの文字列を、ファンクションキーから呼び
　　出す事ができます。また、[F12]キーでファイル内容を発音する事も可能
　　です。キーボード入力練習での特殊キーは、付録２を参照願います。

　(4)テキストファイル指定
　　　指定されたデータファイルの内容を発音します。これらのファイルは
　　秀丸などのエディタを使って予め作成しておきます。
　　　参考にサンプルファイル(SAMPLE1.txt～SAMPLE8.txt)を添付します。

　(5)ファイルランダム指定
　　　指定されたデータファイルに列記された各行のファイル名を乱数で選択
　　して、テキストファイルとして発音します。
　　　ファイル中で指定のファイル名がパスを含まない（フルパスでない）時は、
　　そのファイルランダム指定ファイルのあるフォルダ内のファイルを検索する。
　　　参考にサンプルファイル(FILE_RND.txt)を添付します。

　(6)ワードランダム指定
　　　指定されたデータファイルに列記された各行の単語を乱数で選択して、
　　約２分間発音します。(練習時間は環境設定で変更できます）
　　　参考にサンプルファイル(WORD_RND.txt)を添付します。

　(7)文字ランダム指定
　　　指定されたデータファイルの先頭行の文字列から乱数で文字を選択して、
　　５文字づつの単語にして約２分間発音します。
　　　参考にサンプルファイル(CHAR_RND.txt)を添付します。

　(8)行ランダム指定
　　　指定されたデータファイルに列記された各行の文を乱数で選択して、
　　発音します。
　　　参考にサンプルファイル(LINE_RND.txt)を添付します。

　※網羅乱数アルゴリズム
　　ファイルランダム，ワードランダム，行ランダムの受信練習モードでは、
　　定義数が1024個以下の時には、全てが１度づつ重複せずに網羅して出現する
　　特殊な乱数アルゴリムを採用しています。 (Rev2.54以降）


■ データファイル記述の規則

《一般規則》
　・データファイルは、UTF-8(BOM付)で記述する。
　・';'及び'//'で始まる行はコメント行として無視する。
　・';|'で始まる行はメッセージ文字として画面に表示する。
　・欧文／和文の文字は混在して記述可能です。
　・'#'で始まる行は練習モードを指定します。この行の記述があると、
　　データファイルの読込み時に、受信モードを自動的に設定します。
　　　　#TextFile　　… テキストファイル指定（省略時）
　　　　#FileRand　　… ファイルランダム指定
　　　　#FileWord　　… ワードランダム指定
　　　　#FileChar　　… 文字ランダム指定
　　　　#FileLine　　… 行ランダム指定

《テキストファイルでの規則》
　・記述できる文字は付録１に示す文字の半角文字が基本。全角で記述も可。
　・[BT]や[AR]のように[]で囲まれた文字は文字間隔をとらずに連続して
　　発音します。
　・改行文字('\n')を読み込むと１秒間の間隔をとります。

《データファイル中でのヰヱ文字の扱い》
　データファイルは半角文字で記述が基本ですが、ヰヱ文字の記述も大丈夫。
従来互換として下記のように代替え文字で記述も可能。
　・ヰ…'`'　（JISキーボードでは'@'キーをSHIFTして入力）
　・ヱ…'~'　（JISキーボードでは'^'キーをSHIFTして入力）


■ データファイルの設定方法
　データファイルを指定する方法には、以下の方法があります。
　但し、どの方法によってもファイル名を設定するだけで発音は開始しません。
発音は［スタート］ボタンにより開始します。

　(1)キーボード入力
　　［データファイル］の欄をマウスクリックして、キーボードからファイル
　　名を直接入力します。

　(2)プルダウンリストから選択
　　［データファイル］のプルダウンリストには最近選択されたファイルが
　　記憶されています。この一覧の中からファイルを選択する。
　　※プルダウンリストに記憶したファイル名は、プログラム終了で忘れます。

　(3)ファイル一覧から選択
　　［ファイル選択］ボタンを押すとファイル一覧のウインドウを表示します。
　　この一覧の中からファイルを選択する。

　(4)ファイル名のドラッグ＆ドロップによる選択
　　エクスプローラ等で表示されたファイル名をCWTWのアイコン又はウインドウ
　　にドラッグ＆ドロップする事で選択する。


送信練習モード
　送信練習モードのエレキーモードでは、以下の入力が電鍵キーに対応します。
縦振キーモードの場合は、短点のキーが対応します。

《キーボード入力》
　　　短点：[Shift]キー 又は [ALT]キー
　　　長点：[Ctrl]キー
《RS-232Cポート》
　　　短点：ＤＳＲ入力信号
　　　長点：ＣＴＳ入力信号
《ｼﾞｮｲｽﾃｨｯｸ》
　　　短点：Ａボタン
　　　長点：Ｂボタン


電鍵との接続
　本プログラムではRS-232Cのコネクタに電鍵を接続する事で、電鍵を使用したモ
ールス通信の練習を行う事ができます。電鍵を使用する場合は【環境設定】画面
の打鍵設定で、電鍵を接続するRS-232Cポートを指定してください。
　尚、接続の対応はDOS版のCWTと完全互換です。

［縦振キー］
(1-1)DOS/V
　9ﾋﾟﾝのD-SUBコネクタ(雌側)を入手し4ﾋﾟﾝ(DTR)と6ﾋﾟﾝ(DSR)に電線をハンダ付け
して、その２本の線に電鍵を接続します。
(1-2)PC-98
　25ﾋﾟﾝのD-SUBコネクタ(雄側)を入手し20ﾋﾟﾝ(DTR)と6ﾋﾟﾝ(DSR)に電線をハンダ付
けして、その２本の線に電鍵を接続します。

［エレキー］
(2-1)DOS/V
　9ﾋﾟﾝのD-SUBコネクタ(雌側)を入手し4ﾋﾟﾝ(DTR)を共通端子に、6ﾋﾟﾝ(DSR)を短点
端子に、8ﾋﾟﾝ(CTS)を長点端子に電線をハンダ付けして、その３本の線に電鍵を接
続します。
(2-2)PC-98
　25ﾋﾟﾝのD-SUBコネクタ(雄側)を入手し20ﾋﾟﾝ(DTR)を共通端子に、6ﾋﾟﾝ(DSR)を短
点端子に、5ﾋﾟﾝ(CTS)を長点端子に電線をハンダ付けして、その３本の線に電鍵を
接続します。


リグ(無線機)との接続
　送信アシスト機能では、キーＯＮ時のビープ音と同時にRS-232Cﾎﾟｰﾄに信号出力
します。この信号をリグに接続する事で、打鍵内容をパソコン画面に表示しなが
ら交信する事もできます。

(1)DOS/V
　5ﾋﾟﾝ(GND)と7ﾋﾟﾝ(RTS)をリグの電鍵キー入力(縦振キー用)に接続します。
(2)PC-98
　7ﾋﾟﾝ(GND)と4ﾋﾟﾝ(RTS)をリグの電鍵キー入力(縦振キー用)に接続します。

　出力信号はRS-232Cﾚﾍﾞﾙで、GNDﾋﾟﾝとRTSﾋﾟﾝ間にキーON時に約｢+10V～+12V｣、キ
ーOFF時に約｢-10V～-12V｣の電圧が出力されます。通常RS-232Cポートの出力電流
は最大4mA程度までです。
　この信号をリグ側の縦振キーの入力に接続しますが、そのままでは接続できま
せんので、若干のインタフェース回路が必要となります。一番、安全なのはフォ
トカプラのようなものでインタフェースしてリグとパソコン間を絶縁する事です
(ﾄﾗﾝｼﾞｽﾀ回路等だけで絶縁しなくても接続は可能)。
　フォトカプラの場合は、RTSﾋﾟﾝの出力電流を配慮して設計してください。外部
電源を使用せず、直接駆動するのであれば、低入力電流のフォトカプラを選択す
る必要があります。(4mA以下で駆動できる素子を選択。東芝のTLP624ｼﾘｰｽﾞが順方
向電流If=1mAで設計できますので使用可能です)
　具体的な回路例は示しませんが、簡単な回路ですので利用する側で工夫して設
計してみてください。


■ 使用上の留意点及び注意事項
　・Wave音では、特に送信練習の発信音が切れる時に、ブツ音などのノイズが
　　発生する場合があります。これはWindowsの仕様なのか、今のところ回避
　　する手段が見つかっていません。今後とも改良を続けていきますが、
　　気になる場合にはBEEPやMIDI音の設定でご利用ください。
　・Wave音での発音中に他のｳｨﾝﾄﾞｳに切り換えると発信音は止まります。
　・Wave音では、低速のCPUの場合にはﾉｲｽﾞが発生する場合があります。
　・発音中にディスクアクセス等が重なると音が途切れる事がありますが、
　　異常ではありません。（Windowsの仕様です）
　・発音中に不用意な場所をマウスクリックしたり、キー入力をすると表示
　　画面が乱れる事があります。
　・電鍵は必ず極性のない接点出力のものを使用してください。
　　又、電鍵をパソコンに接続する際の配線等の作業は、使用者の責任で十分
　　に気を付けて行ってください。もし、パソコンや機器を破損しても当方は
　　いっさい責任を負いません。
　・打鍵練習モードでは打鍵スピードは自動認識して追従していきますが、
　　プログラムが起動された直後の最初の１文字は、まだスピードを検出
　　できていないためモールス符号が正しく認識されない場合があります。
　・和文／欧文モードの「自動」が指定された時は、[ﾎﾚ]の打鍵で和文モード
　　に、[ﾗﾀ]の打鍵で欧文モードに自動的に切り替わります。


■ 動作確認機種及び開発環境
　・Windows10 Pro(64bit) バージョン1909
　・Embarcadero C++Builder Community Edition 10.3


■ 出典及び参考文献
　・「HAMLAND CW入門ハンドブック」    JAIA 日本ｱﾏﾁｭｱ無線機器工業会
　・「HAMLAND CW入門 CD」             JAIA 日本ｱﾏﾁｭｱ無線機器工業会
　・「電波法令抄録」                  日本ｱﾏﾁｭｱ無線連盟(CQ出版社)
　・「３級国試編」(CQﾓｰﾙｽｶｾｯﾄ･ｼﾘｰｽﾞ)  CQ出版社
　・「２級国試編」(CQﾓｰﾙｽｶｾｯﾄ･ｼﾘｰｽﾞ)  CQ出版社


■ ライセンスについて
　本プログラムは、オープンソースソフトウェアで「MITライセンス」に準じます。
同梱の "License.txt" ファイルを参照ください。


■ 免責
作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、
ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の
扱いによって生じる一切の請求、損害、その他の義務について何らの責任も
負わないものとします。


■ 謝辞
　本プログラムを作成するにあたり、特にいろいろアイデアやアドバイスを頂い
たり評価して頂いた 末本氏(ｺｰﾙｻｲﾝ:JJ4EVK)、及びDOS版のCWTの開発に協力して
頂き、基礎となるアイデアを頂いたT.Kubota氏に感謝致します。
　また、サンプルのデータファイルを提供くださった、合田清志様(JG1VMD)、
亀山豊秀様、ご協力頂き誠にありがとうございます。

　　　　　　　　　　　　　　　　　　　　　　　　　 Writen by JR4QPV


■ 付録１　サポートしているモールス符号
　(1)欧文モード
    ・文字　　A～Z
    ・数字　　0～9
    ・記号　　. , : ? ' - ( ) / " @
    ・その他　[HH] [BT] [AR] [AS] [VA]

　(2)和文モード
    ・文字　　ｱ～ﾝ,ヰ(`),ヱ(~)
    ・数字　　0～9
    ・記号　　ｰ ､ ｣ ( )
    ・その他　[ﾎﾎ] [ｳｳ] [ﾎﾚ] [ﾗﾀ]

　　　※[]は連続文字を表します。


■ 付録２　キーボード入力練習での特殊キー
　　・[F1]～[F10]　　キーボードメモリ文字列の発音
　　・[F12] [Home]   テキストファイルの発音
　　・[カタカナ]     カナモードに切り換え
　　・[英数]         英数モードに切り換え
　　・[PageUp]       '['
　　・[PageDn]       ']'
　　・'`'            ヰ
　　・'~'            ヱ

　　※環境設定のキーボードメモリの定義では、'#'文字は改行と扱います。


■ 付録３　送信練習での特殊キー
　　・[カタカナ]     カナモードに切り換え
　　・[英数]         英数モードに切り換え
　　・[SHIFT],[ALT]  短点
　　・[CTRL]         長点


■ 付録４　実行ファイルの内容
　　Readme.txt　　　… 一般説明
　　License.txt　　 … ライセンスについての説明
　　CWTW-Pro.txt    … プログラム説明ドキュメント（本ファイル）
　　CWTW-Pro.exe    … プログラム本体
　　<DATA>
　　  SAMPLE1.txt
  　　　　～        … 受信練習モード(ﾃｷｽﾄﾌｧｲﾙ)用のサンプルファイル
  　　SAMPLE9.txt
  　　FILE_RND.txt  … 受信練習モード(ﾌｧｲﾙﾗﾝﾀﾞﾑ)用のサンプルファイル
  　　WORD_RND.txt  … 受信練習モード(ﾜｰﾄﾞﾗﾝﾀﾞﾑ)用のサンプルファイル
  　　CHAR_RND.txt　… 受信練習モード(文字ﾗﾝﾀﾞﾑ)用のサンプルファイル
  　　CHAR2RND.txt　… 受信練習モード(文字ﾗﾝﾀﾞﾑ,重複指定)用のサンプルファイル
  　　LINE_RND.txt　… 受信練習モード(行ﾗﾝﾀﾞﾑ)用のサンプルファイル
　　　<CWT001>　　　… 合田清志様 ご提供サンプル(電報形式)
　　　<CWT002>　　　… 亀山豊秀様 ご提供サンプル(和文初歩練習用)
　　　<CWT003>　　　… 亀山豊秀様 ご提供サンプル(和文練習テキスト)
　　　<CWT004>　　　… 亀山豊秀様 ご提供サンプル(欧文練習テキスト)
　　　<CWT005>　　　… 亀山豊秀様 ご提供サンプル(徒然草和文練習テキスト)
　　　<CWT006>　　　… 亀山豊秀様 ご提供サンプル(欧文初歩練習用)


■ 付録５　改版履歴
-- CWTW -------------------------------------------------------------
《Rev1.00β 1997/07/16》　…試食版（暫定配布）
《Rev1.00 　1997/07/25》　…初版公開
《Rev1.10 　1997/08/19》
　・BEEP音のサポート。
　・キー入力受信練習モードのサポート。
《Rev1.11 　1997/08/23》
 ・ｼﾞｮｲｽﾃｨｯｸが未接続の時にエラー発生するバグ修正(^^;)。
　（情報を頂いた JH3HOA ｸﾏｺﾞﾛｳさん TU）
-- CWTW-Pro ----------------------------------------------------------
《Rev2.00 　1997/12/14》  …CWTW-Proと名称変更してシェアウェア化
 ・シェアウェア化に伴う送金登録関係処理の追加。
 ・送信練習モードのサポート。　　
 ・練習モードの保存機能の追加。
 ・小文字表示，符号表示の機能追加。
 ・表示文字のフォント指定の機能追加。
 ・環境設定情報は全てﾚｼﾞｽﾄﾘに保存するように変更。
 ・経過時間を表示する機能の追加。
 ・受信練習モードのデフォルトを乱数暗文に変更。
 ・練習停止せずに終了した時に、発信音が鳴りっぱなしとなる不具合回避。
 ・最大化した時のｳｨﾝﾄﾞｳｻｲｽﾞを制限する処理を削除。
《Rev2.10 　1998/08/17》
 ・デフォルトの表示フォントを「ＭＳゴシック」に変更。
 ・練習モード保存時は、メインフォームの位置を記憶する機能追加。
 ・DirextX(Direct Sound)によるWAVE音源に対応。
 ・受信練習に行ランダムのモードを追加。
 ・最小化して復帰した時にﾒｲﾝ画面の速度設定が初期値に戻る不具合修正。
 ・ツールバーのサポート等、画面レイアウトの見直し。
 ・ファイル編集でメモ帳を呼び出す機能を追加。
《Rev2.20 　1998/06/06》
 ・ウィンドウサイズ変更に対応できるようにメイン画面レイアウトの見直し。
 ・和文の'(',')'の符号を発音しなかった不具合の修正。それに伴い、
   受信練習モードでの、[ﾎﾚ],[ﾗﾀ]での和文･欧文の自動切替えをサポート。
 ・キーボード入力練習を拡張し、キーボードメモリ機能を追加。
《Rev2.30 　2003/10/17》
 ・C++ Builder5でリコンパイル。
 ・NEC PC-98は動作確認が困難になってきたので、正式な動作対象から外した。
  （でも、たぶんまだ動くと思う）
 ・GIVEIO.SYSに対応し、NT系OS(Windows2000/XP)でBEEP音が鳴らせるように対応。
 ・受信練習中に速度変更した時に、STOPが効かなくなる不具合の回避。
 ・テキストファイル中の";|"以降の文字をコメントとしてを画面表示する機能追加。
 ・ﾌｧｲﾙ編集や閲覧操作をするとｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘが移動して、以降のﾌｧｲﾙ編集などができな
   くなる不具合の修正。(Env->DataDirがフルパスでセットされてなかった）
 ・スタートとストップボタンのアイコン変更。
 ・ヘルプメニューに「ホームページ表示」機能の追加。
《Rev2.40 　2003/11/27》
 ・和文モードで'ヰ'と'ヱ'の文字対応。（'`'と'~'文字で代替え記述）
 ・練習画面をRichEdit→Memoコンポーネントに変更。
 ・練習画面ファイル保存と練習画面クリア機能の追加。
《Rev2.50 　2004/04/30》
 ・[ｳｳ]を判定しない不具合修正(符号テーブルが誤り0x0696→0x0596)
 ・ENTERとESCキーで開始／停止ができるように修正。
 （ｷｰﾎﾞｰﾄﾞ入力練習で、入力した文字が２回表示されてた不具合回避）
 ・コメントメッセージ行を表示する／しないモードを環境設定で選択できる
 　ように機能追加。
 ・[記号含む]指定の追加。
 ・表示文字数をステータスバーに表示するようにした。
 ・CWTW-Proで受信練習のみはフリーで利用できるように、ライセンス確認ダイアログ
 　は送信練習を選択した時に表示するようにした。
 ・CWT001(合田清志様ご提供),CWT002(亀山豊秀様ご提供),CWT003(亀山豊秀様ご提供)
 　のサンプルデータ追加。
《Rev2.51 　2004/05/14》
 ・環境設定の音程設定で18Hz以下は設定できないようにした。(16Hzはｴﾗｰ発生する)
 ・乱数暗文で濁点(゛)と半濁点(゜)を付加する文字を判別するようにした。
 ・ｲﾝｽﾄｰﾙ時と実行時の日付ﾌｫｰﾏｯﾄ(ｺﾝﾄﾛｰﾙﾊﾟﾈﾙで設定できる)が異なる時に、
 　TDateTimeへの変換で例外が発生してプログラムが終了する不具合の回避。
 ・乱数暗文時(欧文）の区切り文字数を環境設定で指定できるようにした。
 ・CWT003(亀山豊秀様ご提供)のサンプルデータの一部修正＆追加。
《Rev2.52 　2004/05/28》
 ・乱数暗文での濁点(゛)と半濁点(゜)文字の乱数発生の不具合修正。
 ・環境設定に受信設定のタブを追加し、練習時間設定と改行時間設定を追加。
 ・乱数暗文(欧文)で区切ランダムモードの機能を追加。
 ・乱数暗文で、和文区切文字指定の機能を追加。
 ・一時停止ボタンの機能を追加。
 ・ファイルランダムで、ファイル中に記述のファイル名が、パスを含まない
  （フルパスでない）時は、そのランダムファイルのあるフォルダのファイルを
   検索するように変更。
 ・CWT003(亀山豊秀様ご提供)のサンプルデータの一部追加。
 ・CWT004(亀山豊秀様ご提供)のサンプルデータ追加。
 ・ステータスバーのファイル名表示は、枠を超える時は短縮表示するようにした。
 ・RS232CのCOMポートのリスト値にCOM4～8の定義を追加。
 ・環境設定に"フォルダ"のタブを追加し、データディレクトリの指定をＧＵＩで
 　設定できるようにした。
《Rev2.53 　2005/01/04》
 ・新追加符号'@'(･--･-･)に対応。（2004/05/03公布）
 ・環境設定に「ｳｨﾝﾄﾞｳ位置/ｻｲｽﾞ保存」のモードを追加。
　(SHIFT+CTRLを押しながら起動した時には、ﾃﾞﾌｫﾙﾄの位置/ｻｲｽﾞで起動)
 ・CHAR2RND.TXTのサンプルデータ追加(出現頻度の多い文字の重複指定例)。
 ・イーバンクによる送金口座の記述をlicense.txtに追加。
《Rev2.54 　2005/02/15》
 ・環境設定のフォントの太字と斜体の設定を保存できるようにした。
 ・受信練習のリピート機能を追加。
 ・ﾗｲﾝﾗﾝﾀﾞﾑ,ﾜｰﾄﾞﾗﾝﾀﾞﾑ,ﾌｧｲﾙﾗﾝﾀﾞﾑの乱数ｱﾙｺﾞﾘｽﾞﾑの改良。（1024個以下の時には、
 　全てが１度づつ重複せずに網羅して出現するようにした）
《Rev2.55 　2005/02/22》
 ・ENTERキーで練習開始した時に、「読み込み違反」エラーが発生する不具合の修正。
 ・送信練習モード時、[カタカナ]キーで"カナモード"に、[英数]キーで"英数モード"
 　に切り換えるようにした。
 ・送信練習モード時、[SHIFT]キーの代わりに[ALT]キーも使えるようにした。
 ・データファイル中の全角文字を、非完全ながら判読できるようにした。
　（濁点及び半濁点文字が未対応）
《Rev2.56 　2006/02/19》
 ・CWT005(亀山豊秀様ご提供)のサンプルデータ追加。
 ・CWT006(亀山豊秀様ご提供)のサンプルデータ追加。
 ・RS通信ポートのオープンと同時に、RTS信号をOFFにする処理を追加した。
　 （送信練習開始時に、RTS信号が一瞬出力される不具合の軽減）
 ・送信練習時のキー入力がない時の自動改行の動作モード（なし,短,中,長）の
　 指定を環境設定に追加した。（従来の動きは｢短｣で同等）
 ・license.txtに記述の銀行口座は、イーバンク口座に統一し従来の広銀を削除。
　（2006年1月より、一般銀行からイーバンク口座への振り込みが可能となった為）
《Rev2.56 　2020/01/25》
　・登録キーワードを公開し、送信機能もフリーで利用できるようにした。
-- CWTW-Pro open source version --------------------------------------
《Rev3.00 　2020/02/05》
 ・コンパイル環境を「C++Builder Community Edition 10.3」に移行しソース公開。
 ・内部処理言語コードをUnicodeへ変更対応。
 ・入力ファイルの文字コードはUTF-8(BOM付)に変更。（ヰヱ文字記述にも対応）
《Rev3.01 　2020/02/07》
 ・符号表示に設定した時に文字化けするバグ修正。
 ・サンプルデータのファイル名記述を".txt"に修正。
