INTEGER LINE(133),OUTBUF(1024),C,FILLC0 INTEGER IN,OUT,ROW,COL,MASK,OUTWI0,NEXTIN INTEGER GETLIN INTEGER MASKS(3,96) INTEGER AAAAA0(5) DATA MASKS/0,0,0,4228,132,4,10570,0,0,32074,11242,10,6084,16014,4, *8803,25668,24,5282,9890,22,1090,0,0,2184,4162,8,8322,4360,2,15012, *21956,4,4224,4255,0,0,2048,34,0,31,0,0,0,2,8704,1092,0,26158,18037 *,14,4292,4228,14,16942,1100,31,8735,17932,14,10632,9193,8,15423,17 *936,14,1582,17967,14,8735,2116,2,17966,17966,14,17966,17950,14,0,2 *050,0,0,2050,34,2184,4161,8,31744,992,0,8322,4368,2,8750,132,4,261 *58,1461,30,17732,18417,17,17967,17967,15,1582,17441,14,17967,17969 *,15,1087,1071,31,1087,1071,1,1086,18209,30,17969,17983,17,4238,422 *8,14,16912,17936,14,5425,9379,17,1057,1057,31,22385,17973,17,20017 *,18229,17,17966,17969,14,17967,1071,1,17966,9905,22,17967,9391,17, *1582,17934,14,4255,4228,4,17969,17969,14,17969,10801,4,17969,28341 *,17,10801,17732,17,10801,4228,4,8735,1092,31,2142,2114,30,2080,166 *44,0,8463,8456,15,21956,4228,4,0,0,992,16648,0,0,14336,18384,30,15 *393,17969,15,30720,1057,30,31248,17969,30,14336,2033,14,4232,4238, *4,14336,17969,14878,15393,17969,17,6148,4228,14,128,4228,2180,1849 *8,10442,18,4230,4228,14,11264,22197,21,15360,17969,17,14336,17969, *14,15360,17969,1071,30720,17969,16926,26624,2118,2,30720,16833,15, *14468,4228,8,17408,17969,30,17408,10801,4,17408,22065,10,17408,103 *78,17,17408,17969,14878,31744,2184,31,4248,4226,24,4228,4228,4,422 *7,4232,3,2048,277,0,32767,32767,31/ DATA AAAAA0/170,243,170,238,0/ CALL GETOP0(FILLC0,OUTWI0) 10000 IF((GETLIN(LINE,-10).EQ.-1))GOTO 10001 NEXTIN=1 10002 ROW=0 GOTO 10005 10003 ROW=ROW+(1) 10005 IF((ROW.GE.9))GOTO 10004 DO 10006 COL=1,OUTWI0 OUTBUF(COL)=160 10006 CONTINUE 10007 OUT=1 IN=NEXTIN GOTO 10010 10008 IN=IN+(1) 10010 IF((LINE(IN).EQ.0))GOTO 10009 C=LINE(IN) IF((C.NE.136))GOTO 10011 OUT=OUT-(5+1) GOTO 10008 10011 IF((C.GE.160))GOTO 10012 GOTO 10008 10012 MASK=RS(MASKS(ROW/3+1,C-160+1),MOD(ROW,3)*5) IF((0.GE.OUT))GOTO 10013 IF((OUT.GT.OUTWI0-5))GOTO 10013 DO 10014 COL=1,5 IF((AND(MASK,1).EQ.0))GOTO 10016 OUTBUF(OUT)=FILLC0 10016 OUT=OUT+(1) MASK=RS(MASK,1) 10014 CONTINUE 10015 OUT=OUT+(1) GOTO 10017 10013 GOTO 10009 10017 GOTO 10008 10009 OUTBUF(OUTWI0+1)=0 CALL STRIM(OUTBUF) CALL PRINT(-11,AAAAA0,OUTBUF) GOTO 10003 10004 NEXTIN=IN DO 10018 ROW=1,3 CALL PUTCH(138,-11) 10018 CONTINUE 10019 CONTINUE IF((LINE(NEXTIN).NE.0))GOTO 10002 GOTO 10000 10001 CALL SWT END SUBROUTINE GETOP0(FILLC0,OUTWI0) INTEGER FILLC0 INTEGER OUTWI0 INTEGER A$BUF(200) INTEGER PARSCL INTEGER AAAAB0(11) INTEGER AAAAC0(40) DATA AAAAB0/227,188,242,243,190,247,188,242,233,190,0/ DATA AAAAC0/213,243,225,231,229,186,160,226,236,239,227,235,160,25 *1,160,173,227,160,188,227,232,225,242,190,160,252,160,173,247,160, *188,247,233,228,244,232,190,160,253,0/ IF((PARSCL(AAAAB0,A$BUF).NE.-3))GOTO 10020 CALL ERROR(AAAAC0) 10020 IF((A$BUF(227-225+1).EQ.0))GOTO 10021 FILLC0=A$BUF(A$BUF(227-225+27)) GOTO 10022 10021 FILLC0=170 10022 IF((A$BUF(247-225+1).EQ.0))GOTO 10023 OUTWI0=A$BUF(247-225+27) GOTO 10024 10023 OUTWI0=75 10024 RETURN END C ---- Long Name Map ---- C fillchar fillc0 C getoptions getop0 C outwidth outwi0