# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+use Getopt::Long;
+
sub unpack {
local ($_) = @_;
$_ = unpack ("B*", pack ("H*", $_));
- $width=length($_)/16;
+ $width=length($_)/$charheight;
s/(.{$width})/\t$1\n/g;
y/01/-#/;
$_;
$_;
}
-s/([0-9A-F]{64})/&unpack($1)/ie ||
+$result = GetOptions (
+ "height|h=i" => \$charheight
+);
+
+if (not $charheight) {
+ $charheight = 16;
+} elsif (!($charheight == 16 || $charheight == 24 || $charheight == 32)) {
+ die ("Invalid height\n");
+}
+
+s/([0-9A-F]{256})/&unpack($1)/ie ||
+s/([0-9A-F]{192})/&unpack($1)/ie ||
+s/([0-9A-F]{144})/&unpack($1)/ie ||
+s/([0-9A-F]{128})/&unpack($1)/ie ||
+s/([0-9A-F]{96})/&unpack($1)/ie ||
+s/([0-9A-F]{64})/&unpack($1)/ie ||
+s/([0-9A-F]{48})/&unpack($1)/ie ||
s/([0-9A-F]{32})/&unpack($1)/ie ||
s/\t([-#]+)\n/&pack($1)/e;