======================================================================
                             wdic-fpw1.4
                  FreePWING 版「通信用語の基礎知識」
======================================================================

                                Copyright (C) 2000-2004, rei@wdic.org.

■ 概要

  wdic-fpw は、おかの☆まりも氏を中心として編纂されている「通信用語の
  基礎知識」を、笠原基之氏による FreePWING スクリプトを使用して JIS X
  4081 形式の書籍データに変換するための Perl スクリプト群です。このス
  クリプトの実行には、FreePWING 1.4.3 (以降) と Jcode.pm が必要です。

  変換済みの書籍データを入手された方は、このファイルの内容を理解する必
  要はありません。FreePWING 版データの概要については、readme.txt およ
  び書籍データに収録されているメニューを参照してください。

■ 収録ファイル

* 変換済み書籍データ wdic-fpw1.4.zip

  wdic-fpw1.4.zip は、一部の文字を外字で表現し (GAIJI = 2)、画像と一部
  のプラグインを埋め込んだバージョンです。変換時間と容量の関係から、外
  字を使わないバージョンの配布は停止しました。

  + wdic/
    - readme.1st            このファイル
    - readme.txt            Readme ファイル (メニューにも収録済み)
    - catalogs              Catalogs ファイル
    - wdic/data/honmon      本文データ
    - wdic/gaiji/gai16h     外字データ

* ソース コード (wdic-fpw1.4-src.tar.gz)

  + wdic-fpw1.4
    - readme.1st            このファイル
    - readme.txt            書籍に収録される Readme ファイル
    - Makefile              GNU make 用 Makefile
    - COPYING               GNU General Public License
    + src/
      - detlang.pl          Makefile で使用するスクリプト
      - bmpdepth.pl         Makefile で使用するスクリプト
      - wdic-fpw.pl         メイン スクリプト
      - wdic-body.pl        本文の処理
      - wdic-menu.pl        メニューの構築
      - wdic-reform.pl      文字列の整形
      - Wdic.pm             元データの操作
      - catalogs1.txt       catalogs.txt のソース
      - catalogs2.txt       catalogs.txt のソース
      - halfchar1.txt       半角外字定義ファイル
      - halfchar2.txt       半角外字定義ファイル
    + gaiji/
      + 1/
        - *.xbm             外字ビットマップ (GAIJI = 1)
        - *.bmp             外字ビットマップ (GAIJI = 1)
      + 2/
        - *.xbm             外字ビットマップ (GAIJI = 2)
        - *.bmp             外字ビットマップ (GAIJI = 2)

■ ソース コードの利用条件と注意事項

  wdic-fpw は、Free Software Foundation が公表した GNU General
  Public License (GNU 一般公有使用許諾) バージョン 2 以降のいずれかを
  選択し、そのバージョンが定める条項に従って、このプログラムを再頒布ま
  たは変更することができます。頒布にあたっては、市場性及び特定目的適合
  性についての暗黙の保証を含めて、いかなる保証も行いません。

  wdic-fpw は、Win32 環境で開発およびテストされています。他のプラット
  フォームでの動作については、openlab の edict ML
  <http://openlab.ring.gr.jp/edict/> にてご報告をいただいています。興
  味のある方はご参加ください。

  wdic-fpw1.4 は、基本的に「通信用語の基礎知識 2004 年後期版」専用です。
  それ以外のバージョンでの動作は保証できません。

■ 依存ファイルの入手先

* 必須のファイル/ツール (プラットフォーム非依存)

  通信用語の基礎知識 -- http://www.wdic.org/
  FreePWING -- http://www.sra.co.jp/people/m-kasahr/freepwing/
  Jcode.pm -- http://openlab.ring.gr.jp/Jcode/

* 開発環境で使用したツール (Windows)

  ActivePerl -- http://www.activestate.com/Products/ActivePerl/
  djpeg -- http://www.ijg.org/
  png2bmp -- http://hp.vector.co.jp/authors/VA010446/b2p-home/
  yPadie -- http://member.nifty.ne.jp/~satomii/software/ypadie/
  Cygwin -- http://sources.redhat.com/cygwin/

■ FreePWING 版の仕様

  FreePWING 版「通信用語の基礎知識」には、次のデータが収録され (てい)
  ます。

* 辞書ファイル (*.DIC)

  - 変換時に指定したディレクトリに存在する辞書ファイルだけが収録されま
    す。

  - 完全/前方/後方一致検索の検索語として、各用語の見出し語、読み、英語
    表記が登録されます。

  - 以下の用語が存在すれば、検索条件キーワードとして登録されます。ただ
    し、FreePWING 辞書の条件検索は、多くの辞書検索ソフトウェアでは正し
    く機能しません。期待どおりに検索できるソフトウェアは、最新の EB ラ
    イブラリを使用したもの (eblook など) と DDwin あたりに限られると思
    います。

      1. 所属するグループ名、辞書名 (拡張子を除いたファイル名部分)
      2. 読みに含まれる各単語 (単語区切りが見つかった場合)
      3. 英語名に含まれる各単語
      4. ディレクトリ名 (/TECH/ORG/... など)
      5. 関連語 (→◆★)

  - 用語の定義部分は適当に整形されます。一部の 2 バイト (全角) 文字は
    1 バイト (半角) に変換され、日本語/英単語間の空白も調整されます。
    整形ルーチンはそれほど検証していないので、不適切な部分がありました
    らご指摘いただければと思います。

  - 用例、コラムは原文のまま書き込まれます。改行位置も保持されます。

  - 参照語については、参照先の用語が変換対象になっていれば、クロスリ
    ファレンスとして書き込まれます。それ以外の用語や URL、プラグインは、
    通常のテキストとして書き込まれます。

  - 変換時に指定されていれば、画像と一部のテキスト形式のプラグインが収
    録されます。

* ドキュメント類

  - FreePWING 版のドキュメントとして、このパッケージに含まれている
    readme.txt がメニューに収録されます。

  - オリジナルのドキュメントとして、WDICALL.MAN もメニューに書き込まれ
    ます。WDICALL.MAN の本文部分は適当に整形されます。また、
    WDICALL.MAN の一部のセクションから著作権エントリが作成されます。

  - 各辞書グループのマニュアル ファイル (*.MAN) が存在する場合は、その
    中から「基礎文献」セクションがメニューに収録されます。

  - QUESTION.TXT が存在すれば、そのままメニューに追加されます。

* タグ ジャンプ テーブル (*.TAG)

  - タグ ジャンプ テーブル ファイルが存在する場合は、グループ別収録語一
    覧がメニューに追加されます。

* ディレクトリ定義ファイル (DIR.LST)

  - DIR.LST ファイルが存在する場合は、ディレクトリ別収録語一覧がメニュー
    に追加されます。

■ 変換方法

1. FreePWING 1.4.3 (以降) が動作可能で、かつ Jcode.pm がインストールさ
   れていることが前提です。それ以前の FreePWING での動作は確認していま
   せん。Windows 環境の方は、UNIX と同等の基本コマンド群が必要になりま
   す (FreePWING のインストールができていれば大丈夫でしょう... 多分)。
   その他、Perl モジュールが足りないなどと言われた場合は適宜インストー
   ルしてください。

2. オリジナルの辞書データを入手し、適当な場所に展開します。既定では、
   ./wdic042 ディレクトリから辞書を読み込むように Makefile が記述され
   ています。このディレクトリは Makefile 中の WDICDIR で変更可能です。

3. 必要であれば Makefile を編集し、お使いの環境や好みに合わせて変数を
   定義/変更してください。コマンドラインから指定してもかまいません。
   カスタマイズ可能な変数については、次のセクションを参照してください。

   プラグインを収録するときは、yoshigyu.txt の漢字コードを確認しておく
   ことをお勧めします。元データのバージョンによっては、このファイルが
   UTF-16-le (+BOM) でエンコードされていて、Jcode.pm で正しく変換でき
   ないことがあります。この場合は、Shift_JIS など、Jcode.pm で扱える漢
   字コードに変換しておいてください。

4. GNU make を使って make します。かなりの時間がかかりますので覚悟して
   ください。

  wdic-fpw.pl のオプションの詳細は、pod2man などで参照できます。

  オリジナルの辞書ファイルのいずれかが欠けている場合、存在しない辞書は
  無視されます。ただし、readme.txt およびオリジナルの WDICALL.MAN は必
  須です。readme.txt はカレント ディレクトリに、WDICALL.MAN は元ファイ
  ルのあるディレクトリ (WDICDIR) に置いてください。

  辞書グループを正しく処理するためには、WDICDIR の指すディレクトリに
  FILE.GL および *.WLF ファイルが必要です。これらのファイルが存在しな
  いと、不適切なグループ名が出力される場合があります。

  変換中、対象となる元ファイル群は移動、削除、編集しないようにしてくだ
  さい。特にロックなどはかけていないため、途中でファイルが変更されると
  変換に失敗するはずです。

■ カスタマイズ可能な Makefile 変数

WDICDIR

  オリジナルの辞書ファイルのあるディレクトリ。wdic-fpw は、ここで指定
  されたディレクトリからソース ファイルを探します。

PLUGINDIR

  オリジナルのプラグイン ファイルのあるディレクトリ。このディレクトリ
  から、画像 (.jpg および .png ファイル) および一部のテキスト形式のプ
  ラグインを検索します。BMPDIR、JPG2BMP、PNG2BMP も定義されていれば、
  オリジナルの画像形式から DIB への変換が行われます。

  注 : パフォーマンスの問題から、生成済みの DIB ファイルと元の画像ファ
       イルの比較は、cgraphs.txt の作成時にのみ行われます。DIB ファイ
       ルを再作成するには、cgraphs.txt を削除してください。

  この変数を未定義にすると、テキスト形式のプラグインは収録されなくなり
  ますが、画像の収録が無効になるとは限りません。画像を収録しないように
  するには、BMPDIR を未定義にしてください。

BMPDIR

  DIB に変換されたプラグイン ファイルを格納するディレクトリ。この変数
  が定義されていない場合、プラグイン画像の収録は行われません。
  PLUGINDIR、JPG2BMP、PNG2BMP が未定義で BMPDIR が定義されている場合は、
  BMPDIR 内の DIB ファイルが直接使用され、PLUGINDIR の画像は参照されな
  くなります。この場合、各 DIB ファイルには、<拡張子を含む元ファイル名
  >.bmp (foo.jpg.bmp、bar.png.bmp など) という名前を付けておく必要があ
  ります。

JPG2BMP、JPG2BMP_FLAGS、JPG2BMP_OUTPUT_FLAG

  JPEG 形式のプラグイン ファイルを DIB に変換するためのコマンド名およ
  びオプション スイッチ。JPG2BMP が定義されていない場合は、JPEG ファイ
  ルの変換を行いません。出力ファイル名をオプション スイッチとして指定
  する必要がある場合は、JPEG2BMP_OUTPUT_FLAG を定義してください。それ
  以外のスイッチは JPG2BMP_FLAGS に定義します。実際のコマンドは、
  JPG2BMP_OUTPUT_FLAG が定義されているかどうかによって、次のいずれかの
  形式で実行されます。

    ${JPG2BMP} ${JPG2BMP_FLAGS} INPUT.jpg OUTPUT.jpg.bmp
    - または -
    ${JPG2BMP} ${JPG2BMP_FLAGS} \
               ${JPG2BMP_OUTPUT_FLAG} OUTPUT.jpg.bmp INPUT.jpg

PNG2BMP、PNG2BMP_FLAGS、PNG2BMP_OUTPUT_FLAG

  PNG 形式のプラグイン ファイルを DIB に変換するためのコマンド名および
  オプション スイッチ。指定方法は JPG2BMP と同じです。PNG2BMP が定義さ
  れていない場合は、PNG ファイルの変換を行いません。

BMPQUANT、BMPQUANT_FLAGS、BMPQUANT_OUTPUT_FLAG

  変換された DIB ファイルを減色するためのコマンド名およびオプション ス
  イッチ。指定方法は JPG2BMP と同じです。BMPQUANT が定義されていない場
  合は、減色用のコマンドを実行しません。

CHARSET

  メッセージの出力や catalogs.txt の生成に使われる漢字コードを指定しま
  す。未定義の場合、環境変数 LANG から自動判定を試みます。判定できなけ
  れば未定義のままになります。

BULLET

  各エントリの説明文の先頭に追加する文字 (列) を指定します。オリジナル
  の辞書では '・' に相当します。デフォルトは '◇' です。デフォルト値を
  変更する場合、漢字コードは意識せずに文字 (列) そのものを指定してくだ
  さい。エスケープ シーケンスは解釈されません。

GAIJI

  半角外字を使用するかどうかを指定します。オリジナルの辞書の特性を尊重
  するため、既定で外字を使用するようになっています。

    0 : 外字を一切使用しません。いわゆる半角カタカナと '\' は 2 バイト
        文字に変換されます。
    1 : 外国語表記の一部と発音記号を外字で表現します。
    2 : 外国語表記の一部、発音記号、半角カタカナ、および '\' を外字で
	    表現します (既定値)。

■ 既知の問題

* UNIX (FreeBSD?) 版 LHA のバージョンによっては、オリジナルの辞書ファ
  イル名を (デフォルトで、または強制的に) 小文字に変換してしまうものが
  あるようです。wdic-fpw1.2 以降ではこのようなケースも考慮したつもりで
  すが、私の環境ではテストできないため、辞書ファイル群の解凍時には元の
  ファイル名 (大文字) を保持するオプションを使用することをお勧めします。
  万一この仕様が原因で期待どおりに変換されない場合は、*.DIC、*.TAG、
  WDIC.MAN ファイルの名前をすべて大文字に変更してください。

* 少なくとも ActivePerl build 522 では、CORE::glob および
  File::DosGlob::glob で既存のファイルが見つからない場合があることが確
  認されています (書き方が悪いだけかもしれませんが)。一部は -f を併用
  して対処しましたが、ほかの箇所でも同様の問題が発生する可能性が残って
  います。これが原因でファイルが見つからないと思われる場合は、ファイル
  名の大文字/小文字がオリジナルと同一であることをご確認の上、作者まで
  ご連絡ください。

■ 開発環境

  Windows 2000 Professional
  ActivePerl Build 635
  FreePWING 1.4.3
  Jcode 0.86
  djpeg version 6b
  png2bmp 1.52
  yPadie 1.0.1
  Cygwin 1.5

■ 更新履歴

2004-07-06

   * wdic-fpw1.4 作成。2004 年後期版用。
   * Jcode.pm が Shift_JIS 文字列を UTF-8 として誤認識する問題に対処。
   * 細かいバグ修正。

2002-08-02

   * wdic-fpw1.3c 公開。2003 年後期版用。
   * 本文の書式を変更。
   * 外国語表記の一部を外字で表現するように拡張。
   * 拡張子のないプラグインもテキストとして収録。
   * メニューに基礎文献一覧と分類別収録語一覧を追加。
   * オリジナルのマニュアルとして、WDIC.MAN ではなく WDICALL.MAN を収録
     するように変更。
   * 空白の挿入方法を大幅に変更。
   * カレント ディレクトリに wdic-fpw.log を作成。
   * その他細かい修正。

2002-12-15

   * wdic-fpw1.3b 公開。
   * メニューが正しく整形されなくなっていたのを修正。
   * 著作権の辞書の生成日時 (月) が間違っていたのを修正。
   * 本文の整形ルーチンを修正。
   * 拡張子 .asm のプラグインも収録するように変更。

2002-08-01

   * wdic-fpw1.3 公開。
   * プラグインの埋め込みをサポート。
   * 各単語エントリにディレクトリ情報を収録、条件検索キーワードとして
     も登録。
   * 前バージョンでメニューが正しく整形されていなかったのを修正。
   * ソート時に濁音、半濁音、促音、拗音を清音として扱い、「・」を無視
     するように変更。

2001-12-17

   * wdic-fpw1.2b-2002-1 (変換済みの書籍のみ) 作成。変換元データとして
     2002 年前期版を使用し、スクリプトには変更なし。

2001-07-26

   * wdic-fpw1.2b 作成。変換元データを 2001 年後期版に変更。
   * src/wdic-fpw.pl: processing-instruction に相当する文字列の扱いを
     修正。
   * src/wdic-body.pl: 見出し語が記号の場合の処理を改善。
   * src/Wdic.pm: 行の連結方法を改善。

2001-01-28

   * wdic-fpw1.2a 公開。Perl 5.6.0 の機能を使用していた点を修正、5.005
     でも動作するようにした。
   * Makefile: CHARSET、NKF の調整。PERLINCFLAGS の追加。
   * src/wdic-fpw.pl: @INC の直接操作を中止。
   * src/wdic-fpw.pl: テキスト整形に関する微調整。発音記号の変換時のバ
     グ取り。

2000-12-02

   * wdic-fpw1.2 公開。コミケ版。2001 年前期版専用のはず。
   * 膨大になりすぎたのでソースを分割。Wdic.pm、wdic-body.pl、
     wdic-menu.pl を追加、ディレクトリ構造を変更。
   * 辞書グループに対応。といっても情報表示と条件検索キーワードの追加
     程度。
   * 用語定義部の整形。文字種の統一とスペースの調整。
   * 発音記号を外字で表現するように拡張。
   * 条件検索キーワードを追加。ただし FreePWING 側に制限あり。
   * メニュー構成の変更と著作権エントリの追加。メニューには収録語一覧
     を追加。
   * 外部ソート コマンドの使用を廃止。
   * その他たくさん山ほどいっぱい。

2000-07-17

   * wdic-fpw1.1b 公開。
   * Makefile: ${GAIJI} の参照を修正。
   * wdic-fpw.pl: 外字を使わない場合にテキストが出力されないバグを修正。

2000-07-17

   * wdic-fpw1.1a 公開。
   * Makefile: catalogs.txt を Makefile で生成するように変更。その他外
     字の採用に伴う変更。
   * wdic-fpw.pl: -h 指定時や初期化失敗時には FreePWING を初期化せずに
     終了するように変更。
   * wdic-fpw.pl: Pod::Usage の使用を中止。
   * wdic-fpw.pl: chomp の使用を中止、正規表現で CR/LF を削除。
   * wdic-fpw.pl: QUESTION.TXT がなくても動作するように変更 (コミケ対
     応)。

2000-06-24

   * wdic-fpw1.1 公開。
   * 2000 年後期版専用として全面的に書き直し。
   * 環境依存部分を極力少なくしたつもり。

2000-03-14

   * 最初のバージョン。かなり Windows 依存。

-- readme.1st ends here --

;;; Local Variables: ***
;;; coding: japanese-shift-jis-dos ***
;;; fill-column: 70 ***
;;; End: ***
