extern char pstab
[], psctab
[];
int mrail
= 0; /*0=LR,1=UR*/
int mmag
= 1; /*0=UM,1=LM*/
if(ascii
|| gflag
)return;
oput(0140); /*some initial lead*/
int ds
, de
, inith
, temp
, *slp
, dv
;
*pslp
= lw
= inith
= dv
= 0;
for(k
=oline
; k
<olinep
; k
++){
if((*k
& (MOT
| VMOT
)) == (MOT
| VMOT
)){
if(*k
& NMOT
)temp
= -temp
;
if(!(*k
& MOT
) && xflg
)for(j
=psl
; j
<=pslp
; j
++){
for(j
=psl
; j
<=pslp
; j
++){
for(k
=oline
; k
<olinep
; k
++){
if(!(*k
& MOT
) || (*k
& VMOT
))break;
if(mpts
& DBL
)temp
-= 55;
for(k
=slp
; k
<olinep
; k
++)ptout0(*k
);
for(k
= olinep
-1; k
>=slp
; --k
)ptout0(*k
);
if(xflg
&& (--pslp
>= psl
))goto scan
;
if((i
>>BYTE
) == oldbits
){
if((k
= (i
& CMASK
)) < 040){
if(cs
)w
= -j
; else w
= 0;
if((!xflg
|| (xpts
== *pslp
)) && (code
& 077)){
if((k
=(code
>>6)&01)^mcase
)oput((mcase
=k
)+0105);
oput(0101 + (mrail
=xfont
&01));
oput(0103 + (mmag
=(xfont
<2)));
if(obufp
== (obuf
+ OBUFSZ
+ ascii
- 1))flusho();
for(j
=0; (i
&077) > (k
= pstab
[j
]);j
++)if(!k
){k
=pstab
[--j
];break;}
oput((j
& ~0200) | 0120);
if((!(mpts
& DBL
))^(!(j
& 0200))){
if(k
= lead
< 0)lead
= -lead
;
if(k
^verm
)oput(0112 + ((verm
=k
)<<1));
if(((k
=lead
)%3) == 2)k
++;
oput(((~i
) & 037) | 0140);
if((paper
> (11*144*15)) && !papflg
&& ptid
!= 1){
prstr("Excessive paper use.\n");
if(k
= esc
< 0)esc
= -esc
;
if(k
^escm
)oput(0107 + (escm
=k
));
if(((j
= (esct
+ i
*(1-2*escm
))) > (46*72+18-T_IESC
)) ||
if(obufp
== (obuf
+ OBUFSZ
+ ascii
- 1))flusho();
if(!nofeed
&& !gflag
)lead
+= TRAILER
;
oput(fontlab
[i
] & BMASK
);
oput((fontlab
[i
]>>BYTE
) & BMASK
);
}else for(i
=8; i
>0; i
--)oput(T_PAD
);
if(stopmesg
)prstr("Pages finished.\n");
mcase
= mpts
= mfont
= mrail
= verm
= escm
= 0;