chiark / gitweb /
numbered-alias-sheet: wip for output, debugging, before not use item_size
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 3 Nov 2013 22:31:54 +0000 (22:31 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 3 Nov 2013 22:31:54 +0000 (22:31 +0000)
numbered-alias-sheet

index 0cdc738d93174299b10d5d62520871d258edf25a..e866406e19b4aa2c9f1aba1d0225858b11f93977 100755 (executable)
@@ -360,15 +360,29 @@ sub write_output () {
        prf("%s findfont %s scalefont setfont\n",
            psstring($nums ? $fontname_num : $fontname),
            $lp_y->{f});
+       prf "%s setlinewidth\n", $gap_width * 0.1;
        print DEBUG "nums? $nums rows=$rows\n";
        foreach my $col (0..$lp_y->{0}-1) {
+           my $col_lhs = ($item_size[0] + $colgap_width) * $col;
+           if ($col > 0 && $nums) {
+               prf "newpath %s ", $col_lhs - $colgap_width*0.5;
+               prf "%s moveto ", $eff_paper_size[1];
+               prf "0 %s rlineto ", -$item_size[1] * $rows;
+               prf "stroke\n";
+           }
            foreach my $row (0..$rows-1) {
                my $se = $strings[$col*$rows + $row];
                next unless $se;
-               prf "%s ", ($item_size[0] + $colgap_width) * $col
-                   + ($nums ? 0 : $numbers_metr[4] + $gap_width);
-               prf "%s ", $eff_paper_size[1] - $item_size[1] * ($row + 1);
-               prf "moveto %s show\n", psstring($se->[!$nums]);
+               prf "%s ", $col_lhs 
+                   + ($nums ? $numbers_metr[4]
+                      : $numbers_metr[4] + $gap_width);
+               prf "%s ", $eff_paper_size[1] - $item_size[1] * $row
+                   - $core_size[1];
+               prf "moveto %s ", psstring($se->[!$nums]);
+               if ($nums) {
+                   prf "dup stringwidth pop neg 0 rmoveto ";
+               }
+               prf "show\n";
            }
        }
     }