Kazuhiro's blog
ようこそ! Kazuhiro's blog
金曜日, 6月 23 2017 @ 12:29 午後 JST
 記事を友人にメールする 印刷用画面 

wikipedia-fpwを公開

general

前回紹介したウィキペディア日本語版のダンプデータからJIS X 4081な書籍を作るツールの続きです。取り敢えず相互参照できるようになったので公開しました

まだまだ整形がおかしかったり、実体参照やそのままでは収録できない文字の変換テーブルも全然作っていないのですが、いつまでたっても終わらない気がしたので気がついたら修正していくことにします。

正直なところ、Perlを知らない人間が動けばよしで書いたコードです。 変換テーブルの追加や修正、ツール自体の修正等ありましたらお気軽にどうぞ。

タグ:Wikipedia FreePWING EPWING

 記事を友人にメールする 印刷用画面 

WikipediaのダンプデータをJIS X 4081に変換する

general

ウィキペディア日本語版のダンプデータをFreePWINGで処理してみました。 UTF-8な文字とか画像とか音声とか数式とか表とかは全てオミットして、何も考えずに表示できるテキストだけ抽出しています。 他項目へのリダイレクト等を省いて約43万弱の項目があり、HONMONファイルは約1.2GBになりました。

ちなみに、本当は英語版のウィキペディアに挑戦しようと思ったのですが、ダンプデータが圧縮した状態で2.5GBというのを見て一瞬で方針を変更しました。

やっつけっぷりのかなりひどいコードですが、相互参照を扱えるようにできれば一度公開してみようかと思います。

タグ:Wikipedia FreePWING EPWING

 記事を友人にメールする 印刷用画面 

ノートPC

general

ノートPCを新しくしました。 ちなみに、今まで使用していたのはThinkpad X23です。 速さはあまり気にしていなかったのですが、メモリが最大640MBまでしか積めなくて悲しい事が時々あったので、バッテリがへたって来たのを契機に買い替える事にしました。

購入したのはパームレストが熱いと評判のThinkpad X60です。 うわさに違わず無線をオンにしているとかなり熱いです。 (質量が)軽くなったのはいいですが、色々使いまわしができないのが残念です。 それから、右から左から線が生えているのでポートリプリケータが欲しくなりました。

という事で、あり余るマシンパワーとメモリ(はまだ増やしてませんが)を浪費するためにVMwareでNetBSDを入れてみました。 NetBSDである事にあまり意味はありませんが、これでUNIX環境での動作検証がしやすくなると思います。

 記事を友人にメールする 印刷用画面 

掲示板の廃止

general

能動的に行ったわけではありませんが、レンタルしていた掲示板がいつの間にやら消されてしまいました。 多分閑古鳥が鳴きすぎたのだと思います。 元々そういう規約なので削除される前に自分で何か書き込めばよかったのですが、すっかり忘れていました。

新しい掲示板についてですが

  • 同じところでもう一度掲示板を借り直す
  • 別のところで借りる
  • 自前で立ち上げる

のどれかにしようかとも思いましたが、現状では書き込む人もほとんどいなかったので取り敢えず無いままにします。 ニーズがあるようならまた検討という事で。

尚、質問等は電子辞書オープンラボのMLまでという事にしていますが、わざわざ入るのも面倒という場合は直メールで送って頂いても構いません(どうせ数も無いので)。

 記事を友人にメールする 印刷用画面 

添付メッセージの保存 (Wanderlustで)

general

以前にemacs-mime-jaに投稿しましたが誰からも反応がなかったのでメモ。 私は、メーラにWanderlustを使用しています。 受信したメールに添付されたmessage/rfc822なデータをディスクに保存しようと思ってmime-preview-extract-current-entityを実行すると、保存されたデータの改行コードがCRLFになってしまいます。 また、Content-Transfer-Encodingが8bitになっている添付データ(実際に受け取ることはまず無いですが、自作は可能です)を保存しても、同様にLFがCRLFに置換されてしまいます。

おそらくWindows環境のEmacs22ではデフォルトの改行コードがCRLFになった事による影響だと思われます。MLへの投稿にも書いた通り、下記のパッチで症状はなくなりますが正しいかどうかは分かりません。

--- mel.el.org	2005-07-06 11:09:04.000000000 +0900
+++ mel.el	2007-02-26 19:56:06.603177600 +0900
@@ -86,7 +86,7 @@
 
 (defun 8bit-write-decoded-region (start end filename)
   "Decode and write current region encoded by \"8bit\" into FILENAME."
-  (let ((coding-system-for-write 'raw-text)
+  (let ((coding-system-for-write 'no-conversion)
 	format-alist)
     (write-region start end filename)))

(追記) とっくに2ちゃんねるで指摘されていました。

タグ:Emacs Wanderlust FLIM

 記事を友人にメールする 印刷用画面 

携帯電話のアラーム

general

携帯電話の電池が残り少なくなり、後で使う為に電源を切っていたところ、アラームを設定していた時刻に自動で電源が入ってびっくりしました。

ちょっと調べた限りではそれなりに採用されている機能らしいです。 ちなみに、私が使っている機種ではその機能はオフにはできないようでした。 残り30秒の電池でそんな余計な事はしてくれなくていいですとか思ったけど、もっとPDA的な使い方をしている人にはありがたい機能なのかもしれません。

そういえば、携帯電話のスケジュール機能を使い込んでいる人はどのくらいいるのでしょうか? 少なくとも私の身の回りでは見かけたことがないです。 電車の中などでもメールを打っている人はいてもスケジュールをチェックしている人は見たことがないです。 でもまあ、母集団がかなり大きいし、いろんなソフトも出回っているようなので、PDAでスケジュールを確認する人よりよっぽど多いのかも知れません。

(追記) 念の為、PDAでスケジュールの確認をしている人も身の回りや電車内では見かけたことはありません(自分自身を除いて)。

(追記 その2) はてなのアンケートによればある程度は使っている層があるようです。

 記事を友人にメールする 印刷用画面 

newsticker.el on Meadow3

general

newsticker.elをMeadow3で動かす為のメモ。

cygwinのwgetを使う。

newsticker.elは、ダウンロードするデータをwgetの標準出力から得ています。 wgetのサイトで紹介されているWindows用のバイナリは標準出力にデータをダンプする際にLFをCRLFに変えてしまいます。 フィードだけなら簡単に対処できますが、やっかいな事に画像データもそのようにしてしまいます。 正しく対処しようとすると面倒そうなので、そのような変換はしないcygwinのバイナリを使用する事にしました。

newsticker--cache-update関数内で指定しているコーディングシステムをutf-8からutf-8-unixに変更する。

ちらっと見ただけではよくわからなかったのですが、キャッシュファイルの改行コードに依存するようです。 キャッシュファイルがCRLFで保存されていると次の読み出し時に行末に^Mがついてしまいます。

タグ:Meadow

 記事を友人にメールする 印刷用画面 

PDIC形式の辞書をJIS X 4081に変換する (FreePWINGで)

general

FreePWINGPDIC Toolkitを利用してPDIC形式の辞書をJIS X 4081に変換するツールを公開しました。 先日のEBStudio版に比べると、単語レベルに対応したりとちょっとだけ機能が付加されています。

タグ:PDIC FreePWING

 記事を友人にメールする 印刷用画面 

FreePWINGで長い検索語を受け付けるようにする

general

FreePWINGでは、JIS X 4081の規格上の制限から検索語は(全角文字で)127文字までとなっています。 それ以上の文字数の検索語を登録しようとするとエラーになるので、回避するにはプログラム側で検索語を切り詰めて短くする等の処理が必要になります。 しかし、

  1. 正確な文字数はFreePWINGの内部処理とほぼ同等の正規化を行わないと分からない。

  2. 前方一致検索用に後ろを切りつめた検索語と後方一致検索用に前を切りつめた検索語の二種類の検索語を登録する必要がある。

  3. ドキュメント上に公開されている手段では前方一致検索(あるいは後方一致検索)インデックスのみに検索語を登録する手段が無い。

等の問題があります。特に三番目に関しては意図しないヒットの原因にもなります。 そこで、FreePWINGの方を変更する事にしました。 長い検索語を登録しようとした場合、前方一致検索インデックスと条件検索インデックスには後ろを切り詰めて、後方一致インデックスには先頭を切りつめて登録するようになります。

--- BaseWord.pm.org	2004-05-29 10:29:05.000000000 +0900
+++ BaseWord.pm	2007-02-15 09:11:35.813811200 +0900
@@ -38,7 +38,7 @@
 #
 # 単語の最大長。
 #
-$max_word_length = 255;
+$max_word_length = 254;
 
 #
 # 単語の書き込み方向
@@ -250,11 +250,6 @@
 	$self->close_internal();
 	return 0;
     }
-    if (255 < length($fixed_word)) {
-	$self->{'error_message'} = "too long word";
-	$self->close_internal();
-	return 0;
-    }
 
     #
     # インデックスの方向が負だったら、単語の前後をひっくり返す。
@@ -263,6 +258,10 @@
 	$fixed_word = pack("n*", reverse(unpack("n*", $fixed_word)));
     }
 
+    if ($max_word_length < length($fixed_word)) {
+      $fixed_word = substr($fixed_word, 0, $max_word_length);
+    }
+
     #
     # 単語エントリをファイルへ書き込む。
     #

上記のパッチを文字コードはEUC-JP、改行コードはLFにして保存し、FreePWING 1.4.4の配布物にあるsrc/BaseWord.pmに適用して下さい。

タグ:FreePWING

 記事を友人にメールする 印刷用画面 

スクリプトのダウンロード

general

いろんなモジュールだのCGIだのが有効になっているApacheで拡張子がplとかphpだったりするファイルをダウンロードさせる方法、のメモ。

.htaccessで、対象ファイルについて

SetHandler default-handler

と設定する。 CGIやモジュールを有効にする方法はいろんな所に書いてあるけど無効にする方法はなかなか見つかりませんでした。

(2007/02/14 追記) キーワードが分かってから調べると色々なサイトで情報が見つかりました。 本当に知らない事を調べるのは難しいです。

タグ:Apache