summaryrefslogtreecommitdiff
path: root/script/qr-color.pl
diff options
context:
space:
mode:
Diffstat (limited to 'script/qr-color.pl')
-rw-r--r--script/qr-color.pl26
1 files changed, 17 insertions, 9 deletions
diff --git a/script/qr-color.pl b/script/qr-color.pl
index 2c7735f..807ec25 100644
--- a/script/qr-color.pl
+++ b/script/qr-color.pl
@@ -10,7 +10,10 @@ use open ':std',':locale';
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($INFO);
-Log::Log4perl->get_logger('GridFiller::Result::Pango')->level($DEBUG);
+#Log::Log4perl->get_logger('GridFiller')->level($INFO);
+#Log::Log4perl->get_logger('GridFiller::Chooser')->level($DEBUG);
+#Log::Log4perl->get_logger('GridFiller::Status')->level($DEBUG);
+#Log::Log4perl->get_logger('GridFiller::Result')->level($DEBUG);
binmode DATA,':utf8';
@@ -29,16 +32,21 @@ my $filler=GridFiller->new({
grid=> $arr,
});
-$filler->result(
- GridFiller::Result::Pango->new({
- source_grid => $filler->grid,
- })
-);
+my $result = GridFiller::Result::Pango->new({
+ source_grid => $filler->grid,
+});
+
+$filler->result($result);
$filler->status->mode('longest');
-$filler->status->length(sub { int(length(shift)/2) });
-$filler->fill();
+$filler->status->length(
+ sub {
+ my $p = $result->layout_for_word(shift);
+ my ($w,$h) = $p->get_pixel_size;
+ return int(0.5 + $w / $result->cell_size);
+ }
+);
-my $result=$filler->result;
+$filler->fill();
$result->save_png('/tmp/qr.png');