<img src="tfc.cgi?表示桁数+カウント増減数">拡張子はここではcgiにしていますが、サーバによってはplにすべき場合もあります。
$w = $keta * 16; # $ketaに表示するカウンタの桁数が入っているとする
$h = 16;
print("Content-type: image/x-bitmap\n\n");
print("#define tf_width $w\n#define tf_height $h\n");
print("static char tf_bits[]={\n");
# 0から9までの画像データ(16×16ピクセル)
@digits = (
128,7,64,8,32,16,16,16,16,16,8,16,8,16,4,16,4,16,4,8,4,8,4,4,4,4,4,2,8,1,240,0,
0,12,0,10,0,5,128,4,64,2,0,2,0,1,0,1,128,0,128,0,64,0,64,0,32,0,32,0,16,0,16,0,
128,7,64,8,32,16,16,16,16,16,0,16,0,8,0,4,0,2,0,1,128,0,64,0,32,0,16,0,40,16,196,15,
192,3,32,4,16,8,16,8,0,8,0,4,0,2,128,1,0,2,0,4,8,4,4,4,4,4,4,2,8,1,240,0,
128,0,128,0,64,0,64,0,32,4,32,4,16,2,16,2,8,1,8,1,252,15,128,0,64,0,64,0,32,0,32,0,
128,0,128,31,64,0,64,0,32,0,32,0,16,0,240,1,0,2,0,4,0,4,4,4,4,4,4,2,8,1,240,0,
0,6,0,1,128,0,64,0,32,0,32,0,16,0,248,1,8,2,4,4,4,4,4,4,4,4,4,2,8,1,240,0,
64,0,192,31,32,16,32,16,16,8,16,8,0,4,0,4,0,2,0,2,0,1,0,1,128,0,128,0,64,0,64,0,
128,7,64,8,32,16,16,16,16,16,16,8,32,4,224,3,16,4,8,8,4,8,4,8,4,8,4,4,8,2,240,1,
128,7,64,8,32,16,16,16,16,16,16,16,16,8,32,8,192,7,0,4,0,2,0,2,0,1,0,1,128,0,128,0);
# 指定した桁数の画像を作る $countに表示すべき数値が入っているとする
$fwd = sprintf("%0${keta}d",$count);
for ($i = 0; $i < $h; $i++){
foreach $k (0..($keta-1)) {
$dg = substr($fwd,$k,1);
printf("0x%02x,0x%02x,",$digits[$dg*32+$i*2],$digits[$dg*32+$i*2+1]);
}
}
print "};\n";
XBMを使う長所・短所は次のようになります。
長所
<table><tr><td color="#ffffff"> <img src="tfc.cgi?表示桁数+カウント増減数"> </td></tr></table>のようにカウンタ表示の部分だけ明るい色にすることです。