mah@hpuviea.UUCP (Michael Haberler) (02/15/89)
# This is a shell archive. Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by Michael Haberler <mah@hpuviea> on Wed Feb 15 15:55:39 1989
#
# This archive contains:
# BLURB.Z KIT.Z Makefile.Z README.Z
# commands.h.Z dvi2lj.1.Z dviprint.csh.Z findfile.h.Z
# history.Z make.Z testpage.tex.Z
#
unset LANG
rm -f /tmp/uud$$
(echo "begin 777 /tmp/uud$$\n \nend" | uudecode) >/dev/null 2>&1
if [ -f /tmp/uud$$ ]
then
rm -f /tmp/uud$$
unpacker=uudecode
else
echo Compiling unpacker for non-ascii files
pwd=`pwd`; cd /tmp
cat >unpack$$.c <<-'EOF'
#include <stdio.h>
#define DEC(c) (((c) - ' ') & 077)
main()
{
int n;
char dest[128], a,b,c,d;
scanf("begin %o ", &n);
gets(dest);
if (freopen(dest, "w", stdout) == NULL) {
perror(dest);
exit(1);
}
while ((n=getchar()) != EOF && (n=DEC(n))!=0) {
while (n>0) {
a = DEC(getchar());
b = DEC(getchar());
c = DEC(getchar());
d = DEC(getchar());
if (n-- > 0) putchar(a << 2 | b >> 4);
if (n-- > 0) putchar(b << 4 | c >> 2);
if (n-- > 0) putchar(c << 6 | d);
}
n=getchar();
}
exit(0);
}
EOF
cc -o unpack$$ unpack$$.c
rm unpack$$.c
cd $pwd
unpacker=/tmp/unpack$$
fi
echo x - BLURB.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 BLURB.Z
M'YV01N2\:0."3AT[:<J$"'(ER94J5V+$<"$D"14G1:B$P%BE21 G3D!,"4,'
MA)(P;D#(B $"1@P=+D$T*:(%1(P<.'(HD%)F3)DT=LJ0T0%"3!X0:. <3!AF
MATB2+%2R/)DR9\N7+G70H &B31D]"@(.)&H0H4*&#B%*I&@1HT:.'D'N+&-0
MCIL64$BB(<JC;,*%#1]&G%CQ8L:-13I^=.)CKD^@0HF:$4C0;QD0=]+000.B
M3ITQ<)R.I!-UI4F4(*S"@*$C1@T=,W3R?!QT:-&CEEUX!BV:Y.F4IE>W?AW;
M)D[9/7_6EDRY:QHW=%SXM L"19OG=%+<!C'=C9TP>'1_AE-]HHP75=C0D9,&
MCPP7,%H(2:$@01HR((($B6&CAHT<O9$FU6^IY= 2:S#( )N!*[BTFF/*1;;=
M==!)5P9U*'3W'1[:H4"#"S&<-P.(--!G'W[ZR6!#;#<X%5 :I<% H%7\:44#
M;#6 T& ,#S91QAQSA'%&&2TD81L/.;DD@TLU;.5"BBOF< ,0%$;776.S16B;
M4=Q=Z!UX(+Q(X)(VV6 C3#;4-]E (,"U&!!H";9686Z!8,8;<G051AIL7 B$
MAF B% 8(<LPQQAPN*("%?)JY05<+4Y3A!AD7$N4F2' &IA9A;64$@@)$D%0&
M42_&.*.!-<[PDHH@/$2% E2\05122Y411@AMA(&& D,,Y!5T1 TAQ1-33%%G
MKGR"(*A,023!1!%2 #$$M$Y8$006"DQ1AQAJ]$0'43SU&<8<E\'@PE8@O&$&
M"&0@) ,>X8T!0AIS@!#&=WR&(4:?"H J*E%D4F5<3E'5N&1K,H1%F:6)Q162
MO27%N6FVVW8[QK=MEG$'H66(2VYUYFZEG;KLN@NO B"DG#*HMN99AY"7Q4UI5)OY1B\(+1!*^AEH1"TV'+:N\=P9L'N>>>-N\&Y&
M&H72$?K/9025TNE#IF2XVRG]+#=^S(=-\J!DO#%&'6J[D)\9=&P^<^C#%X]4
M&&RL6_=EU=<;AASL_RZ4VW:^P08;;V06_/EPX.[&''I36>=2-K00D<5NG]-<
MGL10AC+ 80Y1F0,:\E<OKP )=2"HPD3RDY+%78@D> H=W\Y6+SIT#G[#NQ_]
M$A@^ZJ&N7MCIW.7"@#N?R2$,1WF>"46H,J5(D'Z$@\YSZG 9,=2!#B;L8/00
M*#\Y)$J *F."$IKV-#[EX8#QP\[FYF#"!T9P@G>HX(^"-"00B, (12@"$41@
M-/S,(3-T&$/2YL##E#U.3VZH _KLU,##"<5[@,NB KGS.. 1L5YW2%I*?C(S
M.=1QA?)SX9#<!S\^XB>&],M5'O=8/3X*Y4(L>"2>Z.?!&YHP3SZ<(Q +.<0B
M'C&)U0D#^#8'!S:$80R[LQ/QN/C(RT72<R_DF@E72$/QW3 /*7@BWT(7R+OM
MS%[WHR#](I<NQCDN)6T3PQLVXSOLM( ,Q//6->N%@C5!IP7'>T,+Q'#+-:1K
M@>UL@0F;)A#H=%.(P4LF"))0DO4DI(2=8R!W^O3,YW1)#G38DQM"-X9Q_2B
M=E19(B5EK]%M3VWG<U\'R8"?/+:!@3%;5_OF59+GP&QMHAL?WU3&'MJ5I):W
MO QJRM &QAVE>J$;(&846='L7512)>'B^U *1\YT4D8_(X/.-F?2"Z%TIC6E
M0QX>V4E9AL]G=HL/3J&8LHDZSW,)\4FZUH4][7$/J/.J%POGU[J@)A2AB-3,
MKE::LIDJ#YA#:H%'04K2>Z)T,Z^K:C_MQLXQK&$.]RF#*-?UL_)Q$:^7&::D
MYE"'2K:5E!P56V(I*5,VW &'=*1KNI9X&7.N+;& S&H+.OFZ]=BJA2! W!ID
MNE%)ED&9*F.FW;)7NA\EMIJ-N^,=\'38^N4)?563(@1!X(9MCM9V;5-IR@0'
M LFIKF.8D>OHPL;;??F64JO]72Y1<$N#(#</44G#Z-QP N.I; W-W=@=Z)*T
M/&E&3[.MX&<X0Z[_*8ZTS-48"*2XSR14%V+09$,R>1BZ(=SKM:.E7W?[A%CP
M+BZX;B#*%7AZW]=5#C^3*4,<B B=J.4T9BG9V5%L*8<RIO!'Z2W)=5Q:E)Z0
M+< ^N: <<-.Y,8AKH2KSI1;SU(;]=@5/I87?B($:-=RNS&\@:"9U"=<&31XN
M<<"])NS@@(7)I42@'^:<O;2)4+_N+G16%9_=2$<'I92$9%T>:890(R[\#).+
M-PS>9>!'6?4 =$B-#%U184<$?1JXAF-SPWG912_91A8-K[OP-5-[&7)MKY*?
M/8JZ0L?"7 [J=&6^GD7/:D\/(W9_3:O.FMJ@G>?)LSHF7/!*%0#E,]P0#I"6
MUW-\7 =*L8U/89L#[G YO/E%UVY(@$(+I$A%J.4!MT; 4ZY*6B\N"+LG:4#?
M'E[< R(0RPE!F$D?HC+12GK;6.$N0D:/9[>>$42ID-'!Z3;S D5[Q05EP$-T
M&)R$=>6!=)A!23]/F!S(2)A>_C0BACWGL4I+"C^#DB">2M+<\"6J!6=X64+-
$T"\% .6!
end
@eof
chmod 644 BLURB.Z
echo x - KIT.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 KIT.Z
M'YV01N2\:0."3AT[:<J$"'(ER94J5V+$<"$D"14G1:B$P%BE21 G3D!<*4,&
M1),P>4" H $"1@X=-&*8+#(%1(P<.' HD%)F3)DT=DCJ "$F)1HX!Q.&V2&2
M)(N5)E&"R-GR94P=,&2V*3-'0<"!0PTB5,C0(42)%"UBU,C1(\B=90S*<=,"
M2A@Z:(;R$)MP8<.'$2=6O)AQ8Y&.'YWX@.L3J% 09@02Y%L&Q)TT>$'4J3,&
M#M.19)ZR/)F2*@P<.FK P$J#\<^@9(86+9BTC(O-G3^3C)H2ZNG4JV&PO)G3
MM>/8D"6#:)/T7/N>"0,'<>0JB*:.[L1,&SVW.<*9/E/&B"ALZ<M+@D>$"
M1@LA*10D2%,R2)#3,F[<T!T:*NFI.+2$&@TVZ" 1""O ( ,,,!@'FVPI5?><
M=M-IQQT>UZ% @PLQD#<#AS3$-U]]0<A00PTVQ,"?:+P!*"!,!<(P X(*,JA
M$US-$<899;20!'(\Y 2#:C3 8 .!+MAG(HHQ "$A=&7,M1A/C3V('0@6=M=4
M2?_Y-F -,,T@7V0#@=!68D"4!1A:@ZT%V1MR+!=&&FQ$"426>(" 4!@@R#''
M&'.XH 6[V'F1EPM3%&&&V1$.=29(*7YUUF"J941" H0<5<90U%11QE/R=@B
M50MB!>8,+#U$A0)4O#'44;6%$4(;8:"AP! #;>7<4$-(\<044[A)*YUZIL&G
M1TDP48040 RQK!-6!(&% @ID\48=(,R!QK5LE"1'3Z]5%@899&"6QAMNA,$&
M&RF9\<:Z;USFQAF0T<F5#@JHI"^K9>!!1[UUSH&OOD18D80,6& !PA#YJE3P
MP0F#@$024U#QA!19-+SP$TVX141-2&AL1!).$#&RLA)K3 5-5$ 1Q!%%@+#R
9M/JJI,"W9X0A!QE=M0#"&77,04<89E"K !).
end
@eof
chmod 644 KIT.Z
echo x - Makefile.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 Makefile.Z
M'YV0(Q2,2%"$3!HZ(,+,20@'CIPW#M.$H5,&1 L0>=[4 =$F#9LR8<Y4['@&
M#4([8>3D<2%0 1,E1I@$.3(E 8B;.'M8)/)201(A36+.G((SY\Z?36;@B"%#
M@9$G3J@$D5(D2-&;/;B(>%%GCIP7;-Z,"<,&;!HQ+RCB>6'FC1LZ<[2"4*!@
MB%":-J_J;$'D:=2I57N00.%7*M4@*2P^44"DR!0J>8OJY.H5K%BR+\2D<:.@
M21 GC1]'-DKY:]BQ9=N$<?-"M9L8"I 0D5+S*@B=8]ZT<4UFC@LT(+@H2$ \
M@9G-9(Y__.W3R>,@3)B,Q@IB\QPZ9-FX)#+]-H@Q8Q1 D?+DB)0@3;KK)&,G
MC0PV:K;?K:W7Y4_ZDCL'65+$2!(F1=BF4Q-AK%&&<F4H\(002N!G%'ONX8&'
M"V^()T424:D' AMP*# %$D5$IV%FF[TP!QH>2C&$@]1!*(.$+H2G0'8Z$.<B
M?""X>%8;<REPHQHUN@AC>,0--L00B1DY7Y(HO+1DCNV]..$8%KT!I7OP#9<
M$&6,@8:5(I#A5ADBT*6C&&WHH*612(*@I$PT,8G4DT).6>65,NRH)9=>@BFF
M&V32-<9'J^FP W% R,%C"V:XB<*"#2:6FQP)*C#H&V*(488<AFZIJ$6-#@;I
M%$R.5]YY34CZ!J4@8'?&'&:6 4<9;I#1*1!MK-%&HXPZZAE__@&8&'E/4"$8
M"L12D0)=77[9Z9;-6CF8;+0Q.86*I-*%7!EX/ O$&*XNU,(=>#A*+:F.7KOB
ML@I8AQT;; 0999:(1@M"$FY<E]UF9SAJJGGH);:9HZ$INV<+U\F1!AS^D@=P
MJGNFT>@6!#NF+ @AZ.0""%WLT"H:M :G)0J?]CI8P2F\,-B_J*;@\6 8/A==
MJ0ZW7/%C*;@,PG%[VHNOOO#RR]%J<(14T<"#>0::Q<L2-P;#/[H0@Z^?H4Q7
M1&]YN_*%43%YKK78LANN#K9=->ULZ ZF+JD>?QNNN6B#O2Y==<!!QD1EU)C
MR4RKC ++ =/%-\Y^ YXJV6J'[2@3]WD=]UR()KU?$8F9C,*O_?U'.0C)'IML
M8@4?BW)U^;ZKW0BH^Q@EC&^0G=MNJ_7V&PBEO;#9H'6048:)="CLQAFSUWX[
M&[GO/D<:9[A!UNS")2"\&[CK;F(><YB(O/)L!-_55\,7WUH87FZVNQERA-%&
M&<P/]WSTNZL6/J FAF%'&5_H2Y'VE74OO?MHB,]6^>=+G_.V9SOH$6]_X.L?
M_.8@/_K9#WW 6=\!C4>]Z<T!-=D#3O,DZ+WK&.0-^..> ;T'KCS,*H0%9)\%
M7U T J0@])#0UI,6 ;?1)" ^J-@]>A 0QN*;(#Y&R$"W[>[%IH/A3E\@0SG
M0#WW/<2'&\2A$'5H02>^P8<P;%\"_3<'.&3PAUG\'A%9F)(CWC"(*N0?%[WX
M0BFJ<(G76]X91?C&%ZS!(64H0QO@0(?9':=6"&HC&B>X0OLA<8HKI$,:SB<&
"Y@"J
end
@eof
chmod 644 Makefile.Z
echo x - README.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 README.Z
M'YV01N2\:0."3AT[:<J$"'(ER94J5V+$<"$D"14G1:B$P%BE21 G3D!,J>,&
MA)(P)67( *%21XP<()H4T0+B)8X<"J24&5,FC9TR9'2 $),'!!HX!Q.&V2&2
M) N6*T^6O G590X=-7" :%-&CX* X4:1*B0H4.($BE:Q*B1HT>0.<L8E..F
M!90P=- (Y3$VX<*&#R-.K'@QX\8B'3\Z\1&7IT^@0LT()-BW#(@[:?*"J%-G
M#!RF(]T\56D2)0BJ+6/8T$'C1N.>/X,.+5K9!6?/H$F63KDR]>K6-7/<?/U8
MMN2!6].XH>.")UT0*-HHIY-B-@CG;NR$P6.[,QSH$V6\J,*&CIPT>&2X@-%"
M2 H%"=*0 1$D"(P:-G#@R"T:ZN[3,,D0 U8RZ"!##2"L $,,,,! 7&Q"$97<
M<LV5\1P*V&F'1W4HT.!"#.+-\"$-[\4W7WT,UC!##/R-%I5IJ U80X$RP*0@
M@PXV4<8<<X1Q1ADM)"$;#S<MJ)(,]ZF'XGTK B$=A=@QII-C$%J7X79-E225
M?P(2Z)(-\!U'D%N* 6%68&D1QA8(9KPAQU9AI,&&A4!<B0<("(4!@AQSC#&'
M"PI@T5YF;LC5PA1EN$&&A4*1"9*9@*$UV%H9@: $7B5(51H+OX7HPXPW #J
M#" \1(4"5+PAU%%)E1%&"&V$@88"0PS$U7)"#2'%$U-,L6:L<N*9AIX>)<%$
M$5( ,02R3E@1!!8*C"2&&CO1(109",F !W=SU-%&K'+DH8 "6;Q1!PASH&$N
M&_/)L1-LEH5!!AF9I?&&&V&PP09M:%C6IKYO8.;&&6S*N:,."H"@L,()*TR$
M%4G(@ 46( RQ,'1C#*0<P<H5A(:[EL$1AAQTS/'>P@]'/#$(2"0Q!15/2)%%
MPQ4_T<1;1$S!,LU&).$$$3T?N_/"5!3Q,A1!'%$$"$5#BS+$$E/LT1)%T,QP
2"V?4,0<=89@!0J'>HN3&N H
end
@eof
chmod 644 README.Z
echo x - commands.h.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 commands.h.Z
M'YV0+U2 (&(E"8@A3YHT">*$R!00*EXH&$&FC)DT;LJ #&E")4A7V"(W$BR
M)(R2( *"H),'3IDY9>B &(,FC)PP8^B4D0/B9!@W9$"T>6-'HYPT9]#(C#BQ
MXL6,&SM^_!)#Q@V4&ZM>+:F2I4N8,FG:Q*F3IU80/X,.+0KB:-*E$BE:Q*B1
MH\<86%%6Q8&R:\N7,='.K'DSYTZT0(42-8I4*<2X3NE&]2@C;\FJ.?H*_,'Y
M<=.Y4.U2F6&99(P9)[EN[LQ4[M.Z4FF4SCH#KVH0G']X=BU9]!<I59@4R7NZ
M\FVO@&6&:5N'C<:TBMFZ==PZ<F@H5:C8+GV:]/&_8 6++5QVM_6ZV*D8YSY#
M]NW<YD&CS^Z=?0W-N%E#EK\QO7OV-N '7W7\@9#>;\$-A]5I6Y'DUU>!+2='
M<QH1^-I&3CP!Q6RT\76;&V^ \(9+-]&1QAMNQ'<A"$)HR"$(IV5VFQAEG(&1
M&QB=(:(9(, 1QAD5[K=B$2YR& ,-J3DH4!E Y;ACCS\&^=F*V$V!A)$T;+>1
M2G.$P18=:&@T1AURR,&D3'"\,4<:)J(XAXJ]05'D;$>NMZ5 9LY!QQMF]FBF
M'2?6\6:::[;IQIL6]B9%$D<@H1UW--1W9W2,O05G:(LVJAZD_TTZH)"*,NJH
MI'K1<-][^DT9JJ:=EAH@JKHE&MH52=))0X.3KE6I8V+D 8(.=^AP:5U7: FI
MATI2VE9CRB46'K#"RDJLG9#*F.RGJLY*JF4QU%!K2JO%"NJLK7);@[$J8<M;
M:%A\:RZU*NFZK*6]_HI'M./6A86QYI(:[V+S.@;=L_<.NQ$6U)K;:KJIKJOO
MML35<.JU#9]W<+D1OTJQN-G61<035SC![V4UX JNLF2\<4>*TF[T<<@)DXRL
MIQ47^+(3$)M6@[4T<^RPRR [@;%I-GS+L,\6@Y"%N\39@*Y \J:\,@CUZI '
MOAUOE,7("]H +]0 2YWBP(%9C?7/2L?<M;_A&JQTSGK9L'#;+2L]=-P3]^RV
M%DQWK7&N8:N<8M5ZG)VT%ES';?*_;(F-6%#/%KZWVG'/?+*ZA\-]F0T\7U[S
MBEK<?=D-1M.=[T9&/.$$%2'U'<,-3X,0WIAEG@F"&2C*M&=/;J>^^A<VY"Q#
M>_C-3J:9;LB$>_(KA7A2W4:LGOA&P^=]LO&U,[\\7%F#$/VFLPW_]\E3A-'&
M<V]^'P,+()2!QQAEP*%[3<K)H6,:;U;6JTZ(GN[]ZIH#P? 6)Y#RG0\MZ9,>
M^]P'/_FMA'YHL1\(\ <"TNSO);U;G>@$. /+J<2 Z/N?=A;XOOC-+PSUN]^;
M9'/!_G4/"S"<'@<[IQ+WZ>10)TK1[G3@ H(8! Y':0.;TE 4%Z(-A@CCD R0
MA!\FI&$-&D'B^JA6!YG @ <]6 ,/;""Q&02H;D@,X!)CYT0H@D"*[!-#%7N"
M12WJ@ XDD($7=+!$'9! !SYP&Q(WN,2O]>@--S11&-C !E^Q 44ZLB&3UH2B
MYOVJAP51P(LF.1L@ID&()BIB!EE'A"(8861+9!L(+ 8FC9SO)TYZ X^6LST0
MN*$.;: 13Z#WNTX:(69+G%M^D%:@[WW!EA!;HO6.MLE?>A)C2QP?,>L&!2DH
M*'RWP@\0RV ^,3C';7*: A642 ,/"H10=*CF-6ED(S?@R TZ8N83M/F%;&X3
M)4NDX3?5%,Y87I-)9' 24RRC$A#4 2CR(<,7QO"&-K0A+6\*G[=8((-S,;0&
.,GCH#!Y*@X?>ARD*4 2
end
@eof
chmod 644 commands.h.Z
echo x - dvi2lj.1.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 dvi2lj.1.Z
M'YV0+J@@ 4'$2A(93)2 B*' 11@R(,0TG#+029 F1120L9-&!ALU(+BT #'F
MC1L[9>30 ;$Q#0@S:=B4F0."SAL02*" 8!)F3DHE95::>2.G31@Z$P=.R>+D
M"90I2:8HX&)F1DN/:JC& +&%ZHP684*:D3'4#1TX1]%H[0)"0=>J+<:(E5$2
M3IJ9:]N^_4IFK5NO+8CXW=NBS-PW=<XFABDS[U^X:.:B*?,P)>,RC@F;F6M&
MSILV:,]@-A.#[>.O9S(#;C/7:&K2I@FOI"K#9NC1I?4"QC,7SQLS9E"T:9-"
M-=P\<_/\#CZ\.&S=<+'T7HZ"S!LZ<YSG/MTB2W+JUK%KCPU83E["<,X#CJ,>
M[IWV9&.6<1.F#>XNW/4X=D&18)$I0TB1!!14)/&$$PH0P1%6))F$DDHT45$&
M%BT@IMA*+K3TDGPTI6'633F! ,403(" A1R>$A'2B ,81(=GK&Q4QANG%%'
M&**EH$!)P]%(!DUSU)$&'6&((=-+1($ 1XIF>7@&"":!$%:(//DD!U K^=@@
M:$>E8:1A2ZJ8TAPN*)#$2FG05$>08;#!!G)CM"D31&(@%]8<D[D)PAQCI C'
M2DGV)"4(;'@()I,KRK$A&XF6F10(3A5XH%0!03$57&'15M99:6FE41IRE#&&
M37(@9U--8:QAV*8T=?990U18"I@8G+V(%AUJD:8 D:HJ&08<+ ZE*$QRS+'2
M;2]YQEJ;B=*W(DD]^43'LRB8]"8(,^ 0@PPZ5GKI5W+1YD8=;8B1DE90;E;7
M732=&J99L,H*%T2>TE&''&ZP5(88=3QI(1R)0>E&O-\&)A9#1"#V90MSI$%&
M&1"]2X>3((SDDV'FLO'&'00#9AAM_P9\F:</FQ%&'8Q"F1C 0LE'GWT@I%G3
M9!'U-%]]AOW&$D>+&J9E&7BL:%;#)BEP@@L?G8"DHFS8+(<:04GI!D1'PP&:
MTL)BJRVW'4,F&64/#RN?IY-5)L=E-=UD;H-V01Q1&<(:!B.-<S0]<90ZM]3"
M965F@1BT^?HTM91RB#&D'&&4NJ514[=[$ZZ&-6VEQ"F5Z2U@F]&&[+CELNCI
M%$2JI"2B%!_EJVA=HT;R36Y<!T*HTHXNIJ*F&YLXH)NI\89$E\,UVUB;DVNN
MHIY*G#8(\T&D,[*IM\ :;:ZYD09,<=[MQN? CC%]&J;2'/WVU:<1Y:EKEN$"
M"%30/)2;&Y<>JI1VA!%3D3+IT) 8<A3,V@@@E%\4CNA"G@O.<#ZOC&!;,("!
MIUR /_V!0(&D 0'RXB"D^,G$+,=;#0@.F$ (,H2!^=-@KK8RP0JV:3XK.94&
M.9B#&BRP@1J,00#+0,$T6!"%&83+_A#HP?N%4(<@8$\$2VC#$V)0A4 \H QJ
MT$,0.E &,ZSA#8]XDQ7&@ 8T:"(,@3B#*)KP@BFL8A)C< ,9X."%/_P*:VC@
MQ2*",8=JW* ,8' #-NK*B1ITX1!I^$4<(C&.(Y !#7!PQCO&JF"\ 1EPI(6N
M,VA,#&T" 1XJM,BH>0@$PQ&8RBYTNC(T#SF*- ,C(^C(W44R#Y04I27SE4F\
MK2Q@MVF>=$(YRJV4$I(RFN1R8G?)\-#$E9R,9>^^XAU:!J61CSQE*GF9+U]J
M,F3'PI$GA]D"X@TQ;6=PI&%"]2"?O*!U*^'FF'(FA[ M;9,L*Y,0D%.RDZ5,
MG,4J0P^,$ 0F3*$(Y\S6MECPNC)T4YY4D$(5\)FUA%CND("!PUPX-[QT=7(.
M 6R+\?)U&YJ@H'P0L8EH(*>H.PPI,GOK%D+A$H>#23"(0HK:&X"%..LU[PXF
ME6#K0'"'Q$FO1C1IGAYB*CL,AF5%QNHD33\Z,S!)LT%U, N+3)<\A^J.=X=T
M8A(V,]/$V<@^0R.<8>:0O>GEP6UW0@-15I(GA:)-9F1($QR:]E4R'-125+C#
M320DG1-P551I:)/2>,2X'VDU9J"1"5971 ;[#?.NVFO3'B[3 S*D""4ZN!4:
MOHFS/GBJ+LA![/;<AK930:ZGB=H!\C[*(I2,BB@C29+AZ& 4.+3@#(B# QK2
M, ::0*$).MG19_HZA]1I5K%$N8M9NF22'EBA374H@V5U%3MD!1>%Q,W7J6#
MSQCP4P;\G,$.%. 9(CUK?1KS:(W0&;!3-:UQ<0(6)M_P,.3180R6@X*E$E:'
M+XGHJ"A2D9,4D#[#\%5+A7)#SOXDOGP9+$[E:Q?-**<H=R%* ;U4F$R0U0;V
MEH&?N#*=S$;BF7ZAX5IW317%1B(QBA'+6+NBF3_GT\E\:0ERTJ49>R,FS5]N
M)BS6&0.Y4'B^()@A4455P(G)VJ;-Z.RS%?TKY3*JOC>P3[Q/0L.O@.6&.1@V
M5B"P@0+T*0,=M 7)B&*1N<H ASGP$T\;HXE]YC"'HU8A!CW.UTI3<A2B*$#*
MCNLG8V0$9C'16#0=^E!1?<72FB#.3H.SB0( AJ=!EZ1)X\)88FPBYQ@?:G9O
M54!"[-=GI2K*6"LU\Y[$>@<USZ3-H@&!"(Q0A"(00012@\@<//K>R?0V2HR[
MD8S,4 :WS>E\_04MBQX]L4C3Y Z3R5<92)N_3A/VH7_E-414]#COT4C70N4U
MQ%+" @4DZ;-S;FF2&&UK1[_(0\F-R*2CA((P_)A%:PV#]L8[Y!1?6JE_GDG,
M!(WD7[%H;GE(07QU<M*V!-NQ-ESJDQ5L&(.MU'KG%,-U(B.Q%J0U5*,JL$5=
M9986V*0%D!S#&MJB6GFOP>-OV)MG,%CB&@D<!&<R-+N.M[8QR.1!^R9)2HAT
MR3CYQ,H*0#:+<?P&'0\6!'B6&I3( !&&LFAY-8X9FJJ\\T '.45G0,.QFC8&
MGRD;-'1 3BR%[F*6%'W'&+0=A(:**Z'"8- (Q[F'K(0=I9<!['E8]%'=#>3/
MPJ %8T_VH-K6=8<2W>@XE-F29U:[T-6=UFA0 (V0AQ**2K,%3E?4D$"K8,7O
M/84T"_D:&O8P;V_FLT,6ZJGF$Z3W91CT.6/ZGARF[\3YC TUS<.M+9VL%Y'>
M?.BCV=^1)3,84>;9A>K5Y&?<R8$7W. TLTY]9?)[*!$X2G*5P^C/*:>=*$'4
MX!38M;(&.04(&*9$6._#9 1YL^M;^E_Z/>!)-]YVCTK7;^*G2ZSCAA,@90VM
M U-W$!23H7DK812JHF9U, :1(3@^H4F?=7[>!W-)0!!2DB5N(G -(5\GI0!#
M$ 8H83KC$WT2-A.T5R'7YP9>=@6"MWDR@U')PD<H]";>IBA1\B#(T31RD&J7
M(6J;UP9ID'4K82X\8A@"UG5LECBF<A,V1QD#XVPLT@8+&!D5]CZ=(8-F\28#
MQU\T(X'_-3@!-F 0!WC2$2?YLC8P>"I%,E:@M5]\]V\R]DJX P+2D60H8(:$
M C;'8RR(4R/;-!,H4W<:18 I$71$%1@O5X$L-0<F(2?LE";))S>S]4LI"&PT
MXQ,Z]CZYERZ+1G]/$A9H(3HZ<WAHAR9JTC#CM3<FXBK$$6L5LQ(H8!,:Z +R
M]2A!4 4"\012H !'L"9$LAE.4 ;D0B-NP$]7 "K8P8!\%R32TTU#$@91<XSS
MX4/F)XR,XP9 $ 8>=0=U< <Q &>K)6!(08N6T@23ARQU @)-0%M25@8R@@1%
<DA(RH2@\8!1H 1H # <01DN4 <+" <^H ""023
end
@eof
chmod 644 dvi2lj.1.Z
echo x - dviprint.csh.Z '[non-ascii]'
$unpacker <<'@eof'
begin 755 dviprint.csh.Z
M'YV0(T* >"$FC9L78^:@ ='"C((1"::,D9,&#AT0=-Z @$/1S44R=M* ,).&
M39DY(-ZX 1$&!)LP<\K(45.&CHN'"9JX ($DC!B9)N6 F/$BQPL<-UB D!+&
M#9DW;7B&&;,&)9$R<&Y";,&23!B+9,J0&?E&J!48+FC$ $'C* Z<;<+D >&F
MC%B,=\J$66/P#%FA=-"D09FWS)H3*-]83*,2I0F7!LML[$A'YD,%==S$O&A'
MII@W,15L!I%YC9F79T37'%FR3 \1(E1?S!RG3IJ:KUO$B3TZ9A@Y8]# "1/X
M->_5<^C\5G[1N&P0:/2&E4/2I//1<<]<7\VQ#)LW8<ALOUC[-IWQ(.24Z2PG
M)OJ,P\^XAOW<S9L[O]V@Q_/&C!GT>?3W'WVC\2>'=@2N%N"!Z+$!1UC)-0C'
M&(K=-H>$<[3F46YS''>1@^Q]YAY]"IA1EE[!L71@'6V4X1$(*(! @@H@I*
M"#B"<(=@)L$(PEHVYB@D"'/<D08=*<9(PF]GL.CB14$.*>48,$DF0@MVB*"#
M @DD,!IMMN%V999<>KF:@QF:M"%]78X&HF>@S=?"';%U*89Z>W$I))4Q@7!E
M&"IH>:.4A.+8FU[ "4<<&CTLN6*+'I5YIUYKZ)DCGU8V%.B6A1;:FW)R,-<H
MDTY&:B>>E2:P9Y5^MH#&IH-V.N1HT84G4W6N.=HDI'1(BJJE.&+::ANPRBHE
M=F%HIVNIO9Y**; @"'LE'((:.RMWZGT7WJB//NGKLZI>RNJ5<11K;8ZCE8?;
MLKQ^FV>XP8[;@AS5GFOH:NJQYQZ[WCK[[JI]7DF'N?:.!E^RN9+:KK^I IPI
MG9S:2^1J]N$GAW[\FIK I/^*&W +6!!\;H%E*:MPOQO_"F^T\F8ALK6C+6AR
MMQISW+#'F>+QLK$D^\?MKBC;#*VT+>2QLZPQ"_@SL^[>'._'9!S=J9L/GG1>
MQLVF#*[#K;HAM:=G3ECA24LOK'6>UA*]J9"QGEM&<!I5X<8:%:]T6K(Z@,"%
M"%COW3;,JY5VMU\]^$F"X*C)>+)'L4D,@M K2PMKFZOA6G;0OQ;J(AE%_HWN
M:HLWQQ 89>#!D>&ABP!"WB>TX (7*+B@ A<IG &"'SP\7CF.6ZN@.\*@%22
M&C*":9Z,OB4Z7&#(@\J<C+5.AZN,V>G-)0G=:3L6">I>1$*^,O5)PL'RR5AQ
M?C+RYY^, :YO?0(ME/%"'7/(\0(=;<#Q@O!LJ$$""3@B :Z>@X<"-BHYQ*&?
M M)@!AB1H(!X $$/"B>#%& D.F[@TMO0H!$1<,$-==J@1L00GO34I X7(Q)S
MZ#<2.4 %!/Q3@U+L$YB^3,8@E2'#[]@0F@0PT($0E&#A8F#!P+BH3"+TTP?K
M)*0$)-$)*FF!$8@3!C: 0"8N; \,46A#"KE!7XQQ@U(X@D,;-B4/^,F#!GE8
M!B3"38D@=",'03 $E8!1)2E9PQ@ITQ<-.H6!7*+21>97O_OE;W\AZ=__<.<2
M.#!$)6)XI!S"<(< .@A"WG,0A>!@(1FA24.9A$.(XO2[/SI$#E%A2 ,):3_\
(Z2^&BU2 @#"
end
@eof
chmod 755 dviprint.csh.Z
echo x - findfile.h.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 findfile.h.Z
M'YV0(]*X&<.F#IDR('C,H2-'X!D7:'PH"#BPX,&$<_+,>4$G#YPR<R!*I$C0
M($*%&E\L#$-'I *!=$"LI(,BQ0X%('+F5"#FS1LV"LP()".431D4<%BB8>&&
MA9DW;NBT"7.&:9@V95(H&(,FC!P02>F@V3*%BI0I2;04Z;(CYPL5(* DP5*$
M"5BE(%2\V-KUJQNR9M&J9:O3+5PW5Q&^,0/B:=2\>]E /=,8JE2J;0OK? MB
MZADW:82.89D&*F2^7D$@Q@KX;-JUF3F;J<.&C>K$(!;'Q6*W*$(0*.24H5-'
MCILR9%*<WH-3)]?4DD>S^1)V;%G7@V\6?OX5;G4X=%CDA4.>CG:="^74&1-S
MILSS.6&"D#,&/@CYPN?\K$.GM!O[(#27TW<Q]2 30V/ D0<*T84Q774L5&>3
M@/.!M%]_IAF( DPIH.#896>\4(,+,("P @PNU* <@!22\08(S&DV8'D@&)@>
M5W(@I11X((AWP@XG@#"AC/<QAA2-(1CH1!5,,*%<C$3FI )Y/!IX A<P_$BA
MC%32L<(* &K6QY9;YC0'' U%908*JY7!@@@E;$0&'&F40,8+<;H QQHB1+AC
M>/E=Z!]30\H8&G#!C5'C@2RQF1@+)LR10@I)PO!DF9J=F28=:[;Y9IPOS%GG
MG7G"@0<;?1+(0J %8=B4&X5&622B]"TZDZ-802HII3U8"B.F46H*4Z>/PKF1
MJ6R4P :I(>V9ZI].6>89H6'*>B@*B=I*1Z.>1CIII9?**JZP:N+JIK$O(*LL
MLWJ>^JQ8X$4;U;2P5BMN3K7:N"U-W4IJ+Y%CWANPC /KA.FU]/70JW+"$6<<
M"F95442LA97!QAP($;AHEP#V <(=:*1A%' $)KEDDQ0'6!AG#1?G!@AER"''
M&U]A-<<<85"%D%X4DLNIN6]^J-H;,3U5AQMDZ)!0G#Z\P(.H=NZ@[K)-Y\G#
AGE*?ZD.?P(H+(:O\#?HAO2DKT/+#1@3!Q!03WS2F @H
end
@eof
chmod 644 findfile.h.Z
echo x - history.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 history.Z
M'YV01N2\:0."3AT[:<J$"'(ER94J5V+$<"$D"14G1:B$P%BE21 G3D T>>,&
MA)(P)67, $CA@X8.$06T0(B1@X<.11(*3.F3!H[9<CH "$F#P@T< XF#+-#
M)$D6(%2:1 D")TN7,&[HJ'$#1)LR>A0$'#C4($*%#!U"E$C1(D:-'#V"U%G&
MH!PW+:"$H8-F* ^S"1<V?!AQ8L6+&3<6Z?C1B0^Z/7\&'6I&($' 94#<2<,7
M1)TZ8^ TG5+'#509,J:6M(I:A\J7."#[!"J4J%',+CZ''EU:==34K5_#K'DS
MY\[(M"E;]IKT7/>^"0-&F.9T4MD%$=V,G#)[<H.%,GRCC114V=.2DP2/#
M!8P60E(H2)"&#(@@06!PI8&#M^G?OK'F4@TU;%4#""NT! ,,LDE66U',.0==
M&=*AL%UW>&"' @TNQ%#>#!W2(!]]]N$7@WXU] <":?^A%F .40U8('\(*LA@
M$V7,,4<89Y310A*U\8!32ZC)@*(+)J*( Q#52;C=8\?--EEV%WJW8F\GI02<
MC#K0(,-\E0T$0ER- 9$686P=]A8(9KPAAU=AI,$&A4!4B0<("(4!@AQSC#&'
M"PI@ 1]G;M35PA1EN$$&A4.1"9*9@ZUEF%L9@: $7N5,12+IZ66954PRH"5
M5C%T]1 5"E#QQE!(*55&&"&T$08:"@PQT%?.#36$%$],,<6:LLJ)9QIZ>I0$
M$T5( <00R3IA11!8*$":&&KP1,=09" D Q[?H9'&''2XF8<""H!@KKGEGJON
MNNRJVT023B1!1!%3[)H$%%0D\41(1CPA!0A$6)&$#%A$NVZJWLX!PK<@Z+EH
MG^K!04<:)('PAAD-@Y!M&MJ1!)0<=% XW<8]@$!%&5B<H/"B"/6TL*)EP)'H
MHLXI\$8=="1%!YMNRGI=06CLM6=I"E<,Q1 *HX %%7- %033%K\YQD!P[)6&
M&'-B5]JB;S8QQ0M$] IHP ,7O+#"86"=6;@@P"$0&:!EYA-?(K.<ALN+R@RS
M<QTORO.;="N !!0M,!'&'!0J4=<*4?\-=&9)"-'$##AX.%T;;RS*1DW8Y3US
M<V=87)*>;L<L4)\YSN&F G-L1L<8:#2\\]1MP"'GVFE\Y8*Y5*"1&1EOC%$'
MKG187?'4;FP'>L>UWPY"ZYS!GJ,"#+,1?*;V-??X\S?+T1.@!Y--,!;:425&
M9F.$P<:<]KD>.]T\K__&9FZ$_H;$%+LQAP[IGMM_"V$H&/G.188TR,%:XBK(
M&PH2AC5DIDW.45B8VO _,;2K> YL6QAD]J8V==" X-)@C]BT'/6%["Z9*I^.
MZA*RZ9"$#4:AG(?D<ZX6H,QLY[I9SG#&IML-96Z^>Q,9U ,4'52-+UQP0QB^
M8C&,Z5!G9KA=_]I%Q7:Y26-E:%EF4# 'T,3N<"!@@\1B !4WU&%S=1D##:MH
M+A0LR@QA../.	$R1AQ+VA(XA(S<S&-(:2'<VJ8HD!0!CR$+(+YFR(53^ "
M-JCA!(YCP^$H5*V=H<0^C(1#[2#I01#(4 9K!$$+T"! =?DN#%R+8B#9=KZ.
MV2XH1"F#!]<F!Y3,09(3JU@?-]8"599!D>U"01YN5KZ2(&Z089"#&#A32SD8
MA7:R4I3"V 8_22).#FZS#H5"V<M2GBN;?)M@+,^@O3Y6;83<PL/_Z.!-<X%S
M9VR;61-%F)ET_J\-[833&=R0ABBF+Y=N^!\>\GD&ZXE!?2# 0PLN9@;$S;$D
M;2"(+G&F,WK^+P\$-2A"\[!0,S2T+B_SBD1+\D0>GO.7-7P3N\)UAH)FYH ?
M0]P+W/"&G<&40HB+&M<<5U(Z )-=;I1E'-&SIRSBM P],$(0F#"%(CCNDU"Y
M*9^02@4I5,&IG62"$K@IGI7603H,Y1G?2F<]5/XO#NV*0QT2LK/[4<AX :WA
M'=I%4\TDDY_UFX,B%9 $C-4UF6<87J+H@+8#/D]F8^AG'F"IISF@P4T[\YT8
M 9D9.GX+#I)<+!G IZY4W6&!*D,LL=@ 26A>LK"5K=V<B ?+3L+OD_P[V+FX
M, ?1JF\/ONQ!'8MX1#3,=(]]^.FZI@8'H]26)_U,B'U\J<#MO9-".Q"NNH H
M,J",(5QR:$'CEDD'6<&A!6>H)1R\Y2<00*$)4&!>-,F@5]F:B[:V9<,>W)00
MY\"U!U907QW*$%PVFLNA](Q:?8L'T.;" "IDC I49A!=_^ZIIBELD_SH9S^*
M\I!MDI1F^F3FE<S)[76<92,18O:Y^HFN;>KA6P$/>-W\A6"O5^#,^WQ'V9(=
M-[$(/1GY3#O()!PE#$!A4P-A";\YI&&?>_DJ'\V@@#8810QOT)%F9 P"?KJ,
M+W=;P\O6L+LDS%%A1E;M;6BL2?'P>+E7#(,"X/ &&)ZA8D,, X4%F;V=6>\-
M:P#S5[-IY/K!L,I)KB4;0HRNWF7&;6\([Q(U"#+''7#%ULK?/.'7T^;"[[EO
M<I\.J><<"GVE@"FL[1O:3%F[*NR N)3,G].39:-<TC.(0QL(]#4$*C"!*!2;
M0PO2MSY &;IM%/)@-%W6QTL+1-$$85C:= @"&S2W*XA#'GN!_::3GEC-3YMR
M9W#0!#3H(:2OK5QJ,+>H+G]Y:&[ J_U(^M6.N2&*@:TE0!60)_,.H05O(;2E
MAO#5 SIGU9\5Z\Z$O1?4/J\.<& SR*8$!2S<^D0MH;-Y'5Z3!;5GK[]&-+(;
MIB/!3I/&$K;>G&V'AS*P@;G@D@-H[+)%^,$NF6&X+DX5L#61J;6F.6J88=>[
M%W&E(+:=59?JOB*0FO[4!4C_J0C@@ <VB" &-5B0=!O6!CF<R 5,9\/4QU#U
MJV=]ZDC7M[F6WO2GVX &,YCZ$JT. ZPW?>M=;_O7V1CVHR?]8#-8$!EL1UF%
MI:\DK:P#XMI'9:J@L@QJ3:&L]IG<?TH:!2UHPP@\%'6+X8\D*= WPA[89I$O
M[^6UE#F?IJ.^S17;=Q(=@_#>I#UC)[J6;< .<\Z AIV=3P'IL24N87D'@?CY
MR6/.3!#JE80DM* (0A@"$9)P[^$/H?CNCJFDX9;BT"&\K 6LGP)>#;P[N '[
MRSO@C2<&%!@"W7\A,%<AQR!)GTF:S=91P!;,-2<S[&P.B3>L&$+O0)]R@?ZR
M='_6%#LH<%!CD&<#*!]=8"[J07OWEW^9L7\QUW\*L < :'_:\55_)H$'6!<*
MP ?F\C$3PVM$D4P*T <,>&2UEX%RL('\YX$'TU?; WHQ=T(*TWH@!T*STV;#
M4Q+ 4V4UU3%R('YL-DC4Y#L&A"<4<E!:]S!C$#$%%D5W C_WIG&PUS"+DG@A
M T.:EW''=H5_%TO,8SOLHVVQ4QU/&&47LS-# ([,6@K<46[]R:"MSR!TP)+
M-8:W\R;W U!=AC'#5 <_%F1_E85UD$+W1CMD*#)"$XAO8F0MY&-_QSKRI#ZJ
M,X-4<SOV,35^4V\^$BR#-FN 2$Q!$V3I<3-JHS#NHS'S\WUO@$J@LV9S,DG/
M(T],I"=F8#T)EP>:]P0E<8IUD(IM,XLY=4"HU$-\LH,1-5A% T\T=C[D1%(8
M4V3=TQ-K]H5+M#M/0#=RL!DYA3S%<UU>40::IUU'('C%@S%.4 ;#@Q)Q!0(Q
M!C)]$C3VUT7\)'W% U(QEBCID@3Z,S$&,7#[]2;^2' -0<?DS9S4QK6UV/O
MUC-P!3WR^'+VERY!T (GD@,P )64%]*9)%U< :'DU,RT (V )(I1RS3401?
MY5:AA"Y%$ 12X 0OH"89T2B+(1<A(31G(BD*()-0$ 1#42CMF&XE(&=I< =U
M< =LP5V%0@= X(UC8 =M@"12$)0*T -:N95<V95>^95@&99B.99?>2F9,A0R
M<"!!$)+H2!PX< ,(9@-;@0,Z8!/P6 6H,A9M@)., 1+FPI.14AC2$HS5<EV-
M4@9SA6JODE,HT'9YAQV[I"W<LE=(P#$HP&:'-#'JTSF2J5""1R%U=S"&9EC*
M5F6(6536M$6."0.0.8TTMC$O\$D2!YN#HU4KH #((X*@:3(T5BB):7*+^4"O
MPG(W^(L@UWGSLSSP%T'GAR[:Q1D-HWHQ0UC;XYOFM02@\C<^,QU2@&=9E@90
M004A"65"8P6D9@,(=A,U !5.\ :[,P-KQ!="\YD*TP9>%$:IHS'?HF7@XB8\
MLD7+QD,Q\ (TT!E]U'!, '$QT'<IP (*\)SGQF8Z<C6KM$ WIE@9HS*L9F+F
MA$=S $FLE!F(DTS2@V: XSOI@J#:=450L 2]=#MST!27YJ$Z)Z(Q W,A8Q\0
M@CAHV&8DT30/NC"6))T2@S82=#LV9$B)8F050UUODDE-!TE7E$EK< (.JEWP
M8Y!%XYJ'MAXF]Z)SDC0JJJ!0,:865Z8NBA-K%(:ME$S<U4QR8A3547)DT&"$
M= :[,P1-( 4G4DQBJ#UF"@.I89!0H:?P,@1(X*>M!*AIF@-7NCU+=#-\TT?]
M64LCA(.9<31G4U1PTQ/VD2/Q]6=WX#OOV*)@FG/)E!F?20:/2A6ED3L*5SQ\
M(P8A24)B C\3TR2A\Q6'HV3$HS!!HS#GDRA%A3FT\:@?<U"YVF%^PZ8VNC/U
M=F9LT!Q\='DET0)V !7R^5#"UE[;\YER !6C>C>Q T'4F:IA](J+LEDPEAGH
M6H<F!C^[)3)!5%G&R7D3MCP.A7" <@6948KNBF+6T0+7]#'3$3E-8&]X2 78
ML:V;BCR%(G/VH4N%\CSUD1GN@WLT)IOU9A-& @,O<#AYD#QHX'LWHS"Q"A6O
M5C&4QHT6ZS>KJ">T2K(V@S%'L[ *4V\(J[#K^!SPJ*HY=;,Z=F+P\S1_ @*5
M6:EW4WKC4GJ31F,JZDL*,X@16 ;$RK)DEF)T0+ 48K#: W$E:9 *<#[+$W,]
ML4++M1SRBA M,*]\:+#P\Y2?)0=<ME?^6)VGN:]P !6O CM/FZE(\V.R-@>R
MLCZUV%9<VF$AM*H*8*KF>K1"8%RB909YL#RKZ'*W<DG36K%]*&F1F0;;HDXG
M $!,\ 1#L%3]X@14, 4[T%128 7)DKJK"TFC2B&94;JGRP2R.P42Y[JP*P6[
M6Z-XHC[UH0#F"FG715\YPK<Q5ZXD<6XCZCV^LUPZ&%*XB[K[LKK;-TC])*2;
M2E,#)ZGVP8WVNB+)\KN[JXW?9UPF!SQM\&>K*G!ZA:YFFSJP5&\WFV^\F1ER
MZR9:AGVFQJEQDSW&R3!W$ ;C$F?@LK3KDP?:2F/'!4NP*A! 03R;&J [DW<E
MH'DR&(A4^S(GE"/PM$ L)B5X.U?2]Q3#&)RUB$S/\U@@HP#@FQEA5XZ!!2YA
MP&1DN<,\W,,^O)5F&3)#83GM6<'G\R8V\98()@-UB14;>2IB81E\J9-_N3,]
M*9C34IC7,B:GJ9BTV)@N, ,QT)I^!+K< @)(=W )!UEHPP:7:)TK1K#IL7)*
MAG&]B9C5A5/YLZ7V-K0H\&I#EQDZUK9$A%/8@:X%E)*TFJ-F:+S/B[(\9!T+
MY##]9 :VJV(&A$#.]#QS?%U*!C3S&6O@AJ+(BUU&H41?H3!20"]/P 1XJ2].
MP+OR%D2@7!(><03Q8@3,]S2P/ 5=2&-M9A^EG$ I1\>&A<.*DDSM<SC-:2E"
M-Q 4,FIT$ 1V)W8@0'9.!W52QT9KYW5OQT9<QW9NIW7@W"2P@W5K '9WQR[8
M;'9HIW9Q-\YP)\YS5T5T0 =>E\YTM\[K$IJ=]6MPG,G)N\G%[,F&=6=Y%D9I
MX$#-/$6!7'1T( 35K'1$ 5)( )YQR#<',_U3$7A[,WD7$5<UQSG# ?Z7$7^
MO"XB4-$7/0,RD!,;3<_?+-(</=-4=,_YK,[6G-+H\H8L$<8+VD5K+(]$45.Q
M4]#$"170R3 2:F1JTUP72KG;IT&=@0*C&P92:JUW"@)7_=#2' 0[X-4U)00G
MD'EV;*,D&CMNLE/E5+'#O,G?<GYCG*YXYC@L7<-<8*[HO"ZU:UB,A'20Q#!E
M$#I100,:;2Z@1-=:UDEW'79Y_;SC[&!71$49W3_PJ=B.DW5XK=<FS=?URM5A
M%]@*,]@U\;'](R*8W4F:[=B<W722K5+M(@.&G94_7-NV7=M!K"DU 3!@409M
M<,1N"9<U00--_!)/C)=[Y=..F1K-P1FCE09ZD'/:HU61YV'.I;6,.$CB5Q<W
M:$GV)S(JYP;1)5EPH(JD:GEO-3$F=KDTIE5?<MOP'=]BF=M#'!,C%MV_+3))
M+-PQ0)?];=QWB2H'H]QAO!+AK8HRQFPH(:>9TW@1Z1DP\R95P$]W8@73,3CF
M@04I$%T3_ :T,8XZ\I\2=$75,:$F]KB (M\JON+T#0('DB6'N,E)C -0 0/$
M;>,O00,!'L5D,28YV1A5?!^!*1W6<IB_28RJZ0*&3<8;$[J4R3%&Y4Q0
M1@9Y\&*B26./-:UD@, &Y^'9/;Z?33NH:II)SL)@W.3S)#X% RA>)K@%$7"R
MH@97U.$5S(P6 [=9FT44(WBH&9P-'0;8\>9"':L*<P)(4 5'4 201'(FIQU!
M$WHV&%UB@!W0"3QE?C[W+#(2ZMPD8;GD%3L, ZN0A1([$RSKZSCAYB& HD;F
M]9\"%HW?.S]$N['B)G%8>[M*D!H+2M+EJK8T5G^6I"C]TX K&!0C='J'MD&@
MJ0!D@!U34+ASPH<6-G P.AU:>10JR.E:JZ\R$Q1F?3#'*.C ]&MN"P)K0%-W
MH##JWC!0=F$E:[4%D0<RP\<T*'K[ TS:M2+2#NDPA^_"BWT2[!P+E*7/*\?^
MF>Q,9L]9JTURL#M7<-Z-U>_W?D(6HWI?59S;$S*&Y* ,CSZ17H,BPS#$I5P@
M3"%*U,"C?&C8+0?2=81\5.WTM#N_QEW>Q<>$Z[05/W-5A*ZYIS_5L>D3F^HD
M<64%W_"=]O#Z;BZ&(P<CM/.CAZX"3\ P/XZ8L\G*KC&%[/(]CTR&]?.$RQF,
MW*3->_&KAQ(N@ZD%44B6A#;254O@(C**-EYW8VE(?T)BM^]($)(@_^\V.!U0
M;][DNB>'8_'-89"2%JS2U5C0G1E7OS9!4Q(N?0,VT!5%$3)S<,B&98Q#3TAE
M'SQGGSP/9!DO_YK[*7$^7TM +_:,=6J%+_?B15Y':VBN=D#2!;[I>GCVP4'1
M-%A_)LG;\Q57;Q19[[::QRX1;Q1HP/<@, 0AC^\_ $QOSC!JQ1ER([+-1=)L
M4 =^,_>R#\(+-+004C4'&(OL8O,;! +>?S?%R39#B^*S=@)!UGNL;TS0C&*O
MMT3>JBYLDYL4LC/KK[STB$(A;UK+<B "M63.'('20R$<& @("'MD;FF9XN/Q
MUL44^#OJ!@0LP/71 D)B %_%2?B/"[49XA2"!4P @E+:@$3%-"]/-@!XQML
M V!U&-+TD&J=T#@F]N$6 :&0$>[6Q:\)@*/M<,2IHE+V&%]TFR<0IW%\+.S4
MM]" RAHDJ@.8+#6_\__B1*HC'0)!;5R&!>) 8L;CR"G:0_B)B^/G S\;NK)?
MSF&T_)G4 $TJQ@'+ ]-D@6@_[I<9@&!(T3%Y#P14@3X3.N +<D$H;&,.^@U,
M@T7T!LW80>5FZ4$!G*'>0@?\L(/ +_"10741!+*%J1-Q?RN,[ 6+EZJ:&>?8
M7T4%T72J I/U("&["T)V V^0F+WA4ZH("IAEX"U'\* "XSE88>:9-1$JRCBU
M"E6+4,I-8WL2QP[&+/4W:G8?3$D(=T!DL)2Z0,M(0ND344_(:KD!L9/8AI:1
MB6X?IP[&/O;'<;S7-<PYDA 7SKI62$4B5NI()K=!#B:/[><WON'+:!-HX]TY
M(VVX0;X?II(N[^]V0#R)I_ZVX1CP=_5#NE$G=WA%' NS"T\HXVPLOJ?&-HS1
M$$()(X325+M)>"Y\C SL$^X(E@2RMO%8P@7:&"36X\U\1 +&?NA@G;F#* .8
M _A\:O,#1%4>0A-8827X401S0444'([$/()C<8BJ[J<'+ /M@G.X;Y$<3-H
MC]5+(&QC *8W7Z@NEDGH@'L6#PAJGF-4Z4#AN0M6/\8^;$1$HP417&?H= !E
M>?01E1.FQ,[=.B5VP"@(FS/B,-0 0PI32@CK?3?[QT0V5\Z1@<.J)&"6F!,4
M@$GO(0FA T*0A"Y5<D+1]#N%]V>!+*9TJ/7DC$(K%*,-#]0@456O@(D+-'6P
MQ@[9.LMA7;!+8YPS<"2Q3*N)D2/"SGT@ P4$H# M8(*YN(,>TR6)R^&E/).1
M$%\5=0)^CLZ-P;DWL^G>D;IX?-'I[+60/^;&%HAK:6];A>;1&/$C1RY8GGLK
MADO3G1!@HD,06B9\+KM/Q$W%380=>L>HFR8JQUW9F<44ODY49F!) D%F4(4@
MH..J!@<I"+4$#FY'C8$=GH#,PXIY48!YJNP '+7)^C@R@Z5M1!E/EP%1@ <!
M)E"F,Q0ZR )+,$WFVQV5,#7F#Z:U/<X=PP".[&?* 9-VISUPX/) ?^+!#E8]
MK:(<,\,GV376[5L DT<SP!I&PA$(>"!W9(H-9!324@FX-E%A(UF;E2A8),1>
M&0) 9CB5A=>T]9SC:*0#@82[/ ^1T^PLHEN9-1\,]UF'M]$BV48T.66GB5:=
M@3]!VU:<E[QM+<YR&($RL']BG%&8<36.B<V '. :CEM>DF(^KB^%!-DAY-0"
M%B-,1XZ+G;DOUG9HP%S[7%#N8%0F0O(Q\D"5NW)VBPZHC(*0.SC/F] 3ULF+
MY11 R2U*I)D387&1296$-#?&C-=P4C(:S^#E*Q.SG A+0S,7VL7(,!Y_8NHV
M$ OA=,$&(HF^=*%=9%9I\%M]Q#IUKA^U5Z! K)0#PT93I(M?$W*2TXD[,J!2
M>/&J+O)H<*0Q4AU*!&L8EYZHS&BCP6!%+#% HH 8X&Q.BL*P'O4#*H C*PAF
MIAQ"68O61.(4CU2T1BJ&GC@:+^!I6$IK D\"SM38?FW X%BB!=(=N-R)F7#K
M 4[ #FK%)=W+2FF4S<7_-9J-46HLUA'L(Y6&N7R3;F=B(A@9$"XH(%?E'#@2
M]TX45>B3K*F--(=%<2=0C8%A<B'S7+! F%$R'QW(?$G.S).(FZ' 1MK#@7 P
M[:+MG!V<N2[:S@TX;$Q/"=#,*M(>N@+/[)DNH :LA*-I+MJ.1MHKO&,YFARK
M$638S!7A( 1']+V,:$B+M,<[\796RT1M#ZV2+NC(?K%[RT[0S(G-82$&B^]A
M?]@!8D6:BJ'V,-\.>C?(LI:T@'3AA\3A9SDC)/%9KHU)9K&J@R1Y$_WR;(*1
MXV@B;UWW"ASNI.4]+)(0L1@9A&@L%&*T/$9W-4B@R:MR/!7C?)"Y;)@N$B22
M3!0\H6ZY%P.WF'Z4\")"/XI".<KM8>=\&S,".OMN)-# +32M!N#. (OYX_-D
M+FGB.!Q*(YQ!S\\&*9)<-_-HI4U,)M0IZ^6B5W0\2Z7.D3%?800)KY<3$.U#
MNPN$G:9'<#UUD4RP9UVX&YPE=]8+-V1R=L>!8!BJDI^PRG^C%E^?Q[1EZ_,-
M[0X=QS@UH=-CBN9"#&XR<M,^]\HZFBN[4G_@SG]H(>Y'0LA\0R&JG;+A =SZ
M2,G+.6SCG=!*\O%&J!4((!_6AK[(.NT!/ @+K<P"6"2*5"P4&D(;D/8@H35E
M_YD+) OJ,!0: 'DX]6T !1:>N:'PO!@; / S*ADYT))2DEP1%-'8"4]0B(9
MK\NJ62 QH#F\@"A:$L1)-0E 0H@ EL@DBF@0PKI:>^""N5 !>D$%@M*B<P%C
ME'R0MQ]*3-@&O/EDF\:_]#7(M^R(Z)%YH7ZGW_@^]C7"K)FZ0 $C 5S\OMI1
MZL+)%=$J(U$[@,L<L4; RW1X,S]'B>X,3<-#MML]TXRZCDY"HW*",7R)YG%^
M$!&6)-!\ARKYD%9[A5,.<4"FDJ!5L(50:8[<LT>,KP6R=+26K:(@ZR**)*,
M@V$*GPB@E7>"BX"4.\%0 RJH9J#,\"(T!<*46)/,ZM?10H(S97I:35(Y1NP
M#E6&@O(\46(4A.G.('X>Q9A.3?*33%OH'2T)8="9*A)H2IW:'36MGM>4;YB1
M_,8GH.:8> )C%)2U%6ME<-I=^L@IQP02208LUUFV$2V+I3D"=YJ+*W!7ED<J
MVQ$]PN!@1VD*U>@ \(AD_^A53"R, 2ZXAM);%X?Q<1R06>+YYL IHW4-,2@(
MM#GR')SG?2 *M4KM*2*< 5?FR>*1GTOK(#F.MW;*]H@,W50'Q%C!DHQ)8V8J
M(TN<& N,!#*-J8I\3V \DSUPWR&*A+0Y#MA=<*CG,*+"N?Q8.]G5P4 4@T0'
M.A;(DA,7QB@21"]PA!45Y) 9^N1$,"\X<63FU%_BB(2,': O+207 9DKPD6J
M41EX 8I($T&%SY H.-&'42,V#!WEL"[Y)1MK#VMQ+D()G)$S>1-H'$N8 76)
MB1F)':>7IAB0HY-7C,AEL3QY0/\<GV1RB8U2JI.#(01JE13Z<]W!D!(DR2&;
M/@(10%KIA;K!$<.9!_A':PT=4HC(!(VV@O&:9>TJ"?02!' 4X D;+8;,JQBE
MPU,II_^D !#/(=*-NC2$+-<!20KOE6DR) $&!0RVH? U34QF. &^36+D@48G
MXC26T)"!X,M;F)A%1D]:P#P]8D4#G5X'S>-8^RL/@ZS.!E%(#-\&W-#D;W@)
M+L%R0+'.&B>I&&@=<C&@R&DQ)&=:&5.?O&RJ=:^,F&0":T1&\>M,6D\R=) K
M C^N1AN03:^FFJB!7K)$XE1#(W!H9YX\N3,V)3-'W S]R]11+Z>\*M47;!;
ML02T9E7(K=?05$#4Y%^GZ<QL3LM38%K MTD?].FZ.;SF@C5[1L/H'XCCY-A-
M.@D_Y$D?P8+8E,Z) 0@I:Y 'XE KA35@;=F3TC^8&G:;6/#N!CZ6=4=Z, >'
M<EF?R0R<D7<(D0!*PT)1YV+U^!MHI5^6#.U,>K/1VDR-TF#QLAXAI XJR/8P
MQ3R[9SN)V9)4Q_-;=!%&JGF,[*PI"2;SPHI#IJ8+92>5M:4U1VI40>V16+S'
M\$!F9ZM_\,@>NXJ HWPJ"=Q2?N'(DS(4S%V13 _#Z13>@?X!]=0?#!DO? Q^
ME J^@&!P %\PC8!L@50,<W5B!F. .1S] T3VPWK(#5=FW#M&7Q;*@(RR%2II
MS*MH00GA34C*G',Q^H?K03:W$*!I4S[421\9M0DP#(-4N8QI%?1@"82 G'\)
M<S#:>5*I8)VQF;+!:A+>+:4H:+P7P\!]+.96S PBLT ^TPS4B;C6V8S ]\AF
MSX7HC",Y)8=9O#1DXAQAPBAJ6P,=>CZ_M4'4H^HC-ABC"1+;Y#GRO"LJD9 D
MX5S:6R@KRN35K[50\@3@XIKNDOZR7K&M>IB&S&8,,VM=T^SV((@+SUP<7.?
M7,*+#R5\MH,,P) 'QO*PJ<4DACFG^XR.08("YA:X""53U^(=."%C0/Z,ZI@H
MB.LH.I,_I$]_3,)94LA(D(Z+<V%L^-S)RGU?E-IV4'ZB4]$5F.M&ZJ$WKCRY
MNW?-A:.5G"GV.(W*T/%.F,V%M%_V@5_94Z0U/Z:<4LN%$^JI?<\%\DZV&OR
M G>#X\$),X)0W"4(T"HOX$N<BU4T$0[$5\!3F]<+Y;]D\Y" )1M%JZ1JREW<
M6E83-*Z]?5>#Y]KT#VN# DI#F,J&7*T%Q('2,CRUK@=-H%M5&G;89Y=8<9@.
M\Z_@-RQ!UHWT*9*8HRJ^;3*S\KB]U& _*V"RDZ(53QHF/5EAEQP-0&T9-GR<
MVPY+;RLDB#UW_=/$HE@C]&-9+&]],3!6QZE6$$8ESQ;W8"(Z%NW9S@CB8S.#
M(ZENBT+(^EP16V2/K)E3+Z_&+C)92=,";BO/Q:!W3QF27JW59GT0*IH3UH:
M/C"AP3"TBT (26C [:K'-; \M$MY!:XZR-V:6Z"@%__3V!5SQ(K2H$9ZPL<<
M1O#HD3XK"'PW\]@_LFMD41].)'%Y2^$U446EYS$Q0>/N*M#^L4#,!6R1LDMT
M6)4WJ#!6Z>Q#A755X*T& 9+"07K.^%P76#&EJI+-D78;)"8$?C/J/>8>5V.$
MWL!/20J.!1.E03,2@1@AQ4+#>(\,GPO=VF+-#R06&?UI#;^PJ_N&1X@(, )%
MH @0 1$@<:#'Z_ =/]7Q0A24<%W91-C$3YL%%!)"<-0<]HMY(U9.ZJ?TX>RH
M5=&5):-Z1\_QL6*$8FTL65"@$!5P79!88%:'/2,B1L6*6+V=S446+C:ER.5T
MDB2Q',MDI(M3,"^6;@3/N3 [P!$?>Z#_.!>^5L0VC D#?4OP")ZV5R1!QHYW
MTK96ZAZ;#F'".>Q-OOL&6H !TC+Q> *U@'#12WS/[Z289^ 6OCE6@T$72"O)
MD%ZK)$2'XM$<B.TD(:6.=_;RPUD;(+$B5<@<WG/>SI,MO-3TQ_\KMP#T7!B[
MWYF-.2<AJ1UTP"ATW(QL+HYKQN#(? .'$;559&TVT@:.R-?D7)6$]!J3#S&L
MN\;FD26T@)EL,30RL2(="0'FWN0G;,'<K#81<S>P>.QD&?-3J()1*<(]PKZ*
M9.CT3CX.4SO*\[ $'2 CDX&M2.*RPKQ4,>J/3^:PE+!6O%CZD@V\P51<ZT;?
M([M8EO(]6!N& 6RQAT++(!]Y"9^426CN7G".N%CON"1(P!'W* T7(BTC0>B%
MJ,5ES!2MTVTEH%65RF"ZE>&8V;*/^,&DQY,Q+:7&BMS "2"'Z*[=U2Z7!9UD
MA0.I3_<IH/(1[VJ=M,JL\3&W=2>N#W.,+LX%D 0*0H-Y7M14=+$6BK4:"A&/
M6$W![4M"FB[]),-\J"042O\Y0J36YYT]*TATWC]S&.(V6?^;1;ZQ#[\)^^2W
M@&-EL,Y(DA?M%4\+T))L]5VRV'<I[QCS ;0HKKLCJS^X?R#E[5%I^@@(Q806
M@BK,HEG*R53?"&&.Z"$.]@ANU#]640E6R-0&6E+(1#:M,@B6*1K6RE)&FT_V
M!IO(\D7(&:-J-)HOBRVA\*:"5Z&CE^!CRW#(!LE G@[A@CA;"D\; +<F.]R8
MURZJF;S^.3@*AQ(PP'$JQ!B!/KNI_"".D2^Y)6S\BB#0!(I 'Q!7GTU*.P$J
M[504']\]3L RQ/(6//);= ?;XV!GU:[ 0!+&$TR8O/H6K&:1O1^<B ,SQEAM
+-#,,4( 7Q<IDR 46
end
@eof
chmod 644 history.Z
echo x - make.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 make.Z
M'YV01N2\:0."3AT[:<J$"'(ER94J5V+$<"$D"14G1:B$P%BE21 G3D!,J>,&
MA)(P)67( *%2APP8()H4T0(B1@X<.11(*3.F3!H[9<CH "$F#P@T< XF#+-#
M)$D6+%>>+(DSJDL8.F"L;%-&CX* X<:1*B0H4.($BE:Q*B1HT>0.LL8E..F
M!90P=- ,Y3$VX<*&#R-.K'@QX\8B'3\Z\1&WY\^@0\T()-BW#(@[:?*"J%-G
M#)RF(]U 56D2)8BJ+6/@T$'#1F.?0(42-5K9!6?/H$F63KDR]>K6-6_FW.DX
M=N3)(-JD<4/'14^Z(% H9YYB-HCG;NR$P6.[,YSH$V6\J,*&CIPT>&2X@-%"
M2 H%"=*0 1$D"(P:-V#,R"TZZN[3.; 4@PXUS.#2#""L $,,,,#PVF.R%97<
M<LUA%QUVVN%1'0HTN!"#>#-X2,-[\<U7'X,UT! #?Z-)91IJ Q9X58(+-JA
M$V7,,4<89Y310A*R\8#3@BJ]5* +)]ZG(A#355@&78P1!QMDUF&XG5,E3>6?
M##$:J!5\D@T$@EN* 6%68&D1QA8(9KPA1W)AI,'&DT!8B0<("(4!@AQSC#&'
M"PI@T5YF;LC5PA1EN$'&DT.1"9*9@*$UV%H9@: $7B5,51H+?X'8U8Y9&4#
M" ]1H0 5;PR%E%)EA!%"&V&@H< 0 W'%W%!#2/'$%%.L":N<>*:AIT=),%&$
M%$ ,<:P35@2!A0(CB:$&3W0,109",N#!':QKE*& BV$*^ZXY)9K[KGHIJNN
MN3=.0<2N.ISZQG4#P2&G9=>FD2UW8VRFZ),Q33$$"#NQ 4(-ZX'@YL$>Q@O"
MPP\KP(02+5CQY!QIO.&&PQ!;"O$8!K<0!!,@M'#%2BT<,4?)_;;PQ)TM$#$Q
M""7$ $*^^SH'P@X[* Q&\NM<3.VVK)@- @OS$%'&&.LH4,.#3H(<1EXE $'
MTT+CK*T+5..++1MJ<%VUSQTKD(003<R PX<57YSQQF1#'#?()8]<\LDEJ\QR
MR2^73,39::^]4LU#Z[MUOSS'#;0;61.-A]%0);UTTT]''7?75S==>,Y=;YZ&
M&&V([6W'EJYK^NFHIRZN E4XD006\8X 9[=FW,OFPGEYG48+=+S1 @IJ?P@"
M'WR '9UM9?W)* C7%J$$4E@-$4/,9.$WJQ&,!'$$=.[''?$8;#!AK78?DX0
MSF!_;RG.YI-O.+]L+D=&\F6X@ :];<"JZ)^R)C!&OR38PQ"RM[TI] $$ 23"
M\Z)7! /Z#7#!0]F\V >ZS1U.?0I GQK<E[-^U4Y1]+,?_O1'!O[!YW\(%" !
7N7? !"Y0>@>,V<Q:,,&OJ<&"_,+@MP#<
end
@eof
chmod 644 make.Z
echo x - testpage.tex.Z '[non-ascii]'
$unpacker <<'@eof'
begin 644 testpage.tex.Z
M'YV0)4#0*3.'#IPP9\JX&(@'1 L08^24"3.0# @9-4!,*0-G8!LQ9>2 B)$#
M1PT% 8>\@9-'3IHS:.B 0#$DQ<B2&<7D <&$()LT97B&:0/GC1PZ*%&"H$)0
MYALS(-"\N0,BS)@Q=>10+,-F)QR7;@:*E/CU#9DZ8PB"().F31DW<]*\@0MB
M#IPR8]*8 4I&J4ZA3+& >%/'8&$7"D H5JR "YDW6-V&+9B'39D]88ZF&6.Y
M3^.#"2E;WE.&*)T\GA<SYF*63%PRI3.?2>-&,8R.C<O8>?LZMIS9M6\CY=)&
M-NV#<NZD(4,'S4C:C8O_/IYY#D<0PA.K;DQGI73@V'%S03.1#/F7,<,/)Q_&
M]?7L7+K#F;,F#1SUVA<W-O/F3?,RZ,D$'W_^T6<??O&5@<=_ 8*0 W0)+J@<
M<\[9X$(-$%I'AV5NG-'<'ES4X48:&[[E(1I][!$#;9YQX489=XQ!6%@A[4%@
MBR !M\=CD;U%1XO(T09;6 CF2-L><&Q&1U9E]($"#"S D$)C<T1D'QUQZ5'&
M9X4]R4(+.:0 HAE:N27&&WB@8&$-+(2Y1Q\MME$'&W38UV4++L3P)0TNV) "
M"GCJ*>4>.:3(Q4\O>AF#F"[( &=T<]8)QYTNP,!F"WS64,.?@48I9@PP&(IH
M&8HR&L.C7&@HHXABV=A?BJ<2%ZF== ":YYXNS+"IK8**62B(Q:U1QIEXY*?:
ML<@FJZR7@W*161AB;.;J&W Z2P9SD,W8ZHTJHBHGG;2JV2>N?J)PZZ"_'DH;
MJ5 NND>CWLXZ::UK7LIGN>=^&BJ(HY;Z[JDMJJIMC=S&^JVD75IH ZZZ_IDO
MH88&.RR:QBIK\<6*,2NFLUI%.\:TU;:'[:HTR@%RMW'*V^4,>;*9YY]0O@PQ
MO^NBT.N[CJ8,[KPHL"P#"Y7N&K.[H(I:\\UYHBHPJP2_VJVL.Z_L @U +^JE
MS.E*3&S%&'=]K,8@/NLQR'U8._+ )A<<;]2ULAS#I3F\[&6@OAJ=*-(Y0\IV
MSXU^&;>E,'\I<]$TW^WIOTJ700?)VSIML,IM3^VWW%#2/3-Q80B[M=><(PLV
MQ]!*>V/9(G?'>-/4HIR;&V0@J223+=JQ%QML1$?LF^/-7CL71KJQ1QNTV8=0
MDWO0P*("5) ' IE#!3670&BD,0<(H 4UAU1S6@02""38P 7S'Y^ZAZ,GG !"
M?&VIE4/Y)+B@V!7DN:' 5[15-%AM).#PO5;AITB^^>ASR_1B$ /V42\,=Y$#
M"Z 7%.:YI2[88X/VG/<B!=!F#,XATQO: (*)8+"#9$C(8*#RGP,FT 5<X,(6
M0-61+B!/>7*84TBF1Q$&+H\P(BE#"-6B'-J!0$B;V4I4I@(".7WP*3:LW@_G
MH( Z6 =:EG'?4I3'!MD$I4YC6 ,-)<*]/!D0@9FA V*X\);6 6]$U6L1&G1'
;G-NE9CM<D%T::&<[-+UI=:WC41TD\Z.**>"/
end
@eof
chmod 644 testpage.tex.Z
rm -f /tmp/unpack$$
exit 0
--
Michael Haberler mah@hpuviea.uucp
Hewlett-Packard Austria GmbH, ...mcvax!tuvie!hpuviea!mah
Lieblgasse 1 ...hplabs!hpfcla!hpbbn!hpuviea!mah
A-1220 Vienna, Austria Tel: (0043) (222) 2500 x412 (9-18 CET) joe@Pacer.UUCP (Joe Kelsey) (02/24/89)
I have taken the recently posted DVI-LaserJet converter and modified
it to support .gf fonts and to function as a spooler. The .gf
modifications were based on the mitdevices/dvi2ps code in the standard
TeX distribution. You need to have the files findfile.[ch] and gf.c
from that directory in order to compile with .gf support. If you do
not have a standard TeX distribution, then I'm sure I or someone else
can post the appropriate files.
I also have modified the program to function in a spooling environment
better. If you #define FILTER, then it sends output to stdout instead
of to a .lj file. It also disables the automatic .dvi extension
requirement since spool files rarely have that! I also modified all
diagnostic output to go to stderr to prevent corruption of the spooled
output. I have modified the standard HP-supplied .PCL3 spooler model
to support a TeX mode spooling. If anyone is interested in that, let
me know and I'll supply diffs. I have only tested this stuff on a
LaserJet II, so I have no idea whether or not it works on the IBM
3812. I tried to duplicate the .gf changes for the LaserJet on the
3812, but someone else will have to test it. It is also set up now so
that you have to #define USEPXL if you want the old code. I also did
not modify the findfile code taken from the dvi2ps converter to
support the .pk files or the alternate versions of .pxl files that the
old code supported, although that would not be hard to do.
Following this are my changes to dvi2xx.c. If you cannot handle a
context diff, but would rather have the actual source, drop me a line
and let me know.
/Joe
*** dvi2xx.c.orig Mon Feb 20 15:33:29 1989
--- dvi2xx.c Thu Feb 23 10:25:43 1989
***************
*** 55,60
* when -d cmdline option specified
* #define IBM3812 produce output for the IBM3812 pageprinter
* #define LJ produce output for the HP Laserjet+
*/
/**********************************************************************
************************ Global Definitions ************************
--- 55,62 -----
* when -d cmdline option specified
* #define IBM3812 produce output for the IBM3812 pageprinter
* #define LJ produce output for the HP Laserjet+
+ * #define FILTER produce output on stdout for use as a printer
+ * spooler filter.
*/
/**********************************************************************
************************ Global Definitions ************************
***************
*** 96,103
#define TRUE (bool) 1
#define FALSE (bool) 0
#define UNKNOWN -1
! #define FIRSTPXLCHAR 0
! #define LASTPXLCHAR 127 /* was 255 * change NPXLCHARS too !! */
/*#define FONTAREA "fonts" /* "/usr/lib/tex/fonts" */
#ifdef hpux
#define MAXOPEN (NOFILE - 8)
--- 98,109 -----
#define TRUE (bool) 1
#define FALSE (bool) 0
#define UNKNOWN -1
! #define FIRSTFNTCHAR 0
! #ifdef USEPXL
! #define LASTFNTCHAR 127 /* was 255 * change NFNTCHARS too !! */
! #else
! #define LASTFNTCHAR 255
! #endif
/*#define FONTAREA "fonts" /* "/usr/lib/tex/fonts" */
#ifdef hpux
#define MAXOPEN (NOFILE - 8)
***************
*** 104,110
#else
#define MAXOPEN 12 /* limit on number of open PXL files */
#endif
! #define NPXLCHARS 128 /* was 256 change LASTPXLCHAR too !! */
#define STACK_SIZE 100 /* DVI-stack size */
#define STRSIZE 255 /* stringsize for file specification */
#define NONEXISTANT -1 /* offset for PXL files not found */
--- 110,120 -----
#else
#define MAXOPEN 12 /* limit on number of open PXL files */
#endif
! #ifdef USEPXL
! #define NFNTCHARS 128 /* was 256 change LASTFNTCHAR too !! */
! #else
! #define NFNTCHARS 256
! #endif
#define STACK_SIZE 100 /* DVI-stack size */
#define STRSIZE 255 /* stringsize for file specification */
#define NONEXISTANT -1 /* offset for PXL files not found */
***************
*** 174,184
#define RESOLUTION 300
#define hconvRESOLUTION 300
#define vconvRESOLUTION 300
! #define CHAR_WIDTH_LARGE 100 /* limit for loading into printer font */
! #define CHAR_HEIGTH_LARGE 127 /* y_offset reaches the same size! */
! #define EMITFILE_EXTENSION ".lj" /* default extension of emit file */
! #define MAX_FONTS_PER_PAGE 16 /* maximum number of fonts per page */
! #define HANDLE_MAX_FONTS 255 /* max nr of fonts handled (rasterfont) */
#define EMITC(c) putc(c,outfp) /* output a single character */
#define EMITL(l,d) EMITB(l,d) /* EMIT-logical = EMITB */
#define XDEFAULTOFF RESOLUTION-54 /* y default offset on page 1 inch (LJ2)*/
--- 184,195 -----
#define RESOLUTION 300
#define hconvRESOLUTION 300
#define vconvRESOLUTION 300
! #define CHAR_WIDTH_LARGE 100 /* limit for loading into printer font */
! #define CHAR_HEIGTH_LARGE 127 /* y_offset reaches the same size! */
! #define EMITFILE_EXTENSION ".lj" /* default extension of emit file */
! #define MAX_FONTS_PER_PAGE 16 /* maximum number of fonts per page */
! #define HANDLE_MAX_FONTS 255 /* max nr of fonts handled (rasterfont) */
! #define MAXFONTSTORAGE (395*1024) /* standard user memory */
#define EMITC(c) putc(c,outfp) /* output a single character */
#define EMITL(l,d) EMITB(l,d) /* EMIT-logical = EMITB */
#define XDEFAULTOFF RESOLUTION-54 /* y default offset on page 1 inch (LJ2)*/
***************
*** 217,222
extern char *sys_errlist[];
extern int errno;
#include "findfile.h"
/**********************************************************************/
--- 228,249 -----
extern char *sys_errlist[];
extern int errno;
+ #ifndef USEPXL
+ /* interface to gf.c */
+ extern FILE *gfin;
+ extern int checksum;
+ extern long tfm_wd[], char_pointer[];
+ extern char char_exists[];
+ extern int num_cols, num_rows, num_bytes, x_offset, y_offset;
+ extern unsigned char bits[];
+ extern int gettochar();
+ extern void readbits();
+ extern void readpost();
+ extern void seekpost();
+ extern int seekchar();
+ #endif
+
+ #ifndef unix
#include "findfile.h"
#endif
***************
*** 218,224
extern int errno;
#include "findfile.h"
!
/**********************************************************************/
/************************* Global Procedures ************************/
/**********************************************************************/
--- 245,252 -----
#ifndef unix
#include "findfile.h"
! #endif
!
/**********************************************************************/
/************************* Global Procedures ************************/
/**********************************************************************/
***************
*** 277,282
/**********************************************************************/
struct char_entry { /* character entry */
unsigned short width, height; /* width and height in pixels */
short xOffset, yOffset, yyOffset; /* x offset and y offset in pixels*/
struct {
--- 305,311 -----
/**********************************************************************/
struct char_entry { /* character entry */
+ #ifdef USEPXL
unsigned short width, height; /* width and height in pixels */
short xOffset, yOffset, yyOffset; /* x offset and y offset in pixels*/
#endif
***************
*** 279,284
struct char_entry { /* character entry */
unsigned short width, height; /* width and height in pixels */
short xOffset, yOffset, yyOffset; /* x offset and y offset in pixels*/
struct {
bool isloaded;
union {
--- 308,314 -----
#ifdef USEPXL
unsigned short width, height; /* width and height in pixels */
short xOffset, yOffset, yyOffset; /* x offset and y offset in pixels*/
+ #endif
struct {
bool isloaded;
union {
***************
*** 294,302
struct font_entry { /* font entry */
long k, c, s, d;
int a, l;
! /* char n[STRSIZE]; */ /* FNT_DEF command parameters */
! /* long font_space; */ /* computed from FNT_DEF s parameter */
! long font_mag; /* computed from FNT_DEF s and d parameters */
/*char psname[STRSIZE];*/ /* PostScript name of the font */
char name[STRSIZE]; /* full name of PXL file */
FILE * font_file_id; /* file identifier (NO_FILE if none) */
--- 324,332 -----
struct font_entry { /* font entry */
long k, c, s, d;
int a, l;
! char n[STRSIZE]; /* FNT_DEF command parameters */
! long font_space; /* computed from FNT_DEF s parameter */
! long font_mag; /* computed from FNT_DEF s and d parameters */
/*char psname[STRSIZE];*/ /* PostScript name of the font */
char name[STRSIZE]; /* full name of PXL file */
FILE * font_file_id; /* file identifier (NO_FILE if none) */
***************
*** 300,305
/*char psname[STRSIZE];*/ /* PostScript name of the font */
char name[STRSIZE]; /* full name of PXL file */
FILE * font_file_id; /* file identifier (NO_FILE if none) */
long magnification; /* magnification read from PXL file */
long designsize; /* design size read from PXL file */
struct char_entry ch[NPXLCHARS]; /* character information */
--- 330,336 -----
/*char psname[STRSIZE];*/ /* PostScript name of the font */
char name[STRSIZE]; /* full name of PXL file */
FILE * font_file_id; /* file identifier (NO_FILE if none) */
+ #ifdef USEPXL
long magnification; /* magnification read from PXL file */
long designsize; /* design size read from PXL file */
#endif
***************
*** 302,308
FILE * font_file_id; /* file identifier (NO_FILE if none) */
long magnification; /* magnification read from PXL file */
long designsize; /* design size read from PXL file */
! struct char_entry ch[NPXLCHARS]; /* character information */
struct font_entry *next;
int ncdl; /* #of different chars actually downloaded */
int plusid; /* Font id in Printer */
--- 333,340 -----
#ifdef USEPXL
long magnification; /* magnification read from PXL file */
long designsize; /* design size read from PXL file */
! #endif
! struct char_entry ch[NFNTCHARS]; /* character information */
struct font_entry *next;
int ncdl; /* #of different chars actually downloaded */
int plusid; /* Font id in Printer */
***************
*** 377,390
bool EvenPage = FALSE; /* Document starts with an even Page */
long LastPtobePrinted = 0;
- /* deactivated features */
- /**********************/
- /*int nif = 0; */ /* number of files to include */
- /*char *Ifile[100]; */ /* files to include */
- /*int nps = 0; */ /* number of PostScript commands to send */
- /*char *PScmd[100]; */ /* PostScript commands to send */
- /**********************/
-
long allocated_storage = 0; /* size of mallocated storage (statistics) */
long power[32] ;
long gpower[33] ;
--- 409,414 -----
bool EvenPage = FALSE; /* Document starts with an even Page */
long LastPtobePrinted = 0;
long allocated_storage = 0; /* size of mallocated storage (statistics) */
long power[32] ;
long gpower[33] ;
***************
*** 400,405
/* raster if fonts/page>MAX_FONTS_PER_PAGE*/
#endif
#ifdef IBM3812
char PMPformat[20];
long used_fontstorage = 0;
--- 424,431 -----
/* raster if fonts/page>MAX_FONTS_PER_PAGE*/
#endif
+ long used_fontstorage = 0;
+
#ifdef IBM3812
char PMPformat[20];
char CharString[CHARSTRINGMAX];
***************
*** 402,408
#ifdef IBM3812
char PMPformat[20];
- long used_fontstorage = 0;
char CharString[CHARSTRINGMAX];
unsigned int CharStringPos = 0;
#define CharStringOut \
--- 428,433 -----
#ifdef IBM3812
char PMPformat[20];
char CharString[CHARSTRINGMAX];
unsigned int CharStringPos = 0;
#define CharStringOut \
***************
*** 473,478
"%s: DVI format = %d, can only process DVI format %d files\n\n",
G_progname, i, DVIFORMAT);
}
if ((outfp = fopen(EmitFileName, WRITE_BINARY)) == NULL) {
Fatal("opening output file: fopen(%s) : %s",EmitFileName,sys_errlist[errno]);
}
--- 498,506 -----
"%s: DVI format = %d, can only process DVI format %d files\n\n",
G_progname, i, DVIFORMAT);
}
+ #ifdef FILTER
+ outfp = stdout;
+ #else
if ((outfp = fopen(EmitFileName, WRITE_BINARY)) == NULL) {
Fatal("opening output file: fopen(%s) : %s",EmitFileName,sys_errlist[errno]);
}
***************
*** 476,481
if ((outfp = fopen(EmitFileName, WRITE_BINARY)) == NULL) {
Fatal("opening output file: fopen(%s) : %s",EmitFileName,sys_errlist[errno]);
}
#ifndef unix
AssureBinary(outfp);
--- 504,510 -----
if ((outfp = fopen(EmitFileName, WRITE_BINARY)) == NULL) {
Fatal("opening output file: fopen(%s) : %s",EmitFileName,sys_errlist[errno]);
}
+ #endif
#ifndef unix
AssureBinary(outfp);
***************
*** 490,500
if ( G_header )
CopyFile( HeaderFileName );
- /*****************************/
- /*for( i0=0; i0<nif; i0++ ) */ /* copy all included files */
- /* CopyFile( Ifile[i0] ); */
- /*****************************/
-
#ifdef IBM3812
PMPout(1, "\307"); /* unload all fonts */
PMPout(1, "\310"); /* unload all macros */
--- 519,524 -----
if ( G_header )
CopyFile( HeaderFileName );
#ifdef IBM3812
PMPout(1, "\307"); /* unload all fonts */
PMPout(1, "\310"); /* unload all macros */
***************
*** 500,505
PMPout(1, "\310"); /* unload all macros */
#endif
#ifdef LJ
if (ResetPrinter)
EMIT(outfp, "\033E");
--- 524,530 -----
PMPout(1, "\310"); /* unload all macros */
#endif
#ifdef LJ
+ #ifndef FILTER
if (ResetPrinter)
EMIT(outfp, "\033E");
***************
*** 508,513
if (ncopies>1)
EMIT(outfp, "\033&l%hdX",ncopies);
#endif
if (DoublePage) {
StartPrintPages = PrintPages;
#ifdef IBM3812
--- 533,539 -----
if (ncopies>1)
EMIT(outfp, "\033&l%hdX",ncopies);
#endif
+ #endif
if (DoublePage) {
StartPrintPages = PrintPages;
#ifdef IBM3812
***************
*** 518,524
if (Reverse) {
#ifdef DEBUG
if (Debug)
! printf("reverse\n");
#endif
ReadPostAmble(TRUE);
fseek(dvifp, ppagep, 0);
--- 544,550 -----
if (Reverse) {
#ifdef DEBUG
if (Debug)
! fprintf(stderr, "reverse\n");
#endif
ReadPostAmble(TRUE);
fseek(dvifp, ppagep, 0);
***************
*** 534,540
command = (short) NoSignExtend(dvifp, 1) ;
#ifdef DEBUG
if (Debug)
! printf("CMD:\t%d\n", command);
#endif
/* switch (command=NoSignExtend(dvifp, 1)) {*/
switch (command) {
--- 560,566 -----
command = (short) NoSignExtend(dvifp, 1) ;
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"CMD:\t%d\n", command);
#endif
/* switch (command=NoSignExtend(dvifp, 1)) {*/
switch (command) {
***************
*** 918,923
#ifdef IBM3812
PMPout(10, "\373\010PMP.init"); /* re-init printer */
PMPflush;
if (used_fontstorage > MAXFONTSTORAGE) {
Warning("\n\7used font_storage of 3812: %ld Bytes (of %ld)\7",
--- 944,950 -----
#ifdef IBM3812
PMPout(10, "\373\010PMP.init"); /* re-init printer */
PMPflush;
+ #endif
if (used_fontstorage > MAXFONTSTORAGE) {
Warning("\n\7used font_storage of %s: %ld Bytes (of %ld)\7",
***************
*** 920,927
PMPflush;
if (used_fontstorage > MAXFONTSTORAGE) {
! Warning("\n\7used font_storage of 3812: %ld Bytes (of %ld)\7",
! used_fontstorage, MAXFONTSTORAGE);
Warning("Try to format file in separate runs!");
} else
qprintf(
--- 947,954 -----
#endif
if (used_fontstorage > MAXFONTSTORAGE) {
! Warning("\n\7used font_storage of %s: %ld Bytes (of %ld)\7",
! PRINTER, used_fontstorage, MAXFONTSTORAGE);
Warning("Try to format file in separate runs!");
} else
qfprintf(stderr,
***************
*** 924,933
used_fontstorage, MAXFONTSTORAGE);
Warning("Try to format file in separate runs!");
} else
! qprintf(
! "\nAll done, used font_storage of 3812: %ld Bytes (of %ld)",
! used_fontstorage, MAXFONTSTORAGE);
! #endif
#ifdef LJ
EMIT(outfp, "\033E");
if (PrintTestPage) EMIT(outfp, "\033z");
--- 951,959 -----
PRINTER, used_fontstorage, MAXFONTSTORAGE);
Warning("Try to format file in separate runs!");
} else
! qfprintf(stderr,
! "\nAll done, used font_storage of %s: %ld Bytes (of %ld)",
! PRINTER, used_fontstorage, MAXFONTSTORAGE);
#ifdef LJ
#ifndef FILTER
EMIT(outfp, "\033E");
***************
*** 929,934
used_fontstorage, MAXFONTSTORAGE);
#endif
#ifdef LJ
EMIT(outfp, "\033E");
if (PrintTestPage) EMIT(outfp, "\033z");
#endif
--- 955,961 -----
"\nAll done, used font_storage of %s: %ld Bytes (of %ld)",
PRINTER, used_fontstorage, MAXFONTSTORAGE);
#ifdef LJ
+ #ifndef FILTER
EMIT(outfp, "\033E");
if (PrintTestPage) EMIT(outfp, "\033z");
#endif
***************
*** 932,937
EMIT(outfp, "\033E");
if (PrintTestPage) EMIT(outfp, "\033z");
#endif
if (!G_quiet) {
printf( "\nDynamically allocated storage: %ld Bytes \n",
--- 959,965 -----
EMIT(outfp, "\033E");
if (PrintTestPage) EMIT(outfp, "\033z");
#endif
+ #endif
if (!G_quiet) {
fprintf(stderr,"\nDynamically allocated storage: %ld Bytes \n",
***************
*** 934,940
#endif
if (!G_quiet) {
! printf( "\nDynamically allocated storage: %ld Bytes \n",
allocated_storage);
#ifdef TIMING
--- 962,968 -----
#endif
if (!G_quiet) {
! fprintf(stderr,"\nDynamically allocated storage: %ld Bytes \n",
allocated_storage);
#ifdef TIMING
***************
*** 943,949
-start_time;
if (ndone > 0) {
! printf(
"Time of complete run: %.2f seconds, %d page(s), %.2f seconds/page",
time, ndone, time / ndone);
printf(" (%.2f ppm)\n",(ndone * 60) / time);
--- 971,977 -----
-start_time;
if (ndone > 0) {
! fprintf(stderr,
"Time of complete run: %.2f seconds, %d page(s), %.2f seconds/page",
time, ndone, time / ndone);
fprintf(stderr," (%.2f ppm)\n",(ndone * 60) / time);
***************
*** 946,952
printf(
"Time of complete run: %.2f seconds, %d page(s), %.2f seconds/page",
time, ndone, time / ndone);
! printf(" (%.2f ppm)\n",(ndone * 60) / time);
}
printf("\n");
#endif
--- 974,980 -----
fprintf(stderr,
"Time of complete run: %.2f seconds, %d page(s), %.2f seconds/page",
time, ndone, time / ndone);
! fprintf(stderr," (%.2f ppm)\n",(ndone * 60) / time);
}
fprintf(stderr,"\n");
#endif
***************
*** 948,954
time, ndone, time / ndone);
printf(" (%.2f ppm)\n",(ndone * 60) / time);
}
! printf("\n");
#endif
}
--- 976,982 -----
time, ndone, time / ndone);
fprintf(stderr," (%.2f ppm)\n",(ndone * 60) / time);
}
! fprintf(stderr,"\n");
#endif
}
***************
*** 1024,1029
case 'D': /* D selects DoublePage */
DoublePage = TRUE;
break;
case 'e': /* emit file is specified */
EmitFileName = ++tcp;
/* delete trailing ':' (causing hangup) */
--- 1052,1058 -----
case 'D': /* D selects DoublePage */
DoublePage = TRUE;
break;
+ #ifndef FILTER
case 'e': /* emit file is specified */
EmitFileName = ++tcp;
/* delete trailing ':' (causing hangup) */
***************
*** 1032,1037
EmitFileName[strlen(EmitFileName)-1] =
'\0';
break;
case 'f': /* next arg is starting pagenumber */
if ( sscanf(tcp + 1, "%ld", &FirstPage) != 1 )
Fatal("Argument is not a valid integer\n");
--- 1061,1067 -----
EmitFileName[strlen(EmitFileName)-1] =
'\0';
break;
+ #endif
case 'f': /* next arg is starting pagenumber */
if ( sscanf(tcp + 1, "%ld", &FirstPage) != 1 )
Fatal("Argument is not a valid integer\n");
***************
*** 1045,1057
HeaderFileName = ++tcp;
G_header = TRUE;
break;
- #ifdef SUPERCOMMENT
- case 'i': /* next arg is a PostScript file to copy */
- if ( ++argind >= argc )
- Fatal("No argument following -i\n");
- Ifile[nif++] = argv[argind];
- break;
- #endif
case 'x': /* specify x-offset */
this_arg = 0;
if (!(*++tcp)) {
--- 1075,1080 -----
HeaderFileName = ++tcp;
G_header = TRUE;
break;
case 'x': /* specify x-offset */
this_arg = 0;
if (!(*++tcp)) {
***************
*** 1168,1173
G_nowarn = TRUE;
break;
#ifdef LJ
case 'z':
PrintTestPage = (bool)(!PrintTestPage);
break;
--- 1191,1197 -----
G_nowarn = TRUE;
break;
#ifdef LJ
+ #ifndef FILTER
case 'z':
PrintTestPage = (bool)(!PrintTestPage);
break;
***************
*** 1172,1177
PrintTestPage = (bool)(!PrintTestPage);
break;
#endif
default:
printf("%c is not a legal flag\n", *tcp);
}
--- 1196,1202 -----
PrintTestPage = (bool)(!PrintTestPage);
break;
#endif
+ #endif
default:
fprintf(stderr,
"%c is not a legal flag\n", *tcp);
***************
*** 1173,1179
break;
#endif
default:
! printf("%c is not a legal flag\n", *tcp);
}
} else {
/* tcp = rindex(argv[argind], '/'); */
--- 1198,1205 -----
#endif
#endif
default:
! fprintf(stderr,
! "%c is not a legal flag\n", *tcp);
}
} else {
#ifdef FILTER
***************
*** 1176,1182
printf("%c is not a legal flag\n", *tcp);
}
} else {
! /* tcp = rindex(argv[argind], '/'); */
tcp = strrchr(argv[argind], '/');
/* split into directory + file name */
if (tcp == NULL) {
--- 1202,1210 -----
"%c is not a legal flag\n", *tcp);
}
} else {
! #ifdef FILTER
! (void) strcpy(filename, tcp);
! #else
tcp = strrchr(argv[argind], '/');
/* split into directory + file name */
if (tcp == NULL) {
***************
*** 1202,1207
(void) strcpy(filename, curarea);
(void) strcat(filename, curname);
if ((dvifp = BINOPEN(filename)) == NULL) {
Fatal("%s: can't find DVI file \"%s\"\n\n",
--- 1230,1236 -----
(void) strcpy(filename, curarea);
(void) strcat(filename, curname);
+ #endif
if ((dvifp = BINOPEN(filename)) == NULL) {
Fatal("%s: can't find DVI file \"%s\"\n\n",
***************
*** 1213,1224
x_goffset = (short) MM_TO_PXL(x_offset) + x_origin;
y_goffset = (short) MM_TO_PXL(y_offset) + y_origin;
! /*
! printf("setting x_goffset to %hd, x_offset= %f, x_origin= %hd\n",
! x_goffset, x_offset, x_origin);
! printf("setting y_goffset to %hd, y_offset= %f, y_origin= %hd\n",
! y_goffset, y_offset, y_origin);
! */
if (dvifp == NULL) {
printf("\nThis is the DVI to %s converter version %s",
PRINTER, VERSION);
--- 1242,1248 -----
x_goffset = (short) MM_TO_PXL(x_offset) + x_origin;
y_goffset = (short) MM_TO_PXL(y_offset) + y_origin;
!
if (dvifp == NULL) {
fprintf(stderr,"\nThis is the DVI to %s converter version %s",
PRINTER, VERSION);
***************
*** 1220,1226
y_goffset, y_offset, y_origin);
*/
if (dvifp == NULL) {
! printf("\nThis is the DVI to %s converter version %s",
PRINTER, VERSION);
printf(" (%s)\n", OS);
printf("usage: %s [OPTIONS] dvifile\n", G_progname);
--- 1244,1250 -----
y_goffset = (short) MM_TO_PXL(y_offset) + y_origin;
if (dvifp == NULL) {
! fprintf(stderr,"\nThis is the DVI to %s converter version %s",
PRINTER, VERSION);
fprintf(stderr," (%s)\n", OS);
fprintf(stderr,"usage: %s [OPTIONS] dvifile\n", G_progname);
***************
*** 1222,1229
if (dvifp == NULL) {
printf("\nThis is the DVI to %s converter version %s",
PRINTER, VERSION);
! printf(" (%s)\n", OS);
! printf("usage: %s [OPTIONS] dvifile\n", G_progname);
printf("OPTIONS are:\n");
printf(
--- 1246,1253 -----
if (dvifp == NULL) {
fprintf(stderr,"\nThis is the DVI to %s converter version %s",
PRINTER, VERSION);
! fprintf(stderr," (%s)\n", OS);
! fprintf(stderr,"usage: %s [OPTIONS] dvifile\n", G_progname);
fprintf(stderr,"OPTIONS are:\n");
fprintf(stderr,
***************
*** 1225,1232
printf(" (%s)\n", OS);
printf("usage: %s [OPTIONS] dvifile\n", G_progname);
! printf("OPTIONS are:\n");
! printf(
"\t-aX ..... X= searchpath leading to pixel-files (.pk or .pxl)\n");
#ifdef IBM3812
printf(
--- 1249,1256 -----
fprintf(stderr," (%s)\n", OS);
fprintf(stderr,"usage: %s [OPTIONS] dvifile\n", G_progname);
! fprintf(stderr,"OPTIONS are:\n");
! fprintf(stderr,
"\t-aX ..... X= searchpath leading to pixel-files (.pk or .pxl)\n");
#ifdef IBM3812
fprintf(stderr,
***************
*** 1229,1235
printf(
"\t-aX ..... X= searchpath leading to pixel-files (.pk or .pxl)\n");
#ifdef IBM3812
! printf(
"\t-b ..... take paper for first page from alternate casette\n");
#endif
printf("\t-cX ..... X= number of copies\n");
--- 1253,1259 -----
fprintf(stderr,
"\t-aX ..... X= searchpath leading to pixel-files (.pk or .pxl)\n");
#ifdef IBM3812
! fprintf(stderr,
"\t-b ..... take paper for first page from alternate casette\n");
#endif
fprintf(stderr,"\t-cX ..... X= number of copies\n");
***************
*** 1232,1238
printf(
"\t-b ..... take paper for first page from alternate casette\n");
#endif
! printf("\t-cX ..... X= number of copies\n");
#ifdef DEBUG
printf("\t-d ..... turns debug output on\n");
#endif
--- 1256,1262 -----
fprintf(stderr,
"\t-b ..... take paper for first page from alternate casette\n");
#endif
! fprintf(stderr,"\t-cX ..... X= number of copies\n");
#ifdef DEBUG
fprintf(stderr,"\t-d ..... turns debug output on\n");
#endif
***************
*** 1234,1240
#endif
printf("\t-cX ..... X= number of copies\n");
#ifdef DEBUG
! printf("\t-d ..... turns debug output on\n");
#endif
printf("\t-D ..... turns doublepage output on\n");
printf("\t-eX ..... X= outputfile\n");
--- 1258,1264 -----
#endif
fprintf(stderr,"\t-cX ..... X= number of copies\n");
#ifdef DEBUG
! fprintf(stderr,"\t-d ..... turns debug output on\n");
#endif
fprintf(stderr,"\t-D ..... turns doublepage output on\n");
#ifndef FILTER
***************
*** 1236,1244
#ifdef DEBUG
printf("\t-d ..... turns debug output on\n");
#endif
! printf("\t-D ..... turns doublepage output on\n");
! printf("\t-eX ..... X= outputfile\n");
! printf("\t-fX ..... print from begin of page number X\n");
#ifdef LJ
printf("\t-g ..... do not reset printer at begin of job (go)\n");
#endif
--- 1260,1270 -----
#ifdef DEBUG
fprintf(stderr,"\t-d ..... turns debug output on\n");
#endif
! fprintf(stderr,"\t-D ..... turns doublepage output on\n");
! #ifndef FILTER
! fprintf(stderr,"\t-eX ..... X= outputfile\n");
! #endif
! fprintf(stderr,"\t-fX ..... print from begin of page number X\n");
#ifdef LJ
fprintf(stderr,
"\t-g ..... do not reset printer at begin of job (go)\n");
***************
*** 1240,1246
printf("\t-eX ..... X= outputfile\n");
printf("\t-fX ..... print from begin of page number X\n");
#ifdef LJ
! printf("\t-g ..... do not reset printer at begin of job (go)\n");
#endif
printf("\t-hX ..... X= name of headerfile\n");
printf("\t-mX ..... magnification X=0;h;1;2;3;4;5;#xxxx\n");
--- 1266,1273 -----
#endif
fprintf(stderr,"\t-fX ..... print from begin of page number X\n");
#ifdef LJ
! fprintf(stderr,
! "\t-g ..... do not reset printer at begin of job (go)\n");
#endif
fprintf(stderr,"\t-hX ..... X= name of headerfile\n");
fprintf(stderr,"\t-mX ..... magnification X=0;h;1;2;3;4;5;#xxxx\n");
***************
*** 1242,1258
#ifdef LJ
printf("\t-g ..... do not reset printer at begin of job (go)\n");
#endif
! printf("\t-hX ..... X= name of headerfile\n");
! printf("\t-mX ..... magnification X=0;h;1;2;3;4;5;#xxxx\n");
! printf("\t-pX ..... print X pages\n");
! printf("\t-q ..... quiet operation\n");
! printf("\t-r ..... process pages in reverse order\n");
! printf("\t-tX ..... print to end of page number X\n");
! printf("\t-w ..... don't print out warnings\n");
! printf("\t-v ..... tell user which pixel-files are used\n");
! printf("\t-xX ..... X= x-offset on printout in mm\n");
! printf("\t-yX ..... X= y-offset on printout in mm\n");
! printf("\t-XO ..... O= x page origin in dots (default=%d)\n",
XDEFAULTOFF );
printf("\t-YO ..... O= y page origin in dots (default=%d)\n",
YDEFAULTOFF );
--- 1269,1285 -----
fprintf(stderr,
"\t-g ..... do not reset printer at begin of job (go)\n");
#endif
! fprintf(stderr,"\t-hX ..... X= name of headerfile\n");
! fprintf(stderr,"\t-mX ..... magnification X=0;h;1;2;3;4;5;#xxxx\n");
! fprintf(stderr,"\t-pX ..... print X pages\n");
! fprintf(stderr,"\t-q ..... quiet operation\n");
! fprintf(stderr,"\t-r ..... process pages in reverse order\n");
! fprintf(stderr,"\t-tX ..... print to end of page number X\n");
! fprintf(stderr,"\t-w ..... don't print out warnings\n");
! fprintf(stderr,"\t-v ..... tell user which pixel-files are used\n");
! fprintf(stderr,"\t-xX ..... X= x-offset on printout in mm\n");
! fprintf(stderr,"\t-yX ..... X= y-offset on printout in mm\n");
! fprintf(stderr,"\t-XO ..... O= x page origin in dots (default=%d)\n",
XDEFAULTOFF );
fprintf(stderr,"\t-YO ..... O= y page origin in dots (default=%d)\n",
YDEFAULTOFF );
***************
*** 1254,1260
printf("\t-yX ..... X= y-offset on printout in mm\n");
printf("\t-XO ..... O= x page origin in dots (default=%d)\n",
XDEFAULTOFF );
! printf("\t-YO ..... O= y page origin in dots (default=%d)\n",
YDEFAULTOFF );
#ifdef LJ
printf("\t-z ..... print test page with pagecounter after job\n");
--- 1281,1287 -----
fprintf(stderr,"\t-yX ..... X= y-offset on printout in mm\n");
fprintf(stderr,"\t-XO ..... O= x page origin in dots (default=%d)\n",
XDEFAULTOFF );
! fprintf(stderr,"\t-YO ..... O= y page origin in dots (default=%d)\n",
YDEFAULTOFF );
#ifdef LJ
#ifndef FILTER
***************
*** 1257,1263
printf("\t-YO ..... O= y page origin in dots (default=%d)\n",
YDEFAULTOFF );
#ifdef LJ
! printf("\t-z ..... print test page with pagecounter after job\n");
#endif
exit(1);
}
--- 1284,1292 -----
fprintf(stderr,"\t-YO ..... O= y page origin in dots (default=%d)\n",
YDEFAULTOFF );
#ifdef LJ
! #ifndef FILTER
! fprintf(stderr,
! "\t-z ..... print test page with pagecounter after job\n");
#endif
#endif
exit(1);
***************
*** 1259,1264
#ifdef LJ
printf("\t-z ..... print test page with pagecounter after job\n");
#endif
exit(1);
}
if (EQ(EmitFileName, "")) {
--- 1288,1294 -----
fprintf(stderr,
"\t-z ..... print test page with pagecounter after job\n");
#endif
+ #endif
exit(1);
}
#ifndef FILTER
***************
*** 1261,1266
#endif
exit(1);
}
if (EQ(EmitFileName, "")) {
(void) strcpy(EmitFileName, curname);
tcp1 = strchr(EmitFileName, '.');
--- 1291,1297 -----
#endif
exit(1);
}
+ #ifndef FILTER
if (EQ(EmitFileName, "")) {
(void) strcpy(EmitFileName, curname);
tcp1 = strchr(EmitFileName, '.');
***************
*** 1267,1272
*tcp1 = '\0';
strcat(EmitFileName, EMITFILE_EXTENSION);
}
}
--- 1298,1304 -----
*tcp1 = '\0';
strcat(EmitFileName, EMITFILE_EXTENSION);
}
+ #endif
}
***************
*** 1280,1288
int convResolution;
{
/*register*/ double conv;
- /* conv = ((double)den / (double)num) *
- (1000.0 / (double)mag) *
- (254000.0 / (double)convResolution) + 0.5; */
conv = ((double)num / (double)den) *
((double)mag / 1000.0) *
((double)convResolution/254000.0);
--- 1312,1317 -----
int convResolution;
{
/*register*/ double conv;
conv = ((double)num / (double)den) *
((double)mag / 1000.0) *
((double)convResolution/254000.0);
***************
*** 1443,1448
prevfont = fontptr;
}
if (fontptr->id == pk89) {
nbpl = ((ce->width) + 7) >> 3;
total = (long)ce->height * nbpl;
--- 1472,1478 -----
prevfont = fontptr;
}
+ #ifdef USEPXL
if (fontptr->id == pk89) {
nbpl = ((ce->width) + 7) >> 3;
total = (long)ce->height * nbpl;
***************
*** 1454,1460
nbpl = ((ce->width) + 7) >> 3;
total = (long)ce->height * nbpl;
}
!
/***************************************************************/
/*if ( ((char) c == 'a') && (fontptr->plusid == 8)) { */
/* printf("cols=%ld, ncols=%ld\n",nwpl,nbpl); */
--- 1484,1493 -----
nbpl = ((ce->width) + 7) >> 3;
total = (long)ce->height * nbpl;
}
! #else
! nbpl = (num_cols + 7) >> 3;
! total = num_rows * nbpl;
! #endif
/***************************************************************/
/*if ( ((char) c == 'a') && (fontptr->plusid == 8)) { */
/* printf("cols=%ld, ncols=%ld\n",nwpl,nbpl); */
***************
*** 1469,1475
/* printf("<- Now Emitting\n"); */
/* } */
/***************************************************************/
!
if ((short)(ce->height) - ce->yOffset > 55) {
ce->yyOffset = (short) ce->height - ce->yOffset;
ce->yOffset = (short) ce->height;
--- 1502,1508 -----
/* printf("<- Now Emitting\n"); */
/* } */
/***************************************************************/
! #ifdef USEPXL
if ((short)(ce->height) - ce->yOffset > 55) {
ce->yyOffset = (short) ce->height - ce->yOffset;
ce->yOffset = (short) ce->height;
***************
*** 1476,1481
} else {
ce->yyOffset = (short) 0;
}
/* ce->cw = (long)(((double)ce->tfmw / (double)hconv) +0.5); */
/* set active font to nn, load font pattern xx ... */
--- 1509,1515 -----
} else {
ce->yyOffset = (short) 0;
}
+ #endif
/* ce->cw = (long)(((double)ce->tfmw / (double)hconv) +0.5); */
/* set active font to nn, load font pattern xx ... */
#ifdef IBM3812
***************
*** 1478,1484
}
/* ce->cw = (long)(((double)ce->tfmw / (double)hconv) +0.5); */
/* set active font to nn, load font pattern xx ... */
-
#ifdef IBM3812
PMPcont(total + 9);
sprintf(PMPformat, "\323%c\360%c%c%c",
--- 1512,1517 -----
#endif
/* ce->cw = (long)(((double)ce->tfmw / (double)hconv) +0.5); */
/* set active font to nn, load font pattern xx ... */
#ifdef IBM3812
PMPcont(total + 9);
#ifdef USEPXL
***************
*** 1481,1486
#ifdef IBM3812
PMPcont(total + 9);
sprintf(PMPformat, "\323%c\360%c%c%c",
(unsigned char)fontptr->plusid,
(unsigned char)VisChar((char)c),
--- 1514,1520 -----
/* set active font to nn, load font pattern xx ... */
#ifdef IBM3812
PMPcont(total + 9);
+ #ifdef USEPXL
sprintf(PMPformat, "\323%c\360%c%c%c",
(unsigned char)fontptr->plusid,
(unsigned char)VisChar((char)c),
***************
*** 1490,1495
PMPoutC((char)(-(ce->xOffset)));
PMPoutC((char)(ce->cw - (-ce->xOffset + ce->width)));
PMPoutC((char)(ce->yOffset));
#endif
#ifdef LJ
EMIT(outfp, "\033*c%dd%dE\033(s%ldW", fontptr->plusid,
--- 1524,1539 -----
PMPoutC((char)(-(ce->xOffset)));
PMPoutC((char)(ce->cw - (-ce->xOffset + ce->width)));
PMPoutC((char)(ce->yOffset));
+ #else
+ sprintf(PMPformat, "\323%c\360%c%c%c",
+ (unsigned char)fontptr->plusid,
+ (unsigned char)VisChar((char)c),
+ (unsigned char)num_rows,
+ (unsigned char)num_cols);
+ PMPout(6, PMPformat);
+ PMPoutC((char)(-x_offset));
+ PMPoutC((char)(ce->cw - (-x_offset + num_cols)));
+ PMPoutC((char)num_rows-y_offset);
#endif
#endif
#ifdef LJ
***************
*** 1491,1496
PMPoutC((char)(ce->cw - (-ce->xOffset + ce->width)));
PMPoutC((char)(ce->yOffset));
#endif
#ifdef LJ
EMIT(outfp, "\033*c%dd%dE\033(s%ldW", fontptr->plusid,
(unsigned int)VisChar((char)c), (long)(total + 16));
--- 1535,1541 -----
PMPoutC((char)(ce->cw - (-x_offset + num_cols)));
PMPoutC((char)num_rows-y_offset);
#endif
+ #endif
#ifdef LJ
EMIT(outfp, "\033*c%dd%dE\033(s%ldW", fontptr->plusid,
(unsigned int)VisChar((char)c), (long)(total + 16));
***************
*** 1495,1500
EMIT(outfp, "\033*c%dd%dE\033(s%ldW", fontptr->plusid,
(unsigned int)VisChar((char)c), (long)(total + 16));
EMITB(6, "\4\0\016\1\0\0");
EMITWORD(-(ce->xOffset));
EMITWORD(ce->yOffset);
EMITWORD(ce->width);
--- 1540,1546 -----
EMIT(outfp, "\033*c%dd%dE\033(s%ldW", fontptr->plusid,
(unsigned int)VisChar((char)c), (long)(total + 16));
EMITB(6, "\4\0\016\1\0\0");
+ #ifdef USEPXL
EMITWORD(-(ce->xOffset));
EMITWORD(ce->yOffset);
EMITWORD(ce->width);
***************
*** 1499,1504
EMITWORD(ce->yOffset);
EMITWORD(ce->width);
EMITWORD(ce->height);
EMITWORD((int)ce->cw * 4);
#endif
if (fontptr->id == pk89)
--- 1545,1556 -----
EMITWORD(ce->yOffset);
EMITWORD(ce->width);
EMITWORD(ce->height);
+ #else
+ EMITWORD(-x_offset);
+ EMITWORD(num_rows-y_offset);
+ EMITWORD(num_cols);
+ EMITWORD(num_rows);
+ #endif
EMITWORD((int)ce->cw * 4);
#endif
#ifdef USEPXL
***************
*** 1501,1506
EMITWORD(ce->height);
EMITWORD((int)ce->cw * 4);
#endif
if (fontptr->id == pk89)
PkRaster(ce, FALSE);
else if (fontptr->id == id1002)
--- 1553,1559 -----
#endif
EMITWORD((int)ce->cw * 4);
#endif
+ #ifdef USEPXL
if (fontptr->id == pk89)
PkRaster(ce, FALSE);
else if (fontptr->id == id1002)
***************
*** 1515,1520
i * nwpl);
EMITL(nbpl, sl);
}
#ifdef IBM3812
used_fontstorage += (long)ce->height * ((ce->width + 15) >> 4)
*2 + 14;
--- 1568,1579 -----
i * nwpl);
EMITL(nbpl, sl);
}
+ #else
+ for (i = num_rows; i > 0; i--)
+ {
+ EMITL (nbpl, bits + (i-1) * nbpl);
+ }
+ #endif
#ifdef IBM3812
#ifdef USEPXL
used_fontstorage += (long)ce->height * ((ce->width + 15) >> 4)
***************
*** 1516,1521
EMITL(nbpl, sl);
}
#ifdef IBM3812
used_fontstorage += (long)ce->height * ((ce->width + 15) >> 4)
*2 + 14;
#endif
--- 1575,1581 -----
}
#endif
#ifdef IBM3812
+ #ifdef USEPXL
used_fontstorage += (long)ce->height * ((ce->width + 15) >> 4)
*2 + 14;
#else
***************
*** 1518,1523
#ifdef IBM3812
used_fontstorage += (long)ce->height * ((ce->width + 15) >> 4)
*2 + 14;
#endif
fontptr->ncdl += 1;
}
--- 1578,1586 -----
#ifdef USEPXL
used_fontstorage += (long)ce->height * ((ce->width + 15) >> 4)
*2 + 14;
+ #else
+ used_fontstorage += (long)num_rows * ((num_cols + 15) >> 4)
+ *2 + 14;
#endif
#endif
#ifdef LJ
***************
*** 1519,1524
used_fontstorage += (long)ce->height * ((ce->width + 15) >> 4)
*2 + 14;
#endif
fontptr->ncdl += 1;
}
--- 1582,1595 -----
used_fontstorage += (long)num_rows * ((num_cols + 15) >> 4)
*2 + 14;
#endif
+ #endif
+ #ifdef LJ
+ #ifdef USEPXL
+ used_fontstorage += 64 * ((((ce->height * ce->width) - 1) / 64) + 1);
+ #else
+ used_fontstorage += 64 * ((((num_rows * num_cols) - 1) / 64) + 1);
+ #endif
+ #endif
fontptr->ncdl += 1;
}
***************
*** 1538,1543
static unsigned short maxlines;
if (current_line == 0) {
maxlines = ce->height;
MoveVert(-ce->yOffset); /* move cursor up */
--- 1609,1615 -----
static unsigned short maxlines;
if (current_line == 0) {
+ #ifdef USEPXL
maxlines = ce->height;
MoveVert(-ce->yOffset); /* move cursor up */
***************
*** 1542,1547
MoveVert(-ce->yOffset); /* move cursor up */
MoveHor(-ce->xOffset); /* move cursor right */
last_ry = UNKNOWN; /* next time full positioning */
}
--- 1614,1625 -----
MoveVert(-ce->yOffset); /* move cursor up */
MoveHor(-ce->xOffset); /* move cursor right */
+ #else
+ maxlines = num_rows;
+
+ MoveVert(-(num_rows-y_offset)); /* move cursor up */
+ MoveHor(-x_offset); /* move cursor right */
+ #endif
last_ry = UNKNOWN; /* next time full positioning */
}
***************
*** 1550,1555
MoveVert(maxlines); /* move cursor down */
last_ry = UNKNOWN; /* next time full positioning */
}
total = (long)(ce->height - current_line) * (long)nbpl;
if ((total + 9) > 65535) {
maxlines = (unsigned short)((65535 - 9) / nbpl);
--- 1628,1634 -----
MoveVert(maxlines); /* move cursor down */
last_ry = UNKNOWN; /* next time full positioning */
}
+ #ifdef USEPXL
total = (long)(ce->height - current_line) * (long)nbpl;
#else
total = (long)(num_rows - current_line) * (long)nbpl;
***************
*** 1551,1556
last_ry = UNKNOWN; /* next time full positioning */
}
total = (long)(ce->height - current_line) * (long)nbpl;
if ((total + 9) > 65535) {
maxlines = (unsigned short)((65535 - 9) / nbpl);
total = (long)maxlines * (long)nbpl;
--- 1630,1638 -----
}
#ifdef USEPXL
total = (long)(ce->height - current_line) * (long)nbpl;
+ #else
+ total = (long)(num_rows - current_line) * (long)nbpl;
+ #endif
if ((total + 9) > 65535) {
maxlines = (unsigned short)((65535 - 9) / nbpl);
total = (long)maxlines * (long)nbpl;
***************
*** 1559,1564
PMPcont(total + 9);
PMPout(2, "\365\0");
EMITWORD(maxlines);
EMITWORD(ce->width);
PMPoutC((unsigned char) (total >> 16) & 0xFF);
PMPoutC((unsigned char) (total >> 8 ) & 0xFF);
--- 1641,1647 -----
PMPcont(total + 9);
PMPout(2, "\365\0");
EMITWORD(maxlines);
+ #ifdef USEPXL
EMITWORD(ce->width);
#else
EMITWORD(num_cols);
***************
*** 1560,1565
PMPout(2, "\365\0");
EMITWORD(maxlines);
EMITWORD(ce->width);
PMPoutC((unsigned char) (total >> 16) & 0xFF);
PMPoutC((unsigned char) (total >> 8 ) & 0xFF);
PMPoutC((unsigned char) total & 0xFF);
--- 1643,1651 -----
EMITWORD(maxlines);
#ifdef USEPXL
EMITWORD(ce->width);
+ #else
+ EMITWORD(num_cols);
+ #endif
PMPoutC((unsigned char) (total >> 16) & 0xFF);
PMPoutC((unsigned char) (total >> 8 ) & 0xFF);
PMPoutC((unsigned char) total & 0xFF);
***************
*** 1595,1601
#ifdef DEBUG
if (Debug)
! printf("Raster character <%c>... \n", (char) c);
#endif
--- 1681,1687 -----
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"Raster character <%c>... \n", (char) c);
#endif
#ifdef USEPXL
***************
*** 1598,1604
printf("Raster character <%c>... \n", (char) c);
#endif
!
if (fontptr->id == pk89) {
nbpl = ((ce->width) + 7) >> 3;
} else if (fontptr->id == id1002) {
--- 1684,1690 -----
fprintf(stderr,"Raster character <%c>... \n", (char) c);
#endif
! #ifdef USEPXL
if (fontptr->id == pk89) {
nbpl = ((ce->width) + 7) >> 3;
} else if (fontptr->id == id1002) {
***************
*** 1607,1612
nwpl = ( ce->width + 31) >> 5;
nbpl = ( ce->width + 7) >> 3;
}
#ifdef LJ
EMIT(outfp, "\033*t300R\033*r1A");
--- 1693,1701 -----
nwpl = ( ce->width + 31) >> 5;
nbpl = ( ce->width + 7) >> 3;
}
+ #else
+ nbpl = (num_cols + 7) >> 3;
+ #endif
#ifdef LJ
EMIT(outfp, "\033*t300R\033*r1A");
***************
*** 1614,1619
if (ce->charsize == HUGE_SIZE) { /* read pixel from file */
OpenFontFile();
fseek(pxlfp, ce->where.address.fileOffset, 0);
}
--- 1703,1709 -----
if (ce->charsize == HUGE_SIZE) { /* read pixel from file */
OpenFontFile();
+ #ifdef USEPXL
fseek(pxlfp, ce->where.address.fileOffset, 0);
#else
fseek(gfin, ce->where.address.fileOffset, 0);
***************
*** 1615,1620
if (ce->charsize == HUGE_SIZE) { /* read pixel from file */
OpenFontFile();
fseek(pxlfp, ce->where.address.fileOffset, 0);
}
if (fontptr->id == pk89)
--- 1705,1715 -----
OpenFontFile();
#ifdef USEPXL
fseek(pxlfp, ce->where.address.fileOffset, 0);
+ #else
+ fseek(gfin, ce->where.address.fileOffset, 0);
+ gettochar();
+ readbits();
+ #endif
}
#ifdef USEPXL
***************
*** 1616,1622
OpenFontFile();
fseek(pxlfp, ce->where.address.fileOffset, 0);
}
!
if (fontptr->id == pk89)
PkRaster(ce, TRUE);
else if (fontptr->id == id1002) {
--- 1711,1718 -----
readbits();
#endif
}
!
! #ifdef USEPXL
if (fontptr->id == pk89)
PkRaster(ce, TRUE);
else if (fontptr->id == id1002) {
***************
*** 1650,1655
RasterLine(ce, (unsigned int)nbpl, i, sl);
}
}
#ifdef LJ
EMIT(outfp, "\033*rB");
#endif
--- 1746,1755 -----
RasterLine(ce, (unsigned int)nbpl, i, sl);
}
}
+ #else
+ for (i = num_rows; i > 0; i--)
+ RasterLine(ce, (unsigned int)nbpl, i, bits + (i-1) * nbpl);
+ #endif
#ifdef LJ
EMIT(outfp, "\033*rB");
#endif
***************
*** 1921,1927
#ifdef DEBUG
if (Debug)
! printf("open font file\n");
#endif
if (pfontptr == fontptr)
return; /* we need not have been called */
--- 2021,2027 -----
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"open font file %d\n", fontptr->font_file_id);
#endif
if (pfontptr == fontptr)
return; /* we need not have been called */
***************
*** 1973,1979
}
#ifdef DEBUG
if (Debug)
! printf("\n__reuse slot %d\n", least_used);
#endif
current = least_used;
}
--- 2073,2079 -----
}
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"\n__reuse slot %d\n", least_used);
#endif
current = least_used;
}
***************
*** 1983,1989
pxlfp = NO_FILE;
} else {
#ifdef DEBUG
! if (Debug) printf(
"Opening File <%s> /%x/, Size(font_entry)=%d\n",
fontptr->name, pxlfp, sizeof(struct font_entry ));
#endif
--- 2083,2089 -----
pxlfp = NO_FILE;
} else {
#ifdef DEBUG
! if (Debug) fprintf(stderr,
"Opening File <%s> /%x/, Size(font_entry)=%d\n",
fontptr->name, pxlfp, sizeof(struct font_entry ));
#endif
***************
*** 1994,1999
pfontptr = fontptr; /* make previous = current font */
fontptr->font_file_id = pxlfp; /* set file identifier */
pixel_files[current].use_count++; /* update reference count */
}
--- 2094,2102 -----
pfontptr = fontptr; /* make previous = current font */
fontptr->font_file_id = pxlfp; /* set file identifier */
pixel_files[current].use_count++; /* update reference count */
+ #ifndef USEPXL
+ gfin = pxlfp;
+ #endif
}
***************
*** 2006,2013
long x; /* in DVI units */
long conv; /* conversion factor */
{
- /* return((long)((((double)x + (double)(conv >> 1)) / (double)conv)
- + 0.5)); */
return((x + conv) / conv);
}
--- 2109,2114 -----
long x; /* in DVI units */
long conv; /* conversion factor */
{
return((x + conv) / conv);
}
***************
*** 2022,2028
{
long t;
unsigned short i;
! char n[STRSIZE];
struct font_entry *tfontptr; /* temporary font_entry pointer */
struct char_entry *tcharptr; /* temporary char_entry pointer */
static int plusid = 1;
--- 2123,2130 -----
{
long t;
unsigned short i;
! char nname[STRSIZE];
! int nmag;
struct font_entry *tfontptr; /* temporary font_entry pointer */
struct char_entry *tcharptr; /* temporary char_entry pointer */
static int plusid = 1;
***************
*** 2029,2035
bool font_found = FALSE;
#ifdef DEBUG
if (Debug)
! printf("Mallocating %d Bytes)...\n",
sizeof(struct font_entry ));
#endif
--- 2131,2137 -----
bool font_found = FALSE;
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"Mallocating %d Bytes)...\n",
sizeof(struct font_entry ));
#endif
***************
*** 2049,2056
tfontptr->a = (int) NoSignExtend(dvifp, 1); /* length for font name */
tfontptr->l = (int) NoSignExtend(dvifp, 1); /* device length */
! GetBytes(dvifp, n, tfontptr->a + tfontptr->l);
! n[tfontptr->a+tfontptr->l] = '\0';
/* tfontptr->font_space = tfontptr->s/6;*/ /* never used */
tfontptr->font_mag = (long)((
--- 2151,2158 -----
tfontptr->a = (int) NoSignExtend(dvifp, 1); /* length for font name */
tfontptr->l = (int) NoSignExtend(dvifp, 1); /* device length */
! GetBytes(dvifp, tfontptr->n, tfontptr->a + tfontptr->l);
! tfontptr->n[tfontptr->a+tfontptr->l] = '\0';
/* tfontptr->font_space = tfontptr->s/6;*/ /* never used */
tfontptr->font_mag = (long)((
***************
*** 2056,2061
tfontptr->font_mag = (long)((
ActualFactor((long)(1000.0*tfontptr->s/(double)tfontptr->d+0.5))
* ActualFactor(mag)
* RESOLUTION * 5.0
) + 0.5);
/*
--- 2158,2164 -----
tfontptr->font_mag = (long)((
ActualFactor((long)(1000.0*tfontptr->s/(double)tfontptr->d+0.5))
* ActualFactor(mag)
+ #ifdef USEPXL
* RESOLUTION * 5.0
#else
* RESOLUTION
***************
*** 2057,2062
ActualFactor((long)(1000.0*tfontptr->s/(double)tfontptr->d+0.5))
* ActualFactor(mag)
* RESOLUTION * 5.0
) + 0.5);
/*
printf("[%ld]=%lf * %lf * %lf + 0.5 = %ld\n",
--- 2160,2168 -----
* ActualFactor(mag)
#ifdef USEPXL
* RESOLUTION * 5.0
+ #else
+ * RESOLUTION
+ #endif
) + 0.5);
/*
printf("[%ld]=%lf * %lf * %lf + 0.5 = %ld\n",
***************
*** 2067,2082
tfontptr->font_mag );
*/
! /*
! tfontptr->font_mag =
! (long)((ActualFactor((long)(((double)tfontptr->s
! /(double)tfontptr->d)
! *1000.0 ))
! *ActualFactor(mag) *
! (double)RESOLUTION * 5.0) + 0.5);
! */
! /* *1000.0 + 0.5)) */
!
if (!(font_found =
findfile(PXLpath, n, tfontptr->font_mag, tfontptr->name))) {
Warning(tfontptr->name); /* contains error messsage */
--- 2173,2179 -----
tfontptr->font_mag );
*/
! #ifdef unix
if (!(font_found =
findfile(&PXLpath, 1, "", tfontptr->n, tfontptr->font_mag,
tfontptr->name, nname, &nmag))) {
***************
*** 2078,2084
/* *1000.0 + 0.5)) */
if (!(font_found =
! findfile(PXLpath, n, tfontptr->font_mag, tfontptr->name))) {
Warning(tfontptr->name); /* contains error messsage */
tfontptr->font_file_id = NO_FILE;
}
--- 2175,2187 -----
#ifdef unix
if (!(font_found =
! findfile(&PXLpath, 1, "", tfontptr->n, tfontptr->font_mag,
! tfontptr->name, nname, &nmag))) {
! Warning("no font %s.d",tfontptr->n, mag);
! }
! #else
! if (!(font_found =
! findfile(PXLpath, tfontptr->n, tfontptr->fontmag, tfontptr->name))) {
Warning(tfontptr->name); /* contains error messsage */
tfontptr->font_file_id = NO_FILE;
}
***************
*** 2082,2087
Warning(tfontptr->name); /* contains error messsage */
tfontptr->font_file_id = NO_FILE;
}
else
if (!( (G_noverbatim) || (G_quiet) ) )
printf("%d: using font <%s>\n",
--- 2185,2191 -----
Warning(tfontptr->name); /* contains error messsage */
tfontptr->font_file_id = NO_FILE;
}
+ #endif
else
if (!( (G_noverbatim) || (G_quiet) ) )
fprintf(stderr,"%d: using font <%s>\n",
***************
*** 2084,2090
}
else
if (!( (G_noverbatim) || (G_quiet) ) )
! printf("%d: using font <%s>\n",
plusid,tfontptr->name);
/* sprintf(tfontptr->psname,"%s.%ld.%d",
--- 2188,2194 -----
#endif
else
if (!( (G_noverbatim) || (G_quiet) ) )
! fprintf(stderr,"%d: using font <%s>\n",
plusid,tfontptr->name);
/* sprintf(tfontptr->psname,"%s.%ld.%d",
***************
*** 2103,2108
else
pxlfp = NO_FILE;
}
if ( pxlfp == NO_FILE ) { /* allow missing pxl files */
tfontptr->magnification = 0;
tfontptr->designsize = 0;
--- 2207,2213 -----
else
pxlfp = NO_FILE;
}
+ #ifdef USEPXL
if ( pxlfp == NO_FILE ) { /* allow missing pxl files */
tfontptr->magnification = 0;
tfontptr->designsize = 0;
***************
*** 2106,2112
if ( pxlfp == NO_FILE ) { /* allow missing pxl files */
tfontptr->magnification = 0;
tfontptr->designsize = 0;
! for (i = FIRSTPXLCHAR; i <= LASTPXLCHAR; i++) {
tcharptr = &(tfontptr->ch[i]);
tcharptr->width = 0;
tcharptr->height = 0;
--- 2211,2220 -----
if ( pxlfp == NO_FILE ) { /* allow missing pxl files */
tfontptr->magnification = 0;
tfontptr->designsize = 0;
! for (i = FIRSTFNTCHAR; i <= LASTFNTCHAR; i++) {
! #else
! for (i = FIRSTFNTCHAR; i <= LASTFNTCHAR; i++) {
! #endif
tcharptr = &(tfontptr->ch[i]);
#ifdef USEPXL
tcharptr->width = 0;
***************
*** 2108,2113
tfontptr->designsize = 0;
for (i = FIRSTPXLCHAR; i <= LASTPXLCHAR; i++) {
tcharptr = &(tfontptr->ch[i]);
tcharptr->width = 0;
tcharptr->height = 0;
tcharptr->xOffset = 0;
--- 2216,2222 -----
for (i = FIRSTFNTCHAR; i <= LASTFNTCHAR; i++) {
#endif
tcharptr = &(tfontptr->ch[i]);
+ #ifdef USEPXL
tcharptr->width = 0;
tcharptr->height = 0;
tcharptr->xOffset = 0;
***************
*** 2112,2117
tcharptr->height = 0;
tcharptr->xOffset = 0;
tcharptr->yOffset = 0;
tcharptr->where.isloaded = FALSE;
tcharptr->where.address.fileOffset = NONEXISTANT;
tcharptr->tfmw = 0;
--- 2221,2227 -----
tcharptr->height = 0;
tcharptr->xOffset = 0;
tcharptr->yOffset = 0;
+ #endif
tcharptr->where.isloaded = FALSE;
tcharptr->where.address.fileOffset = NONEXISTANT;
tcharptr->tfmw = 0;
***************
*** 2116,2121
tcharptr->where.address.fileOffset = NONEXISTANT;
tcharptr->tfmw = 0;
}
return;
}
t = (long) NoSignExtend(pxlfp, 1);
--- 2226,2232 -----
tcharptr->where.address.fileOffset = NONEXISTANT;
tcharptr->tfmw = 0;
}
+ #ifdef USEPXL
return;
}
t = (long) NoSignExtend(pxlfp, 1);
***************
*** 2159,2165
else
fseek(pxlfp, (long) NoSignExtend(pxlfp, 4) , 0);
! for (i = FIRSTPXLCHAR; i <= LASTPXLCHAR; i++) {
tcharptr = &(tfontptr->ch[i]);
tcharptr->width =
(unsigned short) NoSignExtend(pxlfp, 2);
--- 2270,2276 -----
else
fseek(pxlfp, (long) NoSignExtend(pxlfp, 4) , 0);
! for (i = FIRSTFNTCHAR; i <= LASTFNTCHAR; i++) {
tcharptr = &(tfontptr->ch[i]);
tcharptr->width =
(unsigned short) NoSignExtend(pxlfp, 2);
***************
*** 2194,2200
long hppp, vppp, pkloc, packet_length, temp;
int car, ii;
! for (i = FIRSTPXLCHAR; i <= LASTPXLCHAR; i++) {
tcharptr = &(tfontptr->ch[i]);
tcharptr->width = 0;
tcharptr->height = 0;
--- 2305,2311 -----
long hppp, vppp, pkloc, packet_length, temp;
int car, ii;
! for (i = FIRSTFNTCHAR; i <= LASTFNTCHAR; i++) {
tcharptr = &(tfontptr->ch[i]);
tcharptr->width = 0;
tcharptr->height = 0;
***************
*** 2212,2218
1);
#ifdef DEBUG
if (Debug)
! fprintf(stdout, "%c", flag_byte ) ;
#endif
}
#ifdef DEBUG
--- 2323,2329 -----
1);
#ifdef DEBUG
if (Debug)
! fprintf(stderr, "%c", flag_byte ) ;
#endif
}
#ifdef DEBUG
***************
*** 2217,2223
}
#ifdef DEBUG
if (Debug)
! fprintf(stdout, "\n");
#endif
pkloc = 3 + (int)temp_byte;
--- 2328,2334 -----
}
#ifdef DEBUG
if (Debug)
! fprintf(stderr, "\n");
#endif
pkloc = 3 + (int)temp_byte;
***************
*** 2246,2252
"\7\7\7 This PK-Packet type is NOT IMPLEMENTED!\n");
} else if (flag_byte & 4) {
! /*fprintf(stdout,"Read extended short character preamble\n");*/
packet_length = ((long) flag_byte & 3) *
65536l +
--- 2357,2363 -----
"\7\7\7 This PK-Packet type is NOT IMPLEMENTED!\n");
} else if (flag_byte & 4) {
! /*fprintf(stderr,"Read extended short character preamble\n");*/
packet_length = ((long) flag_byte & 3) *
65536l +
***************
*** 2276,2282
(short) SignExtend(pxlfp, 2);
tcharptr ->where.isloaded = FALSE;
} else {
! /* fprintf(stdout,"<Read short character preamble@>\n");*/
packet_length = ((long)flag_byte & 3) *
256 +
NoSignExtend(pxlfp, 1) ;
--- 2387,2393 -----
(short) SignExtend(pxlfp, 2);
tcharptr ->where.isloaded = FALSE;
} else {
! /* fprintf(stderr,"<Read short character preamble@>\n");*/
packet_length = ((long)flag_byte & 3) *
256 +
NoSignExtend(pxlfp, 1) ;
***************
*** 2321,2327
tcharptr->flag_byte = flag_byte;
fseek(pxlfp, (long) pkloc, 0);
! /*fprintf(stdout,"new pkloc is %ld\n",pkloc);*/
flag_byte = skip_specials(&pkloc);
} /* end of while */
--- 2432,2438 -----
tcharptr->flag_byte = flag_byte;
fseek(pxlfp, (long) pkloc, 0);
! /*fprintf(stderr,"new pkloc is %ld\n",pkloc);*/
flag_byte = skip_specials(&pkloc);
} /* end of while */
***************
*** 2326,2332
} /* end of while */
!
/*****************************************************************************/
/*if (tcharptr->charsize==LARGE_SIZE) */
/* printf("%d:\t <%c> w=%d h=%d xO=%d yO=%d tfmw=%ld cw=%ld %d\n", */
--- 2437,2461 -----
} /* end of while */
! #else
! if ( pxlfp == NO_FILE ) /* allow missing pxl files */
! return;
!
! gfin = pxlfp;
! seekpost();
! readpost();
! if ((tfontptr->c != 0) && (checksum != 0) && (tfontptr->c != checksum))
! Warning("font = \"%s\",\n-->font checksum = %d,\n-->dvi checksum = %d",
! tfontptr->name, tfontptr->c, checksum);
!
! for(i=FIRSTFNTCHAR; i<=LASTFNTCHAR; i++) {
! if (char_exists[i]) {
! tcharptr = &(tfontptr->ch[i]);
! tcharptr->tfmw = ((float)tfm_wd[i]*(float)tfontptr->s) /
! (float)(1<<20);
! tcharptr->where.address.fileOffset = char_pointer[i];
! }
! #endif
/*****************************************************************************/
/*if (tcharptr->charsize==LARGE_SIZE) */
/* printf("%d:\t <%c> w=%d h=%d xO=%d yO=%d tfmw=%ld cw=%ld %d\n", */
***************
*** 2355,2361
case 242:
case 243 :
{
! /*fprintf(stdout,"flagbyte = %d\n",(int)flag_byte);*/
i = 0 ;
for (j = 240; j <= (long)flag_byte;
j++) {
--- 2484,2490 -----
case 242:
case 243 :
{
! /*fprintf(stderr,"flagbyte = %d\n",(int)flag_byte);*/
i = 0 ;
for (j = 240; j <= (long)flag_byte;
j++) {
***************
*** 2416,2422
Fatal ("POST missing at head of postamble");
#ifdef DEBUG
if (Debug)
! printf("got POST command\n");
#endif
ppagep = NoSignExtend(dvifp, 4);
num = NoSignExtend(dvifp, 4);
--- 2545,2551 -----
Fatal ("POST missing at head of postamble");
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"got POST command\n");
#endif
ppagep = NoSignExtend(dvifp, 4);
num = NoSignExtend(dvifp, 4);
***************
*** 2437,2443
/* the DVI file */
#ifdef DEBUG
if (Debug)
! printf("now reading font defs");
#endif
if (load)
GetFontDef ();
--- 2566,2572 -----
/* the DVI file */
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"now reading font defs");
#endif
if (load)
GetFontDef ();
***************
*** 2461,2467
ptr->where.isloaded = TRUE;
return;
}
!
OpenFontFile();
fseek(pxlfp, ptr->where.address.fileOffset, 0);
--- 2590,2596 -----
ptr->where.isloaded = TRUE;
return;
}
!
OpenFontFile();
#ifdef DEBUG
***************
*** 2463,2468
}
OpenFontFile();
fseek(pxlfp, ptr->where.address.fileOffset, 0);
/***************************************************/
--- 2592,2605 -----
}
OpenFontFile();
+
+ #ifdef DEBUG
+ if (Debug)
+ fprintf(stderr, "LoadAChar: <%c> from file at pos %ld\n",
+ (char)c,ptr->where.address.fileOffset);
+ #endif
+
+ #ifdef USEPXL
fseek(pxlfp, ptr->where.address.fileOffset, 0);
if (fontptr->id == pk89) {
***************
*** 2465,2475
OpenFontFile();
fseek(pxlfp, ptr->where.address.fileOffset, 0);
- /***************************************************/
- /*printf("LoadAChar: <%c> from file at pos %ld\n", */
- /* (char)c,ptr->where.address.fileOffset); */
- /***************************************************/
-
if (fontptr->id == pk89) {
#ifdef PARANOIA
unsigned char temp;
--- 2602,2607 -----
#ifdef USEPXL
fseek(pxlfp, ptr->where.address.fileOffset, 0);
if (fontptr->id == pk89) {
#ifdef PARANOIA
unsigned char temp;
***************
*** 2474,2480
#ifdef PARANOIA
unsigned char temp;
temp = (unsigned short) NoSignExtend(pxlfp, 1);
!
if ((int)ptr->flag_byte != (int)temp)
) {
Fatal("oh boy! old flag %d, new flag %d\n",
--- 2606,2612 -----
#ifdef PARANOIA
unsigned char temp;
temp = (unsigned short) NoSignExtend(pxlfp, 1);
!
if ((int)ptr->flag_byte != (int)temp)
) {
Fatal("oh boy! old flag %d, new flag %d\n",
***************
*** 2490,2496
* 256 + NoSignExtend(pxlfp, 1) - 8;
fseek(pxlfp, ptr->where.address.fileOffset + 10, 0);
}
! } else if (fontptr->id == id1002)
bytes = ((( (long)ptr->width + 7) >> 3) * (long) ptr->height);
else if (fontptr->id == id1001)
bytes = 4 * (((long)ptr->width + 31) >> 5) * (long)ptr->height;
--- 2622,2628 -----
* 256 + NoSignExtend(pxlfp, 1) - 8;
fseek(pxlfp, ptr->where.address.fileOffset + 10, 0);
}
! } else if (fontptr->id == id1002)
bytes = ((( (long)ptr->width + 7) >> 3) * (long) ptr->height);
else if (fontptr->id == id1001)
bytes = 4 * (((long)ptr->width + 31) >> 5) * (long)ptr->height;
***************
*** 2494,2499
bytes = ((( (long)ptr->width + 7) >> 3) * (long) ptr->height);
else if (fontptr->id == id1001)
bytes = 4 * (((long)ptr->width + 31) >> 5) * (long)ptr->height;
if (bytes > HUGE_CHAR_PATTERN) { /* do NOT load Huge characters */
--- 2626,2632 -----
bytes = ((( (long)ptr->width + 7) >> 3) * (long) ptr->height);
else if (fontptr->id == id1001)
bytes = 4 * (((long)ptr->width + 31) >> 5) * (long)ptr->height;
+
if (bytes > HUGE_CHAR_PATTERN) { /* do NOT load Huge characters */
qfprintf(stderr,"Huge Character <%c> (%ld Bytes)\n", (char)c, bytes);
***************
*** 2495,2501
else if (fontptr->id == id1001)
bytes = 4 * (((long)ptr->width + 31) >> 5) * (long)ptr->height;
-
if (bytes > HUGE_CHAR_PATTERN) { /* do NOT load Huge characters */
qprintf("Huge Character <%c> (%ld Bytes)\n", (char)c, bytes);
ptr->charsize = HUGE_SIZE;
--- 2628,2633 -----
bytes = 4 * (((long)ptr->width + 31) >> 5) * (long)ptr->height;
if (bytes > HUGE_CHAR_PATTERN) { /* do NOT load Huge characters */
qfprintf(stderr,"Huge Character <%c> (%ld Bytes)\n", (char)c, bytes);
ptr->charsize = HUGE_SIZE;
***************
*** 2497,2503
if (bytes > HUGE_CHAR_PATTERN) { /* do NOT load Huge characters */
! qprintf("Huge Character <%c> (%ld Bytes)\n", (char)c, bytes);
ptr->charsize = HUGE_SIZE;
ptr->where.isloaded = FALSE;
} else {
--- 2629,2635 -----
if (bytes > HUGE_CHAR_PATTERN) { /* do NOT load Huge characters */
! qfprintf(stderr,"Huge Character <%c> (%ld Bytes)\n", (char)c, bytes);
ptr->charsize = HUGE_SIZE;
ptr->where.isloaded = FALSE;
} else {
***************
*** 2505,2515
Fatal("Unable to allocate %ld bytes for char <%c>\n",
bytes, (char)c);
#ifdef DEBUG
! /* if (Debug) */
! printf(
! "Allocating Char <%c>, FileOffset=%lX, Bytes=%ld (%d) <%d>\n",
! (char) c, ptr->where.address.fileOffset, bytes,
! (int)bytes, (unsigned int)bytes);
#endif
allocated_storage += bytes;
fread(pr, 1, (int) bytes , pxlfp);
--- 2637,2647 -----
Fatal("Unable to allocate %ld bytes for char <%c>\n",
bytes, (char)c);
#ifdef DEBUG
! if (Debug)
! fprintf(stderr,
! "Allocating Char <%c>, FileOffset=%lX, Bytes=%ld (%d) <%d>\n",
! (char) c, ptr->where.address.fileOffset, bytes,
! (int)bytes, (unsigned int)bytes);
#endif
allocated_storage += bytes;
fread(pr, 1, (int) bytes , pxlfp);
***************
*** 2515,2521
fread(pr, 1, (int) bytes , pxlfp);
ptr->where.address.pixptr = pr;
}
!
ptr->where.isloaded = TRUE;
if ((ptr->charsize != SMALL_SIZE)
#ifdef LJ
--- 2647,2659 -----
fread(pr, 1, (int) bytes , pxlfp);
ptr->where.address.pixptr = pr;
}
! #else
! fseek(gfin, ptr->where.address.fileOffset, 0);
! gettochar();
! readbits();
! if (num_bytes > HUGE_CHAR_PATTERN)
! ptr->charsize = HUGE_SIZE;
! #endif
ptr->where.isloaded = TRUE;
if ((ptr->charsize != SMALL_SIZE)
#ifdef LJ
***************
*** 2524,2529
)
return;
EmitChar(c, ptr);
/* we should really free the space used by the PXL data after this
point, but it is not large, and besides, we may want to be
more clever in the future, about sending bitmaps. So keep
--- 2662,2668 -----
)
return;
EmitChar(c, ptr);
+ #ifdef USEPXL
/* we should really free the space used by the PXL data after this
point, but it is not large, and besides, we may want to be
more clever in the future, about sending bitmaps. So keep
***************
*** 2528,2533
point, but it is not large, and besides, we may want to be
more clever in the future, about sending bitmaps. So keep
the data around */
}
/*-->SetChar*/
/**********************************************************************/
--- 2667,2673 -----
point, but it is not large, and besides, we may want to be
more clever in the future, about sending bitmaps. So keep
the data around */
+ #endif
}
/*-->SetChar*/
/**********************************************************************/
***************
*** 2552,2558
if (do_posn) {
#ifdef IBM3812
if (CharStringPos>0) {
! printf("!!!! That should never happen!!!\n");
CharStringOut;
}
#endif
--- 2692,2698 -----
if (do_posn) {
#ifdef IBM3812
if (CharStringPos>0) {
! fprintf(stderr,"!!!! That should never happen!!!\n");
CharStringOut;
}
#endif
***************
*** 2586,2591
if (!do_posn)
SetPosn(h, v);
sign = '+';
tmp = (int) -ptr->yOffset;
if (tmp < 0)
sign = '-', tmp = -tmp;
--- 2726,2732 -----
if (!do_posn)
SetPosn(h, v);
sign = '+';
+ #ifdef USEPXL
tmp = (int) -ptr->yOffset;
#else
tmp = (int) num_rows-y_offset;
***************
*** 2587,2592
SetPosn(h, v);
sign = '+';
tmp = (int) -ptr->yOffset;
if (tmp < 0)
sign = '-', tmp = -tmp;
EMIT(outfp, "\033*p%c%dY", sign, tmp);
--- 2728,2736 -----
sign = '+';
#ifdef USEPXL
tmp = (int) -ptr->yOffset;
+ #else
+ tmp = (int) num_rows-y_offset;
+ #endif
if (tmp < 0)
sign = '-', tmp = -tmp;
EMIT(outfp, "\033*p%c%dY", sign, tmp);
***************
*** 2591,2596
sign = '-', tmp = -tmp;
EMIT(outfp, "\033*p%c%dY", sign, tmp);
sign = '+';
tmp = (int) -ptr->xOffset;
if (tmp < 0)
sign = '-', tmp = -tmp;
--- 2735,2741 -----
sign = '-', tmp = -tmp;
EMIT(outfp, "\033*p%c%dY", sign, tmp);
sign = '+';
+ #ifdef USEPXL
tmp = (int) -ptr->xOffset;
#else
tmp = (int) -x_offset;
***************
*** 2592,2597
EMIT(outfp, "\033*p%c%dY", sign, tmp);
sign = '+';
tmp = (int) -ptr->xOffset;
if (tmp < 0)
sign = '-', tmp = -tmp;
EMIT(outfp, "\033*p%c%dX", sign, tmp);
--- 2737,2745 -----
sign = '+';
#ifdef USEPXL
tmp = (int) -ptr->xOffset;
+ #else
+ tmp = (int) -x_offset;
+ #endif
if (tmp < 0)
sign = '-', tmp = -tmp;
EMIT(outfp, "\033*p%c%dX", sign, tmp);
***************
*** 2603,2608
pos_after = TRUE;
} else {
#ifdef IBM3812
if ( ptr->yyOffset || (!in_string) ) {
CharStringOut;
MoveVert(ptr->yyOffset);
--- 2751,2757 -----
pos_after = TRUE;
} else {
#ifdef IBM3812
+ #ifdef USEPXL
if ( ptr->yyOffset || (!in_string) ) {
CharStringOut;
MoveVert(ptr->yyOffset);
***************
*** 2610,2615
PMPout(2, PMPformat);
MoveVert((int)-(ptr->yyOffset));
} else {
if (CharStringPos==CHARSTRINGMAX)
CharStringOut;
--- 2759,2765 -----
PMPout(2, PMPformat);
MoveVert((int)-(ptr->yyOffset));
} else {
+ #endif
if (CharStringPos==CHARSTRINGMAX)
CharStringOut;
***************
*** 2615,2620
CharString[CharStringPos]=VisChar((char)c);
CharStringPos++;
}
#endif
#ifdef LJ
--- 2765,2771 -----
CharString[CharStringPos]=VisChar((char)c);
CharStringPos++;
+ #ifdef USEPXL
}
#endif
#endif
***************
*** 2617,2622
CharStringPos++;
}
#endif
#ifdef LJ
if (ptr->yyOffset) {
EMIT(outfp, "\033*p+%hdY", ptr->yyOffset);
--- 2768,2774 -----
#ifdef USEPXL
}
#endif
+ #endif
#ifdef LJ
#ifdef USEPXL
if (ptr->yyOffset) {
***************
*** 2618,2623
}
#endif
#ifdef LJ
if (ptr->yyOffset) {
EMIT(outfp, "\033*p+%hdY", ptr->yyOffset);
EMITC((char) VisChar((char)c));
--- 2770,2776 -----
#endif
#endif
#ifdef LJ
+ #ifdef USEPXL
if (ptr->yyOffset) {
EMIT(outfp, "\033*p+%hdY", ptr->yyOffset);
EMITC((char) VisChar((char)c));
***************
*** 2623,2628
EMITC((char) VisChar((char)c));
EMIT(outfp, "\033*p-%hdY", ptr->yyOffset);
} else
EMITC((char) VisChar((char)c));
#endif
}
--- 2776,2782 -----
EMITC((char) VisChar((char)c));
EMIT(outfp, "\033*p-%hdY", ptr->yyOffset);
} else
+ #endif
EMITC((char) VisChar((char)c));
#endif
}
***************
*** 2676,2682
;
#ifdef LJ
if (++fonts_used_on_this_page > MAX_FONTS_PER_PAGE) {
! qprintf("this is the %d. font on this page!",
fonts_used_on_this_page);
qprintf(" (max = %d) rastering characters!\n",
MAX_FONTS_PER_PAGE);
--- 2830,2836 -----
;
#ifdef LJ
if (++fonts_used_on_this_page > MAX_FONTS_PER_PAGE) {
! qfprintf(stderr,"this is the %d. font on this page!",
fonts_used_on_this_page);
qfprintf(stderr," (max = %d) rastering characters!\n",
MAX_FONTS_PER_PAGE);
***************
*** 2678,2684
if (++fonts_used_on_this_page > MAX_FONTS_PER_PAGE) {
qprintf("this is the %d. font on this page!",
fonts_used_on_this_page);
! qprintf(" (max = %d) rastering characters!\n",
MAX_FONTS_PER_PAGE);
rasterfont[fontptr->plusid] = TRUE;
}
--- 2832,2838 -----
if (++fonts_used_on_this_page > MAX_FONTS_PER_PAGE) {
qfprintf(stderr,"this is the %d. font on this page!",
fonts_used_on_this_page);
! qfprintf(stderr," (max = %d) rastering characters!\n",
MAX_FONTS_PER_PAGE);
rasterfont[fontptr->plusid] = TRUE;
}
***************
*** 2803,2809
#ifdef DEBUG
if (Debug)
! printf("Rule xx=%ld, yy=%ld\n", xx, yy);
#endif
#ifdef IBM3812
--- 2957,2963 -----
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"Rule xx=%ld, yy=%ld\n", xx, yy);
#endif
#ifdef IBM3812
***************
*** 2903,2909
short c;
register unsigned short i;
! /* printf("SetString\n"); */
for (i = 0, c = firstch; c >= SETC_000 && c <= SETC_127; i++) {
SetChar((long)c, c, PassNo, (bool)(i==0),TRUE);
c = (short) NoSignExtend(dvifp, 1);
--- 3057,3066 -----
short c;
register unsigned short i;
! #ifdef DEBUG
! if (Debug)
! fprintf(stderr, "SetString ");
! #endif
for (i = 0, c = firstch; c >= SETC_000 && c <= SETC_127; i++) {
#ifdef DEBUG
if (Debug)
***************
*** 2905,2910
/* printf("SetString\n"); */
for (i = 0, c = firstch; c >= SETC_000 && c <= SETC_127; i++) {
SetChar((long)c, c, PassNo, (bool)(i==0),TRUE);
c = (short) NoSignExtend(dvifp, 1);
}
--- 3062,3071 -----
fprintf(stderr, "SetString ");
#endif
for (i = 0, c = firstch; c >= SETC_000 && c <= SETC_127; i++) {
+ #ifdef DEBUG
+ if (Debug)
+ fprintf (stderr, "%d ", c);
+ #endif
SetChar((long)c, c, PassNo, (bool)(i==0),TRUE);
c = (short) NoSignExtend(dvifp, 1);
}
***************
*** 2912,2918
#ifdef IBM3812
CharStringOut;
#endif
! /* printf("...SetString\n");*/
}
--- 3073,3082 -----
#ifdef IBM3812
CharStringOut;
#endif
! #ifdef DEBUG
! if (Debug)
! fprintf(stderr, "...SetString\n");
! #endif
}
***************
*** 2942,2948
x >>= 32 - 8 * n1; /* sign extend */
#ifdef DEBUG
if (Debug)
! printf("\tSignExtend(fp,%d)=%X\n", n1, x);
#endif
return(x);
}
--- 3106,3112 -----
x >>= 32 - 8 * n1; /* sign extend */
#ifdef DEBUG
if (Debug)
! fprintf(stderr,"\tSignExtend(fp,%d)=%X\n", n1, x);
#endif
return(x);
}
***************
*** 2981,2989
if ( G_nowarn || G_quiet )
return;
! printf("warning : ");
! printf(fmt, a, b, c, d);
! printf("\n");
}
--- 3145,3153 -----
if ( G_nowarn || G_quiet )
return;
! fprintf(stderr, "warning : ");
! fprintf(stderr, fmt, a, b, c, d);
! fprintf(stderr, "\n");
}
***************
*** 3133,3138
#endif
bool getbit ();
unsigned char getnyb ();
long pk_packed_num ();
--- 3297,3303 -----
#endif
+ #ifdef USEPXL
bool getbit ();
unsigned char getnyb ();
long pk_packed_num ();
***************
*** 3406,3411
return (pk_packed_num()) ; /* tail end recursion !! */
}
}
/*-->FormFeed*/
--- 3571,3577 -----
return (pk_packed_num()) ; /* tail end recursion !! */
}
}
+ #endif
/*-->FormFeed*/
/**********************************************************************/
***************
*** 3407,3413
}
}
-
/*-->FormFeed*/
/**********************************************************************/
/***************************** FormFeed ******************************/
--- 3573,3578 -----
}
#endif
/*-->FormFeed*/
/**********************************************************************/
/***************************** FormFeed ******************************/
***************
*** 3436,3438
}
--- 3601,3610 -----
}
+ #ifndef USEPXL
+ void bad_gf(n)
+ int n;
+ {
+ Fatal("Bad gf file, case %d\n",n); /* See gf.c */
+ }
+ #endif