Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ole フィルタのマージ



 From: "Yoshinori.TAKESAKO" <takesako@xxxxxxxxx>
 Subject: [namazu-devel-ja] Re: ole フィルタのマージ
 Date: Fri, 26 Jan 2001 22:02:46 +0900

 > >> OLE フィルタの二重流通状態は何かとややこしいので、竹迫さんの OLE 
 > >> フィルタは、CVS リポジトリに完全にマージしちゃう方がいいとおもうん
 > >いいと思います。
 > すみません。とりあえずは動作が安定するまでは、CVS リポジトリに
 > 追加したくなかったので、マージの時期が遅くなってしまいました。
 > さきほど、新しい版の oleexcel.pl を commit しました。
 > 以後は CVS リポジトリにて管理しようと思います。

どうもごくろうさまでした。status() だけちょっといじっておきました。


半角かなURI用パッチも機能面ではほとんど良さそうです。「URI として
は半角カナを含んでいるのはやむを得ないけど、文書タイトル部などの表
示部では半角カナはやっぱりなんとかして排除したい」という要望にも既
に応えて頂いているようですし、commit してもいいかもしれませんね。

まあ、mknmz.in の中に MSWin32 分岐が散らばっているのは確かに美しく
ないし読みにくいので、できるだけ pl/util.pl か pl/codeconv.pl に押
し込めてしまいたいところではあります。また、
[\x81-\x9f\xe0-\xef][\x40-\x7e\x80-\xfc] のような正規表現が散らばっ
ているのはもっと美しくないので、これもなんとかしたいですね。とはいっ
ても完全にカプセル化するのも難しいので、まずは、

# ASCII
$ascii = '[\x00-\x7F]';

# EUC-JP文字
$twoBytesKanji_euc = '(?:[\xA1-\xFE][\xA1-\xFE])';
$twoBytesKana_euc = '(?:\x8E[\xA1-\xFE])';
$twoBytes_euc = '(?:[\x8E\xA1-\xFE][\xA1-\xFE])';
# $twoBytes_euc = "(?:$twoBytesKanji_euc|$twoBytesKana_euc)";
$threeBytes_euc = '(?:\x8F[\xA1-\xFE][\xA1-\xFE])';
$character_euc = "(?:$ascii|$twoBytes_euc|$threeBytes_euc)";

# SJIS文字
$oneByteKana_sjis = '[\xA1-\xDF]';
$oneByte_sjis = '[\x00-\x7F\xA1-\xDF]';
# $oneByte_sjis = "(?:$ascii|$oneByteKana_sjis)";
$twoBytes_sjis = '(?:[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])';
$character_sjis = "(?:$ascii|$oneByte_sjis|$twoBytes_sjis)"; # SJIS文字

くらいの正規表現を pl/codeconv.pl かどっか適当なところに入れておき
たいところです。どんなもんでしょうか?

# ちなみに、この正規表現が間違ってると話にならんので、目を皿にして
# チェックしてくださいませ。:-P



 > >それから、olemsword.pl で Word をいちいち終らない方法ですが、以下
 > >の差分で動くようです。つまり new のときに destructor を定義しない
 > >だけでいけるようです。試してみていただけませんでしょうか。これでだ
 > >いぶ速くなっているようにおもいます。
 > こちらでも試してみましたが、動作に問題はないようです。
 > きちんとしたベンチマークはまだとっていませんが、
 > かなり速くなっているように感じました。
 > 他の環境でも大丈夫だと思いましたので、早速 commit させていただきました。

これも確認&commitありがとうございます。助かります。


 > # なるほど、destructor を定義しないとうまくいくんですね。しかし何故?

なんなんでしょうね。まあ、Visible = 1 にしてその挙動を見てたらけっ
こうわかりやすいんですけど、それでも細かくはわかりませんでした。

ちなみに、PowerPoint でもだいたい同じように動きますけど、END{} で
終わらないという謎な挙動です。だから Visible=0 にしたら、目には見
えないけどプロセス自体は残っているようです。リソースメータかなんか
を表示させていればわかります。だから、ちゃんと終われる仕組みを解明
すれば、PowerPoint でもいけるんじゃないかとおもいます。


 > From: Ryuji Abe <raeva@xxxxxxxxxxxx> said:
 > >あと、フィルタの種類が増えたのでdoc/{en,ja}/manual.htmlの
 > >「文書フィルタ」の項にそれらの説明を追加してもらえませんか?
 > 私にはうまく文章が書けそうにないので、申し訳ありませんが
 > こちらは馬場さんにお願いしてもよろしいでしょうか?(^^;

はい。短いですが、コメントを追加しておきました。
--
馬場  肇 ( Hajime BABA )            E-mail: baba@xxxxxxxxxxxxxxxxxxxxxx
京都大学理学部宇宙物理学教室 博士後期課程
--