2006/05/23(火)スキャナ

2006/05/22 25:17 PC(全般)
久々にスキャナについて調べた。

こちらが知りたいのはなんといってもスキャン速度なのだが、最近のは複合機かフィルムスキャンかどちらかにシフトしてしまっていて、EPSONのカタログなんかプレビュー時間さえ書いてない。

おそらく今一番早いのは、canoscan 8400FV。

プレビューで2秒、多分全般今使ってるGT-8700よりも2倍強速そうだ。

まあ20kもするので、調べただけで終了。

あとA3で、Mustek ScanExpress A3ってのが30k弱で買えるらしい。まあ安いなりにトラップがあって、カラーで解像度を上げるととんでもない時間がかかって、使い物にならないらしいけどね……

http://www.canon-sales.co.jp/canoscan/lineup/8400fv/spec.html

http://www.j-deal.com/wts/goods_html/D0430.html

2006/05/18(木)HPのプリンタのドライバがインストールできない

2006/05/18 19:28 PC(全般)
親が新しいマシンを購入したので、インストール作業を代わりにやっていたら発生した。

要はここの問題と同じようだが、

http://h10025.www1.hp.com/ewfrf/wc/document?lc=ja&cc=jp&dest_page=product&tool=product&dlc=ja&product=71896&docname=c00080687

調べてみたらフォルダ名のフルパスに日本語が含まれているとダメで、アカウントそのものとは無関係のようだ。
分かってるなら直せばいいのに…… ブツブツ

2006/05/08(月)subversionが上手く動かなかったのは?

2006/05/08 15:01 PC(Linux)
subversionが上手く動かなかった問題。

最初原因が切り分けできてなくて、綺麗に迷路にはまった。分かってしまえば至極単純な話だったのだが。

まずsvn+sshでsvnサーバの外からTortoiseSVNで繋ごうとしたが、"Unable to write to standard output (stderr)"というダイアログが出て上手くいかない。原因を探るためにサーバにログインしてチェック。
%svn list --version
で、
svn: error: cannot set LC_ALL locale
svn: error: environment variable LANG is ja_JP.EUC
svn: error: please check that your locale name is correct
とエラーが出て上手く行かない。元々整備する気がなかったので環境設定はいい加減。LANGを設定すればいいようなのでtcshで、
%setenv LANG C
とすると、
%svn list --version
や、
%svn list file:///レポジトリ
は通るようになったが、
%svn list svn+ssh://レポジトリ(自分)
だと、やっぱりダメでzshでexportしても変わりなく訳が分からなくなったのだった。

このエラーなのだが、要はsvn+sshはsshで入ってもってくるんだということがすとんと抜けていたのだった。つまりsshで繋いだときに入った先の環境であって、繋ぐ前のシェル環境のことではない。ということは.cshrcとか.profileとかに書かないとダメ。

とりあえず、暫定で.cshrcの末尾に
setenv LANG C
を書き加えた。

あとはログイン先からもTortoiseSVNからも問題なし。

2006/05/06(土)TortoiseSVNのメニューが春Mで表示できない

2006/05/06 15:51 PC(全般)
春M上でコンテキストメニュー上のTortoiseSVNの項が空白となって何も表示されない問題。

http://tortoisesvn.sourceforge.net/node/102
OwnerDrawの絡みで表示が消えるということらしい。エクスプローラだと正常だということになかなか思い当たらなくて探すのに苦労した。

アイコンがWindows標準のサイズでいいなら以下の解決策が有効。

HKCU\Software\TortoiseSVN\OwnerdrawnMenusをDWORDで作成し、値を0にする。

ふう、表示されるようになったやれやれ。

2006/05/05(金)フリーライセンスなフォント

2006/05/05 20:48 PC(Linux)
書いてた記事が消えたのでやる気無くした。メモだけ。

欧文でちょっと調べたけど、debianのfreefont(http://packages.debian.org/stable/x11/ttf-freefont)は小さい文字なんかが見づらかった。
ライセンスが明確なものではM+(http://mplus-fonts.sourceforge.jp/)とVera(http://www.gnome.org/fonts/)が良さそうだったので、使ってみたけどM+は端が欠けたり出っ張ったりしてて、Veraのほうが綺麗で見やすかった。
今回はVeraを使おう。

東風はもう使えないんだっけね。マッカーの人がしきりにosakaフォント勧めてたけどアレもライセンス怪しいんだよね。

ライセンスに関する記事ね(http://japan.linux.com/opensource/06/03/03/0329203.shtml)
[ライセンスを明記してるリンクサイト]

http://wiki.fdiary.net/font/?freefont
[それ以外のリンクサイト]

http://yellowpage.gogo.tc/index.html

http://www.geocities.co.jp/SiliconValley-SanJose/3220/Font.htm

http://ohkadesign.cool.ne.jp/freefont/

http://www.aboutfont.com/
[2ch]

http://pc8.2ch.net/test/read.cgi/linux/1130748494/

2006/05/03(水)Perl

久々に触ったけど、Perl難しいよPerl。

Perlのポケットリファレンスどっかいっちゃったので、使ったWebページをメモ。

http://www.rfs.jp/sb/perl/index.html

http://www2u.biglobe.ne.jp/~MAS/perl/ref/index.html

http://www.nwt.jp/document/perlfunc/index.htm

http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%B8%C0%B8%EC%A4%CE%C8%E6%B3%D3#header-navi
[わからないこと、いやなこと]

・$x と @x が違う変数なのはもちろんいいんだけど、@xの要素にアクセスするときに$x[]なのがちょっと気持ち悪い。

が嫌。なぜここだけ<>?

・あとスカラーで評価されるタイミングがよく分からない。

・破壊的代入ばっか……

・クラス・構造体の実装が無理しすぎに見える。
改めて思う、Rubyは楽ね。

2006/05/03(水)GD::Graphのあれこれ(Perl)

あまり他で書いてないことをいくつか。

GD::Graphの生成画像にイメージマップを貼る


GD::Graph::Mapを使う手もあるがどうも使い勝手が悪い。そこでhotspot()メソッドを使う。
use GD::Graph::points;
my $graph = GD::Graph::points->new(400,300);

@data = (
	['1st', '2nd', '3rd'],
	[1, 2, 3],
);

my $image = $graph->plot(\@data) or die;
my @ret = $graph->get_hotspot(1);
for(my $i = 0; $i < @ret; $i++) &#123;
	print "<area shape=$ret[$i][0] Coords=$ret[$i][1],$ret[$i][4],$ret[$i][2],$ret[$i][3]>\n";
&#125;
こんな感じで。第1引数はデータ系列番号(1始まり)、第2引数はデータ系列中のデータ番号(0始まり)。共に省略可。

ソースをざっと見た限りでは、生成したグラフのタイプによってtop, bottom, left, rightがどの順で帰ってくるか違ってるような気がする。

プログラム作成時にテストした方がよい。
なお、どうでもいい話であるが、このメソッドいつも「ホッツポット」と読んでしまう。なんでだ?

numerical X(x軸を数字として扱う)


GD::Graphは基本では全てのXを見出しとして等価に扱う。

だが、散布グラフや1つの列に2つ以上のデータをプロットする場合など、X座標を数字として扱いたい機会は多い。

GD::Graphのマニュアルにあるとおりこの機能は本来はunsupportedである。従って、ちょっとやり方が複雑。


  1. x_min_value, x_max_value, x_tick_numberの3つを設定する

  2. データ系列が3つ以上の値を含む

  3. x軸のデータが全て数字


この3条件を満たすときに数字として扱ってくれるようだ。
use GD::Graph::points;
my $graph = GD::Graph::points->new(400,300);

@data = (
	[1 ,1, 10],
	[1, 2, 3],
);

$graph->set(
	x_min_value => 0,
	x_max_value => 30,
	x_tick_number => 10,
);

my $image = $graph->plot(\@data) or die;

open(OUT, ">test.png") or die;
binmode OUT;
print OUT $image->png();
close(OUT);
setメソッド中の3行はどれをコメントアウトしても表示がおかしくなると思う。

グラフ座標を画像のピクセル座標に変換


val_to_pixel()メソッドを使う。本来プライベートメソッドであるべきものを呼んでる気がするけども。
use GD::Graph::points;
my $graph = GD::Graph::points->new(400,300);

@data = (
	['1st', '2nd', '3rd'],
	[1, 2, 3],
);

my $image = $graph->plot(\@data) or die;
my $green = $image->colorAllocate(0, 255, 0);

my @p1 = $graph->val_to_pixel(1, 1);
my @p2 = $graph->val_to_pixel(3, 3);
$image->line(@p1, @p2, $green);

open(OUT, ">test.png") or die;
binmode OUT;
print OUT $image->png();
close(OUT);
(1,1)から(3,3)の間に直線を引く。numerical Xにした場合でもちゃんと動くようだ。

なお、普通の解説とかサンプルは下記参考サイトが詳しい。

お、Rubyにラッパーあるね。まだ触って無いけど。
[マニュアル]

http://search.cpan.org/~bwarfield/GDGraph-1.4307/Graph.pm
[サンプル]

http://x68000.q-e-d.net/~68user/webcgi/gd-graph.html

http://www.linkclub.or.jp/~ma3ki/webutil/gdgraph/howtograph.html
OK キャンセル 確認 その他