PixelEq

Display equations

This is Euler's equation:

Inline equations

Here we try to get it inlined:
and it seems to work only in browsers that support display:inline-block (i.e. Opera). Oddly enough, this actually displays in IE (not inlined, but better than Gecko) except in double height.

Generator code

Here is the perl script that generates this given a GIF file:

#!/usr/bin/perl

sub pr{
$rgb = shift;

($red, $green, $blue) = unpack("C3", $rgb);
$av = ($red + $green + $blue) / 3;
if($av > 224){
	print DF 'w';
}elsif($av > 160){
	print DF 'l';
}elsif($av > 96){
	print DF 'g';
}elsif($av > 32){
	print DF 'd';
}else{
	print DF 'b';
}
}

sub main{
$file = $ARGV[0];
$outfile = "$file.tobw.rgbout";
$dumpfile = "$file.bw";
$htmlfile = "$file.html";

system("gif2rgb $file > $outfile");
$sizeline = `giftext $file | grep 'Image Size'`;
$sizeline =~ /Width = (\d+), Height = (\d+)./;
$width = $1;
$height = $2;

open OF, "<$outfile";
open DF, ">$dumpfile";
for $row (1..$height){
	for $col (1..$width){
		read OF, $rgb, 3;
		pr($rgb);
	}
	print DF "\n";
}
close OF;
close DF;

open DF, "<$dumpfile";
open HF, ">$htmlfile";
while(<DF>){
	chomp;
	s/ww/w2/g;
	s/w2w2/w4/g;
	s/w4w4/w8/g;
	s/w8w8/w16/g;
	s/w16w16/w32/g;
	s/w32w32/w64/g;
	s/w64w64/w128/g;
	s/w128w128/w256/g;
	s/w256w256/w512/g;

	s/bb/b2/g;
	s/b2b2/b4/g;
	s/b4b4/b8/g;
	s/b8b8/b16/g;
	s/b16b16/b32/g;
	s/b32b32/b64/g;
	s/b64b64/b128/g;
	s/b128b128/b256/g;
	s/b256b256/b512/g;

	s/([dgl])/<div class="\1"><\/div>/g;
	s/w(\d*)/<div class="w\1"><\/div>/g;
	s/b(\d*)/<div class="b\1"><\/div>/g;

	print HF "<div class=\"row\">$_</div>\n";
}
close DF;
close HF;
unlink($dumpfile);
unlink($outfile);
}

main();