From ef8f7cad3776b0b750528a2df2a6aaf7a95ba8bd Mon Sep 17 00:00:00 2001 From: ian Date: Sat, 16 Sep 2006 01:12:43 +0000 Subject: [PATCH] trim-ps script to make files print faster --- layout/layout | 9 ++++----- layout/trim-ps | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 5 deletions(-) create mode 100755 layout/trim-ps diff --git a/layout/layout b/layout/layout index ed8ba2f..d201023 100755 --- a/layout/layout +++ b/layout/layout @@ -169,7 +169,7 @@ our $lmu_lenboxh= $lmu_marktpt * 1.100; our $lmu_txtboxpadx= $lmu_marktpt * 0.335; our $lmu_lenboxpadx= $lmu_marktpt * 0.005; our $lmu_txtboxoff= $lmu_marklw / 2; -our $lmu_lenboxoff= -$lmu_marklw * 1.5; +our $lmu_lenboxoff= -$lmu_marklw * 1.0; our $lmu_txtboxlw= 1; our $olu_left= 10 * $scale; @@ -777,13 +777,12 @@ print DEBUG "ps $p0 $p1 $lenperp ($ppu)\n"; my ($pt,$ad,$len); $param= ($p0+$p1)*0.5; $pt= &$calcfn; - $ad= ang2deg($pt->{A}) + 90; + $ad= ang2deg($pt->{A}); $len= sprintf "%.0f", $lenperp * abs($p1-$p0); ol(" gsave\n". " $pt->{X} $pt->{Y} translate\n". - " $ad rotate 0.75 dup scale\n". - " 0 $lmu_lenboxh $lmu_lenboxpadx $lmu_lenboxoff". - " ($len) label_in_box\n". + " $ad rotate\n". + " lf setfont 0 $lmu_lenboxoff moveto ($len) show\n". " grestore\n"); } return unless $draw =~ m/[ARS]/; diff --git a/layout/trim-ps b/layout/trim-ps new file mode 100755 index 0000000..740d0f7 --- /dev/null +++ b/layout/trim-ps @@ -0,0 +1,35 @@ +#!/usr/bin/perl +foreach $e (qw(M=moveto + L=lineto + N=newpath + C=closepath_clip + W=setlinewidth_stroke + R=grestore + S=gsave + I=setgray)) { + $_= $e; + s/^([A-Z])\=// or die; + $letter= $1; + y/_/ /; + $defs.= "/$letter { $_ } bind def\n"; + $func.= "s/\\s$_\\s/\\n$letter\\n/g;\n"; +} +eval "sub s { $func }; 1;" or die $@; + +while (<>) { + if (m/^\%\!/) { + print or die $!; + print $defs or die $!; + } elsif (m/^\%/) { + } else { + s/^\s+/\n/; s/$/\n/; + s/\s(\d{3,}\.\d{0,3})\d*\s+(\d{3,}\.\d{0,3})\d*\s+(moveto|lineto)\s/ + "\n$1 $2 ".uc(substr($3,0,1))."\n" + /ge; + &s; + s/\n+/\n/g; + s/^\n//; + print or die $! + if m/\S/; + } +} -- 2.30.2