Metropoli BBS
VIEWER: fontcvt.lst MODE: TEXT (ASCII)
// Written with GFABASIC for DOS by Larry Mears v1.0
filename$="?.FNT"
SCREEN 16
IF _Y < 350 THEN SCREEN 6
DO
  PRINT AT(14,1) "Converts a EGA/VGA 4096 byte FONT to CONDOR FORMAT."
  PRINT AT(19,2) "Works great with EGAFONT3 program, get it!"
  PRINT AT(5,4) "Coded while listening to the songs off Jethro Tull - Original Masters CD"
  ALERT 2,"What is the FONT height in pixels?  ",2," 8 | 14 | 16 |QUIT",which
  which --
  IF which=3
    CLOSE
    SCREEN 3
    END
  ENDIF
  FILESELECT "*.*",filename$,f_name$
  CLOSE
  IF f_name$=""
    ALERT 1,"Program END",1," OK ",k
    SCREEN 3
    EXIT IF f_name$=""
  ENDIF
  OPEN "i",#1,f_name$
  lw=LEN(f_name$)
  lwex=INSTR(f_name$,".",1)
  IF lwex
    w$=SPACE$(lwex)
    lwdif=LEN(f_name$)-lwex
    MID$(w$,1,LEN(f_name$)-lwdif)=f_name$
    w$=w$+"CFX"
  ELSE
    IF lw
      w$=f_name$
      w$=w$+".CFX"
    ELSE
      PRINT AT(1,24)"<<<<<<<< N O T  a  V A L I D  F I L E N A M E >>>>>>>>>"
      DELAY 1
      CLOSE
      SCREEN 3
      END
    ENDIF
  ENDIF

  DEFMOUSE 2
  OPEN "o",#2,w$
  PRINT #2,CHR$(27);"{E";which+4;":E7,0,";
  IF which=0
    PRINT #2,"8,";
    tall=8
  ENDIF
  IF which=1
    PRINT #2,"14,";
    tall=14
  ENDIF
  IF which=2
    PRINT #2,"16,";
    tall=16
  ENDIF
  PRINT #2,"128,0,"


  reps=2048
  repss=0
  uh=0
  REPEAT
    c|=INP(#1)
    INC uh
    IF uh<tall+1
      PRINT #2,STR$(c|);",";
    ENDIF
    IF uh=16 THEN uh = 0


    INC repss
    IF uh = 0 THEN PRINT #2

  UNTIL EOF(#1) OR repss=reps
  PRINT #2,"E7,2,";tall;":";CHR$(27);"}";CHR$(27);"#A"


  PRINT #2,CHR$(27);"{/<<< SECOND-HALF of FONT >>>@"
  PRINT #2,"E7,0,";
  IF which=0
    PRINT #2,"8,";
    tall=8
  ENDIF
  IF which=1
    PRINT #2,"14,";
    tall=14
  ENDIF
  IF which=2
    PRINT #2,"16,";
    tall=16
  ENDIF
  PRINT #2,"128,128,"


  reps=2048
  repss=0
  uh=0
  REPEAT
    c|=INP(#1)
    INC uh
    IF uh<tall+1
      PRINT #2,STR$(c|);",";
    ENDIF
    IF uh = 16 THEN uh = 0

    INC repss
    IF uh = 0 THEN PRINT #2

  UNTIL EOF(#1) OR repss=reps
  PRINT #2,"E7,2,";tall;":";CHR$(27);"}";CHR$(27);"#A"


  CLOSE #1
  CLOSE #2
  PRINT AT(28,23) "FILE CONVERTED........."
  PRINT AT(28,24) "Saved As --> ";w$

  DELAY 3
  PRINT AT(28,23) "                       "
  PRINT AT(28,24) SPACE$(51);
  DEFMOUSE 0
LOOP

[ RETURN TO DIRECTORY ]