/src/video/png2font.pl
use Image::Magick;
use warnings;
use strict;
{
my $by = shift;
my @out;
for (my $i = 0; $i < @_; $i += $by) {
push @out, [@_[$i..($i + $by - 1)]];
}
return @out;
}
my $image = Image::Magick->new;
$image->Read($ARGV[0]);
print qq{pub static FONT: [[u8; 8]; 256] = [\n};
for my $y (0..15) {
for my $x (0..15) {
my @pixels = map {
$_->[0];
} array_split(4, $image->GetPixels(x => $x * 8, y => $y * 8, width => 8, height => 8));
my @rows = array_split(8, @pixels);
print qq{ [\n};
for my $r (@rows) {
my @pv = map { $_ > 0 ? '1' : '0' } @$r;
print ' 0b', @pv, ",\n";
}
print qq{\n ],\n};
}
}
print qq{];\n};