Blame


1 61746420 2005-08-31 devnull #!/usr/local/plan9/bin/rc
2 61746420 2005-08-31 devnull
3 61746420 2005-08-31 devnull # extract pages $OLIST from postscript on stdin
4 61746420 2005-08-31 devnull
5 61746420 2005-08-31 devnull if(~ $OLIST '')
6 61746420 2005-08-31 devnull exec cat
7 61746420 2005-08-31 devnull
8 61746420 2005-08-31 devnull awk '
9 61746420 2005-08-31 devnull BEGIN {
10 61746420 2005-08-31 devnull x=ENVIRON["OLIST"];
11 61746420 2005-08-31 devnull gsub(/^-o/, "", x);
12 61746420 2005-08-31 devnull na = split(x, a, ",");
13 61746420 2005-08-31 devnull header = 1;
14 61746420 2005-08-31 devnull goodpage = 0;
15 61746420 2005-08-31 devnull }
16 61746420 2005-08-31 devnull
17 61746420 2005-08-31 devnull header || goodpage {
18 61746420 2005-08-31 devnull print
19 61746420 2005-08-31 devnull }
20 61746420 2005-08-31 devnull
21 61746420 2005-08-31 devnull /^%%EndSetup[ ]*$/ { header = 0; next }
22 61746420 2005-08-31 devnull
23 61746420 2005-08-31 devnull /^%%Page:/ {
24 61746420 2005-08-31 devnull header = 0;
25 61746420 2005-08-31 devnull p=$2+0;
26 61746420 2005-08-31 devnull goodpage = 0;
27 61746420 2005-08-31 devnull for(i=1; i<=na; i++){
28 61746420 2005-08-31 devnull if(aa=match(a[i], "-")){
29 61746420 2005-08-31 devnull low=substr(a[i], 1, RSTART);
30 61746420 2005-08-31 devnull high=substr(a[i], RSTART+RLENGTH);
31 61746420 2005-08-31 devnull if(low == "")
32 61746420 2005-08-31 devnull low = 0;
33 61746420 2005-08-31 devnull else
34 61746420 2005-08-31 devnull low = low+0;
35 61746420 2005-08-31 devnull if(high == "")
36 61746420 2005-08-31 devnull high = 100000;
37 61746420 2005-08-31 devnull else
38 61746420 2005-08-31 devnull high = high+0;
39 61746420 2005-08-31 devnull if(low <= p && p <= high){
40 61746420 2005-08-31 devnull goodpage = 1;
41 61746420 2005-08-31 devnull break;
42 61746420 2005-08-31 devnull }
43 61746420 2005-08-31 devnull }else{
44 61746420 2005-08-31 devnull if(a[i] == p){
45 61746420 2005-08-31 devnull goodpage = 1;
46 61746420 2005-08-31 devnull break;
47 61746420 2005-08-31 devnull }
48 61746420 2005-08-31 devnull }
49 61746420 2005-08-31 devnull }
50 61746420 2005-08-31 devnull }
51 61746420 2005-08-31 devnull
52 61746420 2005-08-31 devnull /^%%EndPage[ ]*$/ {
53 61746420 2005-08-31 devnull goodpage = 0;
54 61746420 2005-08-31 devnull }
55 61746420 2005-08-31 devnull
56 61746420 2005-08-31 devnull /^%%Trailer[ ]*$/ {
57 61746420 2005-08-31 devnull goodpage = 1;
58 61746420 2005-08-31 devnull }
59 61746420 2005-08-31 devnull
60 61746420 2005-08-31 devnull '