]> mj.ucw.cz Git - misc.git/blob - ucw/draw-digit
Digit: Cropmarks
[misc.git] / ucw / draw-digit
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Cairo;
7
8 my $u = 72/4;
9 my $s = Cairo::PdfSurface->create('digit.pdf', 7*$u, 7*$u);
10 my $c = Cairo::Context->create($s);
11 my $n = 0;
12
13 $c->set_line_width(2);
14 $c->set_line_cap('round');
15 $c->set_source_rgb(0, 0, 0);
16
17 while (<>) {
18         s/^@@ // or next;
19         chomp;
20         my @r = split /\s+/;
21         @r == 5 or next;
22
23         for my $r (@r) {
24                 my ($x1,$y1,$x2,$y2) = $r =~ /^\((\d+),(\d+)\)-\((\d+),(\d+)\)$/ or die;
25                 $c->move_to((.9*$x1+.1*$x2)*$u, (.9*$y1+.1*$y2)*$u);
26                 $c->line_to((.9*$x2+.1*$x1)*$u, (.9*$y2+.1*$y1)*$u);
27                 $c->stroke;
28         }
29
30         $c->show_page;
31         $n++;
32 }
33
34 print "Output $n pages.\n";