Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MHonArc 2.6.3 のバグ(?)について
- From: Tadamasa Teranishi <yw3t-trns@xxxxxxxxxxxxxxx>
- Date: Fri, 02 May 2003 21:50:52 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 02903
- References: <3EB23CE6.48732F33@asahi-net.or.jp>
寺西です。
Tadamasa Teranishi wrote:
>
> いろいろと MHonArc 2.6.3 を触っていると、バグに遭遇しました。
>
> MHonArc 処理後の HTML の本文に JIS コードに含まれる '<' がある
> 場合、これを < に変換するというものです。
> mknmz では pre_codeconv の euc に変換時に正しく変換できず、文字化けが
> 発生します。
これに対する MHonArc 2.6.3 用のパッチを作りました。
ただし、iso-2022-jp で使用することを前提にしていますので、他のコード
を処理する場合には不具合が生じるかもしれません。
日本語しか使わないのであれば、大丈夫かと思います。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E
Only in MHonArc2.6.3.new: Makefile
diff -r -U3 MHonArc2.6.3/lib/ewhutil.pl MHonArc2.6.3.new/lib/ewhutil.pl
--- MHonArc2.6.3/lib/ewhutil.pl Sun Apr 6 08:49:38 2003
+++ MHonArc2.6.3.new/lib/ewhutil.pl Fri May 2 19:04:37 2003
@@ -26,6 +26,8 @@
package mhonarc;
+require 'iso2022jp.pl';
+
my $HTMLSpecials = '"&<>';
my %HTMLSpecials = (
'"' => '"',
@@ -53,7 +55,9 @@
return '' unless scalar(@_) && defined($_[0]);
my $txt = shift;
my $txt_r = ref($txt) ? $txt : \$txt;
- $$txt_r =~ s/([$HTMLSpecials])/$HTMLSpecials{$1}/go;
+# $$txt_r =~ s/([$HTMLSpecials])/$HTMLSpecials{$1}/go;
+ $$txt_r = iso_2022_jp::str2html($$txt_r);
+ $$txt_r =~ s/^(\033\([BJ])//mg;
$$txt_r;
}
@@ -61,7 +65,9 @@
return '' unless scalar(@_) && defined($_[0]);
my $txt = shift;
my $txt_r = ref($txt) ? $txt : \$txt;
- $$txt_r =~ s/([$HTMLSpecials])/$HTMLSpecials{$1}/go;
+# $$txt_r =~ s/([$HTMLSpecials])/$HTMLSpecials{$1}/go;
+ $$txt_r = iso_2022_jp::str2html($$txt_r);
+ $$txt_r =~ s/^(\033\([BJ])//mg;
$$txt_r;
}
@@ -101,7 +107,8 @@
$$str_r =~ s/\</</g;
$$str_r =~ s/\>/>/g;
$$str_r =~ s/\&/\&/g;
- $$str_r =~ s/\"/\&/g;
+# $$str_r =~ s/\"/\&/g;
+ $$str_r =~ s/\"/"/g;
$$str_r =~ s/\&#[xX]0*40;/@/g;
$$str_r =~ s/\@/@/g;
$$str_r;
diff -r -U3 MHonArc2.6.3/lib/iso2022jp.pl MHonArc2.6.3.new/lib/iso2022jp.pl
--- MHonArc2.6.3/lib/iso2022jp.pl Thu Dec 5 05:00:39 2002
+++ MHonArc2.6.3.new/lib/iso2022jp.pl Fri May 2 18:57:44 2003
@@ -80,6 +80,8 @@
$ascii_text =~ s%\&%\&%g;
$ascii_text =~ s%<%\<%g;
$ascii_text =~ s%>%\>%g;
+ $ascii_text =~ s%"%\"%g;
+ $ascii_text =~ s%@%\@%g;
## Convert URLs to hyperlinks
$ascii_text =~ s%($HUrlExp)%<a href="$1">$1</a>%gio
unless $nourl;