]> mj.ucw.cz Git - misc.git/commitdiff
Digit: Cropmarks
authorMartin Mares <mj@ucw.cz>
Fri, 2 Sep 2011 15:55:03 +0000 (17:55 +0200)
committerMartin Mares <mj@ucw.cz>
Fri, 2 Sep 2011 15:55:03 +0000 (17:55 +0200)
ucw/draw-digit-multi

index 243bda5700957f884b7d97b2513f42ab191fbe54..ca43aa0410f42c132e2c0efd4753b8c0614991dc 100755 (executable)
@@ -5,7 +5,7 @@ use warnings;
 
 use Cairo;
 
-my $u = 72/4;
+my $u = 72/2.5;
 my $mi = 72/25.4;
 my $pw = 210*$mi;
 my $ph = 297*$mi;
@@ -17,6 +17,19 @@ $c->set_line_width(2);
 $c->set_line_cap('round');
 $c->set_source_rgb(0, 0, 0);
 
+sub cross($$) {
+       my ($x,$y) = @_;
+       $c->save;
+       $c->set_line_width(0.5);
+       $c->move_to($x-.5*$u, $y);
+       $c->line_to($x+.5*$u, $y);
+       $c->stroke;
+       $c->move_to($x, $y-.5*$u);
+       $c->line_to($x, $y+.5*$u);
+       $c->stroke;
+       $c->restore;
+}
+
 my $xp = $u;
 my $yp = $u;
 while (<>) {
@@ -25,6 +38,10 @@ while (<>) {
        my @r = split /\s+/;
        @r == 5 or next;
 
+       cross($xp, $yp);
+       cross($xp+6*$u, $yp);
+       cross($xp, $yp+6*$u);
+       cross($xp+6*$u, $yp+6*$u);
        for my $r (@r) {
                my ($x1,$y1,$x2,$y2) = $r =~ /^\((\d+),(\d+)\)-\((\d+),(\d+)\)$/ or die;
                $c->move_to($xp + (.9*$x1+.1*$x2)*$u, $yp + (.9*$y1+.1*$y2)*$u);
@@ -32,10 +49,10 @@ while (<>) {
                $c->stroke;
        }
 
-       $xp += 5*$u;
+       $xp += 6*$u;
        if ($xp + 5*$u > $pw) {
                $xp = $u;
-               $yp += 5*$u;
+               $yp += 6*$u;
                if ($yp + 5*$u > $ph) {
                        $c->show_page;
                        $yp = $u;