●ソース置き場,自作ソースコードなど雑多な置き場です。C言語 (ANSI C)\, Perl 5.6.1 などで作成、確認。 2004-01-03,mkblog.pl,mkblog.pl.txt,ケータイ写真日記の HTML を出力する Perl スクリプト。$テキストファイルを読み込んで、カレントディレクトリにある画像ファイル名 (某ケータイの JPG ファイル名形式に依存) も読み込む。このページで公開している imgsz が必要。 2003-12-12,imgsz.c,imgsz.c.txt,画像ファイル (jpg, gif, png, xbm) の幅・高さを HTMLフォーマットで出力する。複数のファイルを引数にとることができる。$使用法:
$ imgsz image/*jpgとすると以下のような文字列を出力する。
<img src="image/nyanko.jpg" width="527" height="403" alt="">'-e' オプションで Exif 情報のデジタルカメラ機種名と撮影日時も出力できる。 '-2' オプションは小さなケータイ画像のためのもので、画像を 2 倍の大きさで web ブラウザに表示する HTML を出力。ソースコードは、LittleEndian で long が 32bit の CPU (Intel Pentium シリーズ等) にしか対応してません。 2003-12-12,jpghd03.c,jpghd03.c.txt, jpghd に Exif 情報を読み込む機能を追加したもの。$参考にしたのは Exif については http://www.exif.org/specifications.html と http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif.html。JPEG/JFIF については http://www.w3.org/Graphics/JPEG/。Exif データはデジタルカメラの出力した JPEG 画像に含まれているので、ケータイ新製品SHOW CASE と スタパトロニクス の画像をテストに使った。今のところ Exif 情報の ASCII 文字列の読み込みしか実装していない。ソースコードは、LittleEndian で long が 32bit の CPU にしか対応してません。 2003-12-10,jpghd.c,jpghd.c.txt,imgsz を作ってたとき、JPEGヘッダを調べるため作ったもの。$参考にしたのは www02.so-net.ne.jp/%7Ekoujin/jpeg/jpeg.html と
$ jpghd ../public_html/cat.jpgJPEGファイル内部は、おおかまかにいえば、ヘッダと圧縮データ部に分かれている。ヘッダは複数のセグメント(chunk)で構成されてて、「SOI」セグメントでファイルが始まり、「SOFn」(baseline JPG だとn=0, プログレッシブJPGだと 2かな?) に、画像の幅、高さ情報がある。「SOS」セグメントのあとで圧縮データが始まる。圧縮データのなかにもセグメントが存在することがある。'0xff'のあとが'0x00'のときでないときはそれはセグメント(の先頭)。普通現れるのは「RSTn」セグメントか「EOI」セグメントなんだけど、「SOS」が複数回でてくることもあるようだ。 2003-09-12,hxname.pl,hxname.pl.txt,HTML の <h1>..</h1> といったヘッダ要素に自動的に <a name="1">..</a> というアンカーをつけてくれるスクリプト。そのアンカーへのリンクがある目次もつくる。ただし <h1>..</h1> は一行で書く必要がある。$標準出力 (STDOUT) へ HTML を出力し、標準エラー出力 (STDERR) へ 目次 を出力する。使い方:
$ ./hxname.pl < foo.html 1> bar.html | lessとすると、bar.html へ HTML を出力して、画面には目次を出力する。 2003-04-13,mkhtml.pl,mkhtml.pl.txt,このページを作成するときに使った Perl スクリプト$使いかたは
$ perl mkhtml.pl < dat.txt > sources.htmldat.txt の書式例 2003-01-25,digiotxt.pl,digiotxt.pl.txt,StarDigio (SkyPerfecTV! の音楽専門チャンネル) の番組表 PDF を取得してテキストファイルにする$日付付きファイル名で保存するので、あとから参照するのにも役立つ。perl\, wget\, pdftotext が必要だが、RedHatLinux 7.3 を標準インストールするとどれも最初から入っていた。ただし pdftotext は日本語化するために別のファイルが必要。使用法は、
$ ./digiotxt.plとする。カレントファイルに pdf と txt ファイルが保存される。取得するチャンネルは、ソースコード冒頭の @channel に記述する。 2002-08-03,
$ fakewav -p"pass phrase? It is a long password." nasty.jpgと実行すると nasty.jpg.wav という エセWAVファイルが作られる。WAVファイルとして聞くこともできる (ただのノイズだが)。-p と " のあいだにスペースを入れてはいけない (スペース入れるとパスワードなしとなる)。Unix の場合、ファイル名を複数指定することができる。Windowsだとワイルドカード使うのはやめたほうがいい。パスワードには日本語使わないほうがいい、コンソールの文字コードがOSによってちがうから。
$ fakewav -d -p"pass phrase? It is a long password." nasty.jpg.wavとすればよい。パスワードをまちがえても、元ファイルがまちがって復号化される。パスワードを忘れたときの対処法はない。ファイルは必ずカレントディレクトリに書き出される。暗号化されているファイル名に拡張子がないと復号化のときエラーになる。復号ファイル名は、暗号化ファイル名から拡張子を1つ取り去ったものになる。 2001-11-08,shiftjis.pl,shiftjis.pl.txt,下の Shift_JIS文字表を作ったときの Perlスクリプト$
$ perl shiftjis.plと実行すると s.txt が作られる。 2001-11-08,shiftjis.html,shiftjis.html,Shift_JISの全文字を表示する$Shift_JISの全文字を表示。HTMLの <table>がたくさん使われているので、CPUパワーがない場合、表示させないほうがよい。
$ hd -d dog.png | head -n 64 | lessEUC-JP:
...\nSTARTCHAR a\nENCODING 97\nSWIDTH 600 0\nDWIDTH 9 0\nBBX 7 7 1 0\nBITMAP\n78 -####---\n84 #----#--\n04 -----#--\n7C -#####--\n84 #----#--\n8C #---##--\n76 -###-##-\nENDCHAR\n...\n2000-11-23,build 95knmfont,../font/mk95knm.html,95knmfont1.3の作りかた 2000-10-17,95knmfont,../font/95knmfont.html,Windows95/98で使う小さめのフォント 1998-07-25,Tica to UI font,../font/tica-ui.html,Ticago の半角カタカナ形状変更