# Copyright (c) 2001 Toshiki Fujisawa <xbible@fujisawa.gr.jp>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

--------------------------------------------------------------------------------
【1】 xbibleについて

  xbibleはヘブライ語旧約聖書の中に含まれているとされる、等距離文字暗号を検
索し、その単語の配置状態を表示するソフトウエアです。
  このソフトウエアはFreeBSD上で開発され、LinuxとWindowsで動作する実行ファイ
ルも生成できるように書かれています。なおWindows用バイナリはFreeBSD上で動作
するフリーのWin32コンパイラである、mingw32(gcc)によってコンパイルされていま
す。

【2】 ライセンス

  各ファイルの冒頭にある条件でライセンスされます。なお、lib_FreeBSDディレク
トリ下にある、_rand48.c lrand48.c rand48.h srand48.c は、FreeBSD-3.3RELEASE
の、libcライブラリソースとして配布されたものです。

【3】 インストール

  まず、wgetコマンドを利用できるように、設定してください。その後、makeを実
行すると、/tmp/tmp-xbible/ ディレクトリが作成され、そこにWebから辞書データ
が自動的にダウンロードされます。そして、自動的にコンパイルが行なわれ、
$(HOME)/bin が存在するときには、そこにxbibleコマンドがインストールされます。
  また、/usr/local/binなどにインストールしたい場合は、ルートになってから
make installを実行してください。

  また、Windows版のxbible.exeを作成するには、mingw32をインストールして、
make win を実行してください。

【4】 使用方法

  シェルのコマンドライン(またはMS-DOSプロンプト)から次のような形式で起動す
ると指定したウインドウ内で全ての単語リストを含んだ暗号表を表示します。

      xbible [オプションリスト]  単語リスト...

  表示は一番最初に指定した単語のスキップ数が小さい順に行なわれます。また、
オプションは下記のとおりです。

 -g               : grep    全文書を検索し位置とスキップ数のみを表示します。
 -G               : Grep    -gと同様ですが指定単語の前後の文字も表示します。
 -r               : random  聖書データの代りに乱数生成テキストを使用します。
 -c {count}       : count   指定した回数分の表を表示します。(デフォルトは1)
 -w {win_size}    : window  ターミナルのウインドウサイズを指定します。
 -n {num_range}   : number  探す単語の検索範囲を指定します。
 -m {match_count} : match   表示する単語の数を指定(制限)します。
 -s {skip_range}  : skip    検索するスキップ数の範囲を指定します。
 -l {line_div}    : line    表示時の行分割数を指定します。
 -o {ofset_disp}  : offset  表示時に上下左右をシフトします。
 
【5】 オプションの例

o {win_size}

   -w80x25      横80桁、縦25行で表示。

   ※ Windows版の、xbible.exe で横幅の長い表を見る場合は、
   ※      C>xbible -w160 xxxx > out.txt
   ※      C>notepad out.txt
   ※ とすると便利です。

o {num_range}   

  -n20000       聖書の先頭から20000文字目のみ検索。
  -n2000-2999   2000から2999文字めまでを検索。
  -n3000+999    3000から2999文字めまでを検索。
  
o {skip_range}

  -s4772        4772のスキップ数のみを検索。
  -s4772-6772   4772から6772のスキップ数を検索。
  -s5772+3000   5772から8772のスキップ数を検索。

o {line_div}

  -l3-l3        3つに分割(改行)して表示。(3行おきに表示)
  -l3:+1        行を3つに分割した文字数+1で改行
  -l3:-1        行を3つに分割した文字数-1で改行
  -l:4772       行を4772文字で改行。

o {offset_disp}

  -o+3+4        横方向に+3、縦方向に+4シフトして表示。

【6】 使用例

   ex1: xbible -G ycxqr
   ex2: xbible -n254245 -s4772 -w78x18 -o-1,+2 ycxqrbyn xcryrsaxcvr

【7】 ヘブライ文字からアスキー文字へのマッピング

  ヘブライ文字からアスキー文字へのマッピングを確認するには、付属の 
heb-conv-disp.sh を実行してください。

【8】 アスキー文字からヘブライ文字へのマッピング

  ヘブライ文字で暗号表を表示するためには、付属のasc2heb-disp.shを下記のよう
に使用してください。
  
  xbible 引数と検索文字列 | sh asc2heb-disp.sh

【9】 仮名文字の表記方法

  日本語のカタカナをヘブライ文字に変換する方法はいくつか存在すると思わます
が、『日本語ヘブライ語小辞典』(ISBN4-89586-010-8)では、カタカナからヘブライ
文字への変換が定義されています。この定義を今回のプログラムで使用したヘブラ
イ文字からアスキー文字へのマッピングを用いて表記したものが下記の表です。
  なお、ヘブライ語は右から左へと表記しますが、下表では左から右へ表記してあ
ります。また今回のマッピングの場合、TとSには大文字と小文字の区別があること
にも注意が必要です。

| ア a | イ ay | ウ av | エ a | オ av |
| カ q | キ qy | ク qv | ケ q | コ qv |
| サ S | シ sy | ス Sv | セ S | ソ Sv |
| タ T | チ cy | ツ cv | テ T | ト Tv |
| ナ n | ニ ny | ヌ nv | ネ n | ノ nv |
| ハ h | ヒ hy | フ pv | ヘ h | ホ hv |
| マ m | ミ my | ム mv | メ m | モ mv |
| ヤ y |       | ユ yv |      | ヨ yv |
| ラ r | リ ry | ル rv | レ r | ロ rv |
| ワ vv|       |       |      |       |
| ン n |       |       |      |       |
| ガ g | ギ gy | グ gv | ゲ g | ゴ gv |
| ザ z | ジ gy | ズ zv | ゼ z | ゾ zv |
| ダ d | ジ dy |       | デ d | ド dv |
| バ b | ビ by | ブ bv | ベ b | ボ bv |
| パ p | ピ py | プ pv | ペ p | ポ pv |

| キャ qy | キュ qyv | キョ qyv |
| シャ s  | シュ sv  | ショ sv  |
| チャ c  | チュ cv  | チョ cv  |
| ニャ ny | ニュ nyv | ニョ nyv |
| ヒャ hy | ヒュ hyv | ヒョ hyv |
| ミャ my | ミュ myv | ミョ myv |
| リャ ry | リュ ryv | リョ ryv |
| ギャ gy | ギュ gyv | ギョ gyv |
| ジャ gy | ジュ gv  | ジョ gyv |
| ビャ by | ビュ byv | ビョ byv |
| ピャ py | ピュ pyv | ピョ pyv |
                                     以上
