FreePWING::FPWUtils::Word2
クラス
FreePWING::FPWUtils::Word2
は、前方一致および後方一致検索
用の検索語一覧を同時に生成するためのクラスです。
以下のメソッドを持っています。
new()
FreePWING::FPWUtils::Word2
クラスのオブジェクトを生成して、
そのリファレンスを返すクラスメソッドです。
open()
close()
add_entry($word, $heading_position, $text_position)
$word
が追加する検索語、
$heading_position
が見出しの位置、
$text_position
が本文の位置です。
見出しと本文の位置は、FreePWING::FPWUtils::Heading
および
FreePWING::FPWUtils::Text
クラスのオブジェクトが持っている
entry_position()
メソッドを使って取得します。
このメソッドは成功すれば 1 を、失敗すれば 0 を返します。
追加する検索語の最大長は 255 バイトです。
file_name()
entry_count()
error_message()
FreePWING::FPWUtils::KeyWord
クラス
FreePWING::FPWUtils::KeyWord
は、条件検索用の検索語一覧を
同時に生成するためのクラスです。
このクラスのオブジェクトが有するメソッドは、
FreePWING::FPWUtils::Word2
クラス
とまったく同じですので、そちらを参照して下さい。
FreePWING::FPWUtils::Text
クラス
FreePWING::FPWUtils::Text
は、本文を生成するためのクラス
です。
以下のメソッドを持っています。
new()
FreePWING::FPWUtils::Text
クラスのオブジェクトを生成して、
そのリファレンスを返すクラスメソッドです。
通常は直接このメソッドを呼び出さずに、fpwutils が提供する
initialize_fpwparser()
サブルーチンを用います。
open()
initialize_fpwparser()
サブルーチンを用います。
close()
open()
メソッドで開いたファイルをすべて閉じます。
成功すれば 1 を、失敗すれば 0 を返します。
開いていなければ何もせず、1 を返します。
通常は直接このメソッドを呼び出さずに、fpwutils が提供する
finalize_fpwparser()
サブルーチンを用います。
new_context()
new_entry()
new_context()
で新たな
コンテキストを開始した直後の一文字もデータを書き込んでいない状態で、
このメソッドを呼んでも、さらに新たなエントリを開始することはしません。
これにより、先頭のエントリに対しては、明示的にこのメソッドを呼んでも
呼ばなくてもどちらでも良いようになっています。
add_text($text)
$text
で指定した文字列を本文に追加します。
文字列は、EUC-JP で書かれていなくてはなりません。
ただし、$text
中に出現する改行文字 (CR および LF) は無視
されます。
このメソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
add_half_user_character($character_name)
add_full_user_character($character_name)
add_half_user_character()
は引数 $character_name
で指定した半角外字を本文に追加します。
同様に add_full_user_character()
は、全角外字を追加します。
$character_name
は、外字定義ファイルの中で定義されている
外字名でなければなりません。
成功すれば 1 を、失敗すれば 0 を返します。
add_entry_tag($tag)
add_entry_tag($tag)
は本文の現在のエントリの先頭位置に
対して、それぞれ $tag
という名前のタグを設定します。
これらのメソッドを呼び出すには、あらかじめ本文ファイルと
参照情報ファイル、タグファイルを開いていなければなりません。
タグ名は本文、メニュー、著作権表示データ内で一意のものでなくては
なりません。
このメソッドは成功すれば 1 を、失敗すれば 0 を返します。
add_keyword_start()
add_keyword_end()
add_keyword_start()
は検索キー開始指定子を、
add_keyword_end()
は検索キー終了指定子を、それぞれ
呼ばれた時点での本文の現在位置に挿入します。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
いずれのメソッドも成功すれば 1 を、失敗すれば 0 を返します。
使用方法に関しては、
読み込んだ見出しの処理、
本文に関する注意点、
修飾指定子
の節もあわせてご覧下さい。
add_reference_start()
add_reference_end($position)
add_reference_start()
は参照開始指定子を、
add_reference_end()
は参照終了指定子を、それぞれ呼ばれた
時点での本文の現在位置に挿入します。
参照先の位置は $position
で指定します。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
使用方法に関しては、
相互参照 の節もあわせてご覧下さい。
add_subscript_start()
add_subscript_end()
add_subscript_start()
は下添え字開始指定子を、
add_subscript_end()
は下添え字終了指定子を、それぞれ
呼ばれた時点での本文の現在位置に挿入します。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
使用方法に関しては、
修飾指定子
の節もあわせてご覧下さい。
add_indent_level($level)
$level
に設定します。
指定できるのは、2 から 6 までの整数です。
また、各エントリ開始時に自動的に 1 に設定されます。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
add_newline()
add_superscript_start()
add_superscript_end()
add_superscript_start()
は上添え字開始指定子を、
add_superscript_end()
は上添え字終了指定子を、それぞれ
呼ばれた時点での本文の現在位置に挿入します。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
使用方法に関しては、
修飾指定子
の節もあわせてご覧下さい。
add_nowrap_start()
add_nowrap_end()
add_nowrap_start()
は分割禁止開始指定子を、
add_nowrap_end()
は分割禁止終了指定子を、それぞれ呼ばれた
時点での本文の現在位置に挿入します。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
使用方法に関しては、
修飾指定子
の節もあわせてご覧下さい。
add_emphasis_start()
add_emphasis_end()
add_emphasis_start()
は強調開始指定子を、
add_emphasis_end()
は強調終了指定子を、それぞれ呼ばれた
時点での本文の現在位置に挿入します。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
使用方法に関しては、
修飾指定子
の節もあわせてご覧下さい。
add_font_start($font_name)
add_font_end()
add_font_start()
は別フォント開始指定子を、
add_font_end()
は同終了指定子を、それぞれ呼ばれた時点での
本文の現在位置に挿入します。
引数の $font_name
として有効な値は、'italic'
(イタリック体を指定) および 'bold'
(ボールド体を指定) の
2 種類です。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
使用方法に関しては、
修飾指定子
の節もあわせてご覧下さい。
add_color_graphic_start($graphic_name)
add_color_graphic_end()
add_color_graphic_start()
はカラー図版参照開始指定子を、
add_color_graphic_end()
は参照終了指定子を、それぞれ
呼ばれた時点での本文の現在位置に挿入します。
参照先のカラー図版名は $graphic_name
で指定します。
メソッドを呼び出すには、あらかじめ本文ファイルを開いていなければ
なりません。
成功すれば 1 を、失敗すれば 0 を返します。
使用方法に関しては、
カラー図版 の節もあわせてご覧下さい。
file_name()
reference_file_name()
tag_file_name()
context_position()
entry_position()
context_count()
entry_count()
total_entry_count()
error_message()
FreePWING::FPWUtils::Heading
クラス
FreePWING::FPWUtils::Heading
は、見出しを生成するための
クラスです。
FreePWING::FPWUtils::Text
クラスとだいたい同じメソッドを
持っていますが、次のメソッドは使用できなくなっています。
その他のメソッドの使用方法については、
FreePWING::FPWUtils::Text
クラス
を参照して下さい。
FreePWING::FPWUtils::Menu
クラス
FreePWING::FPWUtils::Menu
は、メニューを生成するための
クラスです。
FreePWING::FPWUtils::Text
とまったく同じメソッド群を
持っています。
FreePWING::FPWUtils::Copyright
クラス
FreePWING::FPWUtils::Copyright
は、著作権表示を生成する
ためのクラスです。
FreePWING::FPWUtils::Text
とまったく同じメソッド群を
持っています。
FreePWING::FPWUtils::FPWParser
モジュール
他の FreePWING 付属の Perl モジュールとは異なり、
FreePWING::FPWUTils::FPWParser
モジュールではクラスを定義
しません。
代わりに、main
パッケージに対してサブルーチンや変数を定義
し、コマンド行のオプションの解析処理を行います。
FreePWING::FPWUTils::FPWParser
モジュールが定義する
サブルーチンには
initialize_fpwparser()
と
finalize_fpwparser()
があります。
initialize_fpwparser()
は FreePWING 関係のクラスの
オブジェクトを初期化するためのサブルーチンで、次のように 2 つの要素を
組にして並べたものを引数にとります。
initialize_fpwparser('word2' => \$w, 'text' => \$t);
要素の組はそれぞれ、1 番目の引数には 'word'
,
'endword'
のような名前を示す文字列をとり、2 番目の引数
には変数へのリファレンスを取るようにします。
1 番目のパラメタとして認識される文字列とその用途は、次の通りです。
word2
FreePWING::FPWUtils::Word2
クラスのオブジェクトを生成し、
初期化します。
heading
FreePWING::FPWUtils::Heading
クラス
のオブジェクトを生成し、初期化します。
text
FreePWING::FPWUtils::Text
クラスの
オブジェクトを生成し、初期化します。
menu
FreePWING::FPWUtils::Text
クラス
のオブジェクトを生成し、初期化します。
copyright
FreePWING::FPWUtils::Text
クラス
のオブジェクトを生成し、初期化します。
生成して初期化されたオブジェクトは、要素の各組の 2 番目の引数に 参照先としてセットされます。 このサブルーチンは、処理に成功すると 1 を、失敗すると 0 を返します。
finalize_fpwparser()
は
initialize_fpwparser()
で生成したオブジェクトを
使い終わったときに呼び出すサブルーチンで、各オブジェクトに対して
後処理を行います。
引数の書式は initialize_fpwparser()
とまったく同じです。
このサブルーチンも、処理に成功すると 1 を、失敗すると 0 を返します。
initialize_fpwparser()
, finalize_fpwparser()
の具体的な使用例については
fpwutils 対応 をご覧下さい。
FreePWING::FPWUtils::FPWParser
モジュールによって定義
される変数には以下のものがあります。
$work_directory
$text_file_name
"$work_directory/text"
)FreePWING::FPWUtils::Word2::add_entry()
を呼び出す
際に、第 2 引数として渡します。
$text_ref_file_name
"$work_directory/textref"
)
$text_tag_file_name
"$work_directory/texttag"
)
$menu_file_name
"$work_directory/menu"
)
$menu_ref_file_name
"$work_directory/menuref"
)
$menu_tag_file_name
"$work_directory/menutag"
)
$copyright_file_name
"$work_directory/copy"
)
$copyright_ref_file_name
"$work_directory/copyref"
)
$copyright_tag_file_name
"$work_directory/copytag"
)
$heading_file_name
"$work_directory/head"
)FreePWING::Word2::add_entry()
を呼び出す際に、
第 3 引数として渡します。
$word_file_name
"$work_directory/word"
)
$endword_file_name
"$work_directory/eword"
)
$sort_file_name
"$work_directory/sort"
)
$endsort_file_name
"$work_directory/esort"
)
$index_file_name
"$work_directory/idx"
)
$index_ref_file_name
"$work_directory/idxref"
)
$endindex_file_name
"$work_directory/eidx"
)
$endindex_ref_file_name
"$work_directory/eidxref"
)
$control_file_name
"$work_directory/ctrl"
)
$control_ref_file_name
"$work_directory/ctrlref"
)
$honmon_file_name
"honmon"
)
$half_char_name_file_name
"$work_directory/halfchar"
)
$full_char_name_file_name
"$work_directory/fullchar"
)
$half_char_bitmap_16_file_name
$half_char_bitmap_24_file_name
$half_char_bitmap_30_file_name
$half_char_bitmap_48_file_name
"gai16h"
、"gai24h"
、"gai30h"
、
"gai48h"
)
$full_char_bitmap_16_file_name
$full_char_bitmap_24_file_name
$full_char_bitmap_30_file_name
$full_char_bitmap_48_file_name
"gai16f"
、"gai24f"
、"gai30f"
、
"gai48f"
)
FreePWING::FPWUTils::FPWParser
は
Getopt::Long
モジュールを用いてコマンド行オプションの解析
を行います。
この解析処理は、モジュールを読み込みさえすれば自動的に行われますので、
ユーザ側で明示的にサブルーチンを呼ぶ必要はありません。
今のところ、コマンド行オプションには次のものが定義されています。
-workdir
directory'work'
が使われます。
プログラム内では、変数$work_directory
で参照できます。
解析後、指定されたオプションは @ARGV
から取り除かれます。
残りの引数をどう解釈するかは、ユーザの処理プログラムに任されます。
未知のオプションが指定された場合はエラーとなり、その時点でプログラムを
強制的に終了します。
FreePWING::FPWUtils::FPWParser
は古い作業ファイルが
作業ディレクトリに残っていると、それを削除します。
削除に失敗しても、エラーとして報告することはしません。
fpwmake
コマンドfpwmake コマンドの実体は sh スクリプトで、中で GNU make を呼び出します。
たとえば、GNU make のコマンド名が /usr/local/bin/gmake
、
fpwutils.mk
ファイルがインストールされているディレクトリ
が /usr/local/share/freepwing
だとすると、
% fpwmake 引数...
という呼び出しは、実際には
% /usr/local/bin/gmake -I/usr/local/share/freepwing 引数...
という処理を手動で実行するのとまったく同じことです。
GNU make について詳しく知りたい方は、GNU make のドキュメントをお読み 下さい。
fpwutils.mk
ファイル
fpwutils.mk
ファイルの中で、いくつかの変数、生成規則を
定義していますが、詳細については fpwutils.mk
ファイルを
直接ご覧になって下さい。