ウクレレ記法でトラブル?

C <これは表示できない

C@3000 <これは表示できる

引数にfletsとっていないやつがNGっぽい。

微妙に追記

http://d.hatena.ne.jp/images/ukulele/C.pngでリクエスト投げると,FireFoxさん曰く「画像ファイル "http://d.hatena.ne.jp/images/ukulele/C.png" は壊れているため、表示できませんでした。」とな。IEだとダメ画像アイコン。ViewSourceすると,データは来ているみたいだけど,手元にバイナリを見る道具がないや。あってもPNGの仕様よくしらない。

さらに追記

http://d.hatena.ne.jp/secondlife/20060707/1152253926

によると,

GD::Tab::Ukulele として CPAN に登録してある

なんですとー! 今から取ってくる。

コードはわかったのでもうちょっとテスト

これは表示できない? CAmFG
これは表示できる?C@3000Am@0002F@0102G@2320

もうちょっとテスト

http://d.hatena.ne.jp/ukulele?chord=C

はどうですかね?

くるねー

上のリンクをクリックすると見慣れたCが出るはず。

ここからは予想。

  • 負荷減らすために,引数をとらないやつは,どっかのdir/C.pngみたいにスタティックなファイルで置いてある
  • で,鯖移転かなんかで,ファイルをコピーするときか,負荷分散装置あたりで,しくった
  • 中の人が気づけば,すぐに直るでしょう

以上。ウクレレ練習しよう。

やっぱ気になるので追記。

まずバイナリエディタを入手。http://www.zob.ne.jp/~c.mos/soft/bz.html

あとPNGの仕様をhttp://homepage2.nifty.com/sophia0/png.htmlで見つける。

バイナリ読むのなんて何年ぶりだろう…

これはいわゆるLFをCRLFに置換でやっちゃいましたか?

期待されるC.pngのデータは
89 50 4E 47 0D 0A 1A 0A-00 00 00 0D 49 48 44 52

で,今おかしいC.pngのデータは
89 50 4E 47 0D 0D 0A 1A-0D 0A 00 00 00 0D 49 48

で,おかしいほうはトータルで2バイト増えている。

「0D 0A」ってCRLFだよね。おかしい方はCRCRLFになってる。うーん。0AなLFが出るたびにCRLFに置換するとこうか。なんかそういうたぐいのような話の気がしてきた。

ほかのコードでも確かめればわかるかも。ま,わかったところで直せないわけだが。FTPクライアントで,ASCIIでやっちゃいましたみたいな話かなー。お風呂に入ります。キャリッジリターン! ラインフィード!!

お風呂からでてきた

Fでも見てみた。やっぱりそうだ。0Aが0D0Aに置換されちゃってる。中の人さん,いつもお世話になっております,あとは頼みます。頼りにしてます。

あと,GD::Tab::Ukuleleはよい感じのコードでした。id:secondlifeさん,素敵な機能をありがとうございます。