6 ($plandatac,$forui,$matrixinfo, $height,$psdpi)=@ARGV;
8 open M, $matrixinfo or die $!;
11 map { die "$_ ?" unless m/^[-0-9.]+$/; } @matrix;
15 # inverting the matrix ??
17 for ($i=0; $i<4; $i+=2) {
18 $d += $matrix[$i]*$matrix[$i];
21 for ($i=0; $i<4; $i++) {
27 print STDERR "matrix: ",join(" ",map { $_+0 } @matrix),"\n";
29 open C, $plandatac or die $!;
31 $!=0; defined($_=<C>) or die $!;
32 next unless m,^/\* region\: (\d+)\.\.\d+ (\d+)\.\.\d+ \*/$,;
39 open U, $forui or die $!;
42 next unless m/^[^\#]/;
43 m/^(layout-subseg-end \w+ \w \w) ([0-9.]+) ([0-9.]+)$/ or die "$_ ?";
44 ($lhs, $xup,$yup) = ($1,$2,$3);
49 $x = $xup*$matrix[0] + $yup*$matrix[2];
50 $y = $xup*$matrix[1] + $yup*$matrix[3];
60 printf "%s %f %f\n", $lhs, $x, $y or die $!;