日記

11月 2日 (火)

1. 吉里吉里

ドキュメント生成スクリプト(to_html.pl)をPerl 5.8.x用に変更する差分です。5.8.xでしか動かなくなる、とも言います。

スクリプト自身(to_html.pl)をUTF-8に変換しておかないと動作しません。

0a1,2
> require 5.8.0;
> use utf8;
31d32
< 	$text = Jcode->new($text, "utf8")->sjis;
82d82
< 	$text = Jcode->new($text, "utf8")->sjis;
96c96
< 	if(!open(LFH, $fn))
---
> 	if(!open(LFH, "<:encoding(shift_jis)", $fn))
99c99
< 		if(!open(LFH, $fn))
---
> 		if(!open(LFH, "<:encoding(shift_jis)", $fn))
367c367
< 			open IH, $file or die;
---
> 			open IH, "<:encoding(shift_jis)", $file or die;
404c404
< 	open FH , $fn;
---
> 	open FH, "<:encoding(shift_jis)", $fn;
411,417c411
< 	$content =~ s/〜/---nami---/g;
< 	$content =~ s/\x81\x7c/---haifun---/g;
< 	$content = Jcode->new($content, "sjis")->euc;
< 	$content =~ s/\\/---yen---/g;
< 	$content =~ s/\~/---tilde---/g;
< 	$content = Jcode->new($content, "euc")->sjis;
< 	$content =~ s/Shift_JIS/x-sjis-unicode/;
---
> 	$content =~ s/Shift_JIS/UTF-8/;
420c414
< 	open OH, ">$of";
---
> 	open OH, ">:encoding(shift_jis)", "$of";
435c429
< if(open FH, "keys.txt")
---
> if(open FH, "<:encoding(shift_jis)", "keys.txt")
450c444
< 	open OH, ">keywords.html";
---
> 	open OH, ">:encoding(shift_jis)", "keywords.html";
513c507
< 	open OH, ">keywords_p.html";
---
> 	open OH, ">:encoding(shift_jis)", "keywords_p.html";
参考リンク
perl5.8のUnicodeサポート

1.1. 2004-11-04 追記

ActivePerl 5.8.4ではXML DOMのテキストノードデータ出力時に、UTF-8→Shift_JIS マッピングでエラーになる。テキストノードの場合だけUTF-8フラグが外れるようだ。何でだろう…

修正版(吉里吉里2.23β8用 Perl 5.8.1以降必須)

11月 5日 (金)

1. 吉里吉里

1.1. Layer.update()

思い立ったが吉日、というか、思い出したように実装。今までに作ったグラフィック系プラグイン関数でLayer.update()するように変更。実は今までやってなかった(ォ。さすがに呼び出し側でやるのはちょっと…というわけで。

ついでに、プラグイン関数側で毎回Layer.update()させるかどうかを切り替えられるようにしておく。特定のレイヤに対して、短時間に何度も激しく書き込むような処理を行う場合、自動Layer.update()を無効にしておき、処理後に対象レイヤを手動で丸ごとupdate()したほうが微妙に速い、かもしれない(計測してないけど)。

1.2. Layer.myFunc()

DLLプラグインを使って、既存クラスにメソッドを追加する実験。

Plugins.link("MyFuncAdd.dll");
// ...(略)...
var obj = new Layer(myWindow, parentLayer);
// ...(略)...
Layer.myFunc();	// OK
(Layer.myFunc incontextof obj)();	// OK
obj.myFunc();	// エラー(メンバ "myFunc" が見つかりません)

ふむ、これじゃだめか。

11月 6日 (土)

1. VNAP - Visual Novel Adventure Platform

韓国製のノベルゲーム作成プラットフォームです。KitagawaとかThe Sun and The Moon(?)とか、どこかで見たような絵です。さすが韓国(笑)

試しにPhantom of Waterっていうゲームをやってみたんですが、文字化けしまくっていて全く読めず、残念な思いをしました。フォントはあるんですが…符号化方法絡みでしょうか。でもよく考えたら、文字化けしなくてもハングル文字なので読めないですね。

11月 7日 (日)

1. La Pucelle

クリアしました。ラスト付近では途中でセーブできないので、ちょっと大変でした。最終セーブからエンディングまで、一時間以上かかったような気がします。

ノワール戦は結構稼げますね。不浄点の初期配置によりますが、今回は5連鎖12000点以上いけました。自己新記録です。

んでもって、2周目はじめました。悪魔払いの日々はまだまだ続く…

11月 11日 (木)

1. 吉里吉里

本家BBSのザッピングシステム、面白そうなので作ってみました。適当にちょいちょいと作るだけの予定だったのですが、やっているうちに凝り始めてきて、それなりなものになってきました。

11月 13日 (土)

1. Googleが「もしかして」機能を撤回

あらら。「婦女子」とか「ふたりはプリキュア」とか、面白かったんですけどねー。パワーアップして帰ってくるのでしょうか。どの方向に「パワーアップ」するかは、まあ、その、ごにょごにょ。

2. 吉里吉里

11月 15日 (月)

1. 吉里吉里

プラグインに、MD5(Message Digest 5)ハッシュ値を求める関数を追加しました。公開されているMD5のソースをそのまま使ったので、簡単でした。

11月 17日 (水)

1. 吉里吉里

無いよりはあったほうがいいだろうと思って、デモ用のスクリプトを作りました。全部KAGです。

2. TDS

久しぶりにTDSを弄りました。

ずっとLinux上で動いていたTDSをWindows上にコピー。自分で手を入れた分のバグ取りなどやって、動作確認。

11月 20日 (土)

1. 吉里吉里

バグ取りとリファクタリング。あと、グラデーションタイプを表現するためのプロパティをglobalに追加した。グラフィック系プラグイン組み込み時に自動的に定義される。

2. Vine

BeSilentにVineLinuxをインストールしました。ファイルサーバ兼バージョン管理用サーバとして使う予定です。バージョン管理システムは多分subversionになるでしょう。

2.1. Neon

neonをダウンロードしようとしたら、ダウンロードサイトに繋がらない罠。むー。

3. 吉里吉里

デモ用スクリプトも完成し、β版(ver.2.23β9)用のDLLもとりあえずできた。安定版(ver.2.22r5)用のDLLも作るべくコンパイルすると、盛大にコンパイルエラーを吐いてくれた。おかしいなと思ってそのエラー内容を見てみると、ほぼ全て加算アルファ合成周り。そういえば、加算アルファは安定版ではサポートされていなかったなあ。

あちゃー。

11月 21日 (日)

1. GDLEEN

久しぶりに、本当に久しぶりにガデュリン(OVA)でも見ようかと思い、本棚の奥に格納されているビデオテープを端からひっくり返してみました。テープには何も書いてなかったので、何が収録されているかは再生してみないとわかりません。手にとったテープを次々と再生していると、出てくる出てくる、過去の遺産。OVAチャチャやら、劇場版ナディアやら、帝都物語やら。何年も前にダビングしてそのまま放置していたので、テープ自体が劣化しており、画質はかなり悪いですね。むむむ、この分だとガデュリンも…?

しかし結局、当のガデュリンは見つかりませんでした。ダンボール箱の中にに埋もれているのか、押入れの奥底に封印されているのか。俺のファナガデュリンはどこだ。

2. ドラえもんの声が交代へ 来春、大山のぶ代さん降板

アニメの中のキャラクターは歳をとりませんが、リアル世界の住人である声優は、月日の流れと共に齢を重ねていくわけです。いつかは引退するときが来るわけです。そして、ついにその時が…

主な出演者5人って、つまりあの5人(4人+1体)でしょうね。しかし、あの5人の声を継ぐことができる若手って、いったい誰なんでしょう。相当の実力者でないと無理でしょうけど、声優がアイドル化している昨今、若手で実力派声優なんてそういないでしょうに。

3. Neon

neonのサイトに繋がりません。

neonをダウンロードできません。

subversionをビルドできません。

11月 22日 (月)

1. アキバ

散財してきました。

あと、RAID用にHDDを2台ばかり。重かったので、今日はこれくらいにしておきました。

2. ARAID99 1000L

ちょっと耳障りな音がしますね、これ。

ARAID99自体はうるさくないです。ファンも静かですし。うるさいのはハードディスクで、2台あるためにHDD自身の振動が共鳴して、ウォンウォンいってます。うるさいと言うより、不快な低周波が発せられている感じです。対策をとらないといけませんね。

…え?ちゃんとケースに入れろ?

11月 24日 (水)

1. moetan 2

ああ、また存在自体がネタみたいな本が出るのか…しかも、続編。しかも、買う気満々だし、俺。

11月 25日 (木)

1. subversion

1.1. neon

相変わらず本家サイトに繋がらないので、RPMでソースを取得しました。これでneonは問題なし。

1.2. subversion

さて、本命のsubversionですが…

In file included from subversion/include/svn_delta.h:34,
                 from subversion/libsvn_delta/cancel.c:20:
subversion/include/svn_error.h:180: parse error before `do'
subversion/include/svn_error.h:180: stray '\' in program
subversion/include/svn_error.h:181: stray '\' in program
subversion/include/svn_error.h:182: stray '\' in program
...以下100行以上略

なにこれ。コンパイルできねえよ!

どうあっても俺にsubversionを使わせない気か、畜生め。

11月 28日 (日)

1. とっかえひっかえ

いろんなOSを、インストールしてはアンインストールして、と繰り返してました。Vine 2.6はカーネルコンパイルでこける、Vine 3.xやFreeBSDは使いづらい、などなどで、結局Vine 2.5に落ち着きました。高機能もいいですが、使い慣れているのが一番ですね。

相変わらずsubversionはコンパイルできませんが。

11月 29日 (月)

1. new machines

注文していたOpenBlockSと、某氏が「送る」といっていたマシンが届きました。早速動かしてみたいところですが、さしあたって解決すべき課題があります。

…置き場所の確保です(ォ

11月 30日 (火)

1. subversion

やっとインストールまで終了しました。いろいろやった結果、簡単にまとめると、

  • subversion 1.1.1
  • Vine Linux 2.5 (kernel 2.4.18)
  • gcc 3.4.3 (i686-pc-linux-gnu)
  • libtool 1.5.10
  • autoconf 2.59
  • Python 2.3.4
  • Berkeley DB 4.2.52
  • neon 0.24.7
  • APR 0.9.5

な環境で、

  • configure時にBerkeley DBのパスを指定しても、configureはBerkeley DBを見つけられない(FSFSが使用される)
  • gcc 2.95系ではコンパイルできない(dos2unix等で全ソースファイルの改行コードを 0x0d に変換すれば可能かも)
  • make fsfscheck は環境変数 LANG=C でないと FAILURE 連発
  • ac-helpers/install-sh の改行コードを 0x0d に変換しておかないと make install でこける

ということでした。やれやれ。subversionって、うに系OS上でmakeのテストをしないでリリースしてるんでしょうか。それともINSTALLドキュメントがタコなだけでしょうか。

インストールの段階ですでにこのざまなわけですが、この先、はたしてこのソフトはまともに動作するのでしょうか?心配になってきました。

2. <ドラえもん>交代の声優はオーディションで

まあ、妥当なやり方ですね。しかし、めちゃめちゃ厳しいオーディションになるでしょうね。