Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
半角カナ対応パッチの commit
- From: "Yoshinori TAKESAKO" <takesako@xxxxxxxxx>
- Date: Tue, 10 Jul 2001 04:26:20 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 01575
竹迫です。
以前話題になっていた Win32 半角カナ関連のパッチを commit しました。
http://www.namazu.org/ml/namazu-win32-users-ja/msg00619.html
http://www.namazu.org/ml/namazu-devel-ja/msg01234.html
# commit が遅すぎて、既に忘れ去られてしまったとの噂も...(^^;
このパッチは、Namazu 2.0.x for Win32 において mknmz -U としたときに
日本語のファイル名やパス名に半角カナ(JIS X 0201片仮名)を使用していると
全角カナに変換されて、検索結果のリンクが辿れなくなってしまうバグ(仕様)
を改善します。
これを適用することによって、半角カナを含む日本語のファイル名や
パス名を Namazu のインデックスの対象とすることができます。
修正内容は以下の通りです。
---------------------------------------------------------------------------
* src/namazu-cgi.c: Added #include "usage.h" for prototype
of show_version() function.
show_version() 関数のプロトタイプ宣言のため、
src/namazu-cgi.c に #include "usage.h" の1行を追加した。
* nmz/codeconv.c (euctosjis): Do cast for avoiding warning.
And 'JIS X 0212 HOJO KANJI' EUC-JP charactors converts to
Shift_JIS 0x81ac (JIS 0x222e) code.
コンパイラの警告を抑えるためにキャスト指定を明確にした。
EUC-JP の JIS X 0212補助漢字は、Shift_JIS にマッピングできないので、
未定義文字 JIS 0x222e(〓)に変換するようにした。
* pl/codeconv.pl (chomp_eucjp): Added new function.
It removes a garbage EUC-JP 1st charactor at the end.
EUC-JP の文字列が途中で途切れているかどうかを判定し、
末尾の余分なコードを削除する関数を新しく追加。
* scripts/mknmz.in (make_summary, put_field_index):
Using new function codeconv::chomp_eucjp().
新しく追加した codeconv::chomp_eucjp() を使用するようにした。
* pl/codeconv.pl (eucjp_to_shiftjis): Fixed the problem, that the
EUC-JP charactor sequence was incorrectly converted into Shift_JIS
code, if 'JIS X 0201 KATAKANA' was contained.
JIS X 0201片仮名(いわゆる半角カナ)が含まれている EUC-JP 文字列が、
Shift_JIS コードに正しく変換されないバグを修正。
* pl/codeconv.pl (shiftjis_to_eucjp): Stopped automatically
converting --- 'JIS X 0201 KATAKANA (hankaku)' charactors
to 'JIS X 0208 KATAKANA (zenkaku)'.
shiftjis_to_eucjp() の中で、自動的に EUC-JP の JIS X 0201片仮名
(半角カナ) を JIS X 0208片仮名(全角カナ)に変換しないようにした。
* pl/codeconv.pl (eucjp_han2zen_kana): Added new function.
This function converts 'JIS X 0201 KATAKANA (hankaku)' charactors
to 'JIS X 0208 KATAKANA (zenkaku)' in EUC-JP.
EUC-JP の JIS X 0201片仮名(半角カナ) を JIS X 0208片仮名(全角カナ)
に変換する関数を新しく追加。
* filter/gfilter.pl (filename_to_title): Using new function
codeconv::eucjp_han2zen_kana() for Win32 Shift_JIS filename.
Win32 の Shift_JIS 環境で、ファイル名に含まれている半角カナを
全角カナに変換するようにした。
* nmz/util.h (nmz_iseuc_kana1st): Added new macro. This function
distinguishes the 1st byte of 'JIS X 0201 KATAKANA' in EUC-JP.
EUC-JP の JIS X 0201片仮名の1バイト目を判定するマクロを新しく追加。
* nmz/util.h (nmz_iseuc_hojo1st): Added new macro. This function
distinguishes the 1st byte of 'JIS X 0212 HOJO KANJI' in EUC-JP.
EUC-JP の JIS X 0212補助漢字の1バイト目を判定するマクロを新しく追加。
* nmz/codeconv.c (euctosjis): Fixed the problem, that the EUC-JP
charactor sequence was incorrectly converted into Shift_JIS code,
if 'JIS X 0201 KATAKANA' was contained.
JIS X 0201片仮名(いわゆる半角カナ)が含まれている EUC-JP 文字列が、
Shift_JIS コードに正しく変換されないバグを修正。
---------------------------------------------------------------------------
早速なので、LANG=ja な時だけ実行するような test script を作ってみようと
思ったのですが、今日はそこまで時間がとれませんでした。
申し訳ありませんが、もうちょっと時間をください。(^^;
何か問題がありましたら、お知らせいただけると有難いです。
--
広島市立大学 情報科学部 情報機械システム工学科 知能ロボット講座
竹迫 良範 <takesako@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>