+
+ my @demo;
+ my $democols = 6;
+ foreach my $chr (sort keys %chrpolys) {
+ my $chrx = sprintf '%#x', ord $chr;
+ my $mod = "Commitid__chr_$chrx";
+ p "module $mod () {\n";
+ foreach my $poly (@{ $chrpolys{$chr} }) {
+ p " polygon([";
+ my $delim = "";
+ foreach my $pt (@$poly) {
+ p $delim;
+ $pt =~ s{\d{5}}{$&,};
+ $pt =~ s{\b\d}{$&.}g;
+ p "[$pt]";
+ $delim = ',';
+ }
+ p "]);\n";
+ }
+ p "}\n";
+ my $px = @demo % $democols;
+ my $py = int(@demo / $democols);
+ push @demo, " translate([$px * 1.600, $py * 2.400]) $mod ();\n";
+ }
+ p "module Commitid_FontDemo(){\n";
+ p $_ foreach @demo;
+ p "}\n";
+
+# use Data::Dumper;
+# print Dumper(\%chrpolys);