hns - 日記自動生成システム - Version 2.19.9

先月 2003年04月 来月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2003年04月26日() 旧暦 [n年日記]

#1 [hns] きのうは一年前の日記に反応していた

(がそれはいいとしよう)

#2 [pkgsrc] MHonArc-2.6.3

きのうは pkgsrc/mhonarc を 2.6.3 にしてくれ なんて書いてしまったが、使って見ると、 いろいろあり そう。とりあえずは、

iso-2022-jp:

<CharsetConverters>
iso-2022-jp; iso_2022_jp::str2html; iso2022jp.pl
</CharsetConverters>
なんて書いておけばいい訳だが、これだと、多分、内部では iso-2022-jp のまま扱って いて、 < > & 等を変換するだけで、他は、 横流しするだけではあるが、問題ない。
ところが .mhonarc.mrc に、 日本語の題名を入れたり、 日本語のボタンを定義 したいとする。 これは iso-2022-jp では書けないので、 EUC-JAPAN で書く (←化けているのは中身が EUC なのに jis として送っているから。手動で euc-japan に設定すれば見えるはず)。 すると、 出力は、それらがそのまま混ってしまって、両方は同時には読めず、 化ける。
化けて欲しくない場合は、

MHonArc::CharEnt::str2sgml:

<CharsetConverters>
ISO-2022-JP; MHonArc::CharEnt::str2sgml; MHonArc/CharEnt.pm
US-ASCII;    MHonArc::CharEnt::str2sgml; MHonArc/CharEnt.pm
</CharsetConverters>
とする方法があるが、これだと、msg00001.html 等を Namazu で処理するには問題がある。

.mhonarc.mrc に設定した内容:

はあちこちで、
s/$VarExp/&replace_li_var($1,$a[0])/geo;
のようにして、lib/mhonarc/mhrcvars.pl の中の
79 ##      replace_li_var() is used to substitute vars to current
80 ##      values.  This routine relies on some variables being set by the
81 ##      calling routine or as globals.
82 ##
83 sub replace_li_var {
84     my($val, $index) = ($_[0], $_[1]);
を呼んで 置換されるので、その時に、とも思うが、多分 Perl 的には ISO-2022-JP が生の時に $ 等があるとうまく行かない (はず)。... これで実は半分解決(後述)

mhfile.pl の:

165 sub file_temp {
166     my $template = shift;
167     my $dir      = shift || $CURDIR;
168     my($handle, $tmpfile);
の付近に euc -> iso-2022-jp 変換を入れてしまうということも一応思い着いたが...

添付書類を処理するとして:

charset= はいろいろ可能性がある。 もしそれを inline で表示しようとすると 閲覧系の一画面に、 いくつもの charset が入ることもある。 それを変換もせずに元のままのコードで表示しようとするのは ?
inline の時には内部コード(EUC) にして、出力は ISO-2022-JP とするのがいい ?

大前提として Namazu を使うから UTF は無:

$CBRcVarExpand って使えそう ?:

$CBRcVarExpand = undef
$mhonarc::CBxxx
の類いは API で、他の Perl から MHonArc の内を呼ぶ時のものらしい。

mhrcvars に Jcode.pm:

を入れると、一部分解決する。
mhonarc の画面を構成する要素は三種類
  1. 変数の内容 (主として EUC)
  2. 題名 (Subject:) ... 変数の内容ではあるが、変換しなければ JIS
  3. メールの本文 ( 変換しなければ ISO-2022-JP, つまり JIS)
そうして、表示する画面表示内容としては二種類
  • 日付順・話題別 索引 (上記 1 2 が出現する)
  • メール (同じく上記 1 2 3)
そこで、 mhvars.pl に Jcode::convert を入れる と、1 2 のコードが揃うので、一つ目の 索引 の方は
(AddType text/html; charset=hoge html の内容にもよるが)
一応読めるようになる。

iso2022jp.plの方も大胆に変更:

して見ると、これで行けるような気がする。



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)