X-Git-Url: http://git.shiar.net/unifont.git/blobdiff_plain/119a78c606ce7e90f07f84f5307628fd5a0837f7..7c29a68c187ca8c0ef5cf975b874a91d0f227800:/src/hexdraw diff --git a/src/hexdraw b/src/hexdraw index 90b2012..03b019b 100755 --- a/src/hexdraw +++ b/src/hexdraw @@ -18,10 +18,12 @@ # along with this program. If not, see . # +use Getopt::Long; + sub unpack { local ($_) = @_; $_ = unpack ("B*", pack ("H*", $_)); - $width=length($_)/16; + $width=length($_)/$charheight; s/(.{$width})/\t$1\n/g; y/01/-#/; $_; @@ -35,6 +37,22 @@ sub pack { $_; } -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;