Products: Pixel Print Font Utility Package 1
Developer(s): Stan Lemke
Date: 1987
Type: Cassette
Platform(s): TS 2068
Program for designing fonts for use with Pixel Print.
- FONT Utility Package
- Font Builder Utility
- SG-10 Download Character Set
Related Products
Source Code
1 REM *********************** Pixel Print FONT Utility Package \* by Lemke Software Development 2144 White Oak Wichita, Ks. 67207 ******************************** 2 DATA 17,0,64,33,232,128,1,0,27,237,176,201: PAPER 1: INK 1: BORDER 1: CLS : LOAD ""CODE 33000: FOR j=0 TO 11: READ a: POKE 32000+j,a: NEXT j: RANDOMIZE USR 32000 3 POKE 32001,232: POKE 32002,128: POKE 32004,0: POKE 32005,64: PAUSE 100: INK 7 4 CLS : PRINT AT 2,0;" " 5 PRINT AT 5,0;"This tape contains 2 separate programs that work with FONTS... FONT DESIGNER: FONT-D use this to browse the font library, modify or create new FONTS. SG-10 FONT DL: FONT-S use this as an example of FULL SIZE PRINTER FONT DESIGN and DOWN LOADING" 6 PRINT #0;AT 0,0;" Press Any key to LOAD FONT-D.": PAUSE 0: PAPER 7: INK 0: BORDER 7: CLS : RANDOMIZE USR 32000: LOAD "" 9999 SAVE "FONT PKG" LINE 1: SAVE "LSD LOGO"CODE 33000,6912 10 REM *********************** PIXEL-PRINT "the Desktop Publisher" \* by S D Lemke 1987 Lemke Software Development 2144 White Oak Wichita, Ks. 67207 ******************************** 20 REM Font Builder Utility ******************************** 30 CLS : RANDOMIZE USR 34512 1000 CLS : PRINT AT 6,0;" Press ENTER to LOAD a Library. ": PAUSE 0: IF CODE INKEY$=13 THEN GO SUB 8010: GO TO 1020 1010 GO TO 30 1020 LOAD "Char-Lib"CODE 37139,452: LET clib=PEEK 37199+256*PEEK 37200: IF clib=0 THEN GO TO 30 1030 FOR i=1 TO clib: BEEP .01,20: PRINT AT 16,0;" Loading No. ";i;" of ";clib;" fonts.": LOAD ""CODE : NEXT i: GO TO 30 2000 CLS : PRINT AT 10,0;"Press ENTER to SAVE the Library.": PAUSE 0: IF CODE INKEY$=13 THEN GO TO 2020 2010 GO TO 30 2020 LET clib=PEEK 37199+256*PEEK 37200: IF clib=0 THEN PRINT ''"Library Empty. Save Terminated!": FOR i=1 TO 10: BEEP .01,20: PAUSE 30: NEXT i: GO TO 30 2030 SAVE "Char-Lib"CODE 37139,452: FOR i=1 TO clib: BEEP .01,20: PRINT AT 16,0;" Saveing No. ";i;" of ";clib;" fonts.": LET a$="": FOR j=(37359+i*10) TO (37368+i*10): LET a$=a$+CHR$ PEEK j: NEXT j: SAVE a$CODE (39000+1000*i),768: NEXT i 2040 CLS : GO SUB 8000: VERIFY "Char-Lib"CODE 2050 FOR i=1 TO clib: BEEP .01,20: PRINT AT 16,0;" Verifying No. ";i;" of ";clib;" fonts.": VERIFY ""CODE : NEXT i: GO TO 30 3000 CLS : PRINT AT 10,0;" Press ENTER to LOAD a FONT. ": PAUSE 0: IF CODE INKEY$=13 THEN GO TO 3020 3010 GO TO 30 3020 GO SUB 8010: LET plib=PEEK 37169+256*PEEK 37170: LOAD ""CODE plib,768: GO TO 30 8000 PRINT AT 10,0;" Rewind your tape and PLAY to VERIFY your SAVE. " 8010 PRINT '" IF a LOAD ERROR occurs then: TYPE RUN (ENTER) ": RETURN 9000 LOAD "FONT-D"CODE 9100 CLEAR 28990: PAPER 1: BORDER 1: INK 7: CLS 9200 RANDOMIZE USR 34303 9300 STOP 9999 SAVE "FONT-D" LINE 9000: SAVE "FONT-D"CODE 30000,7139 1 REM *********************** SG-10 Download Character Set \* by S D Lemke Lemke Software Development 2144 White Oak Wichita, Ks. 67207 ******************************** 5 IF KB THEN PAUSE 0: LET k=CODE INKEY$: RETURN 6 PAUSE 3 7 LET JS=|(1,1): IF JS=1 OR JS=5 OR JS=9 THEN LET K=55: RETURN 8 LET JS=|(1,1): IF JS=2 OR JS=6 OR JS=10 THEN LET K=54: RETURN 9 LET JS=|(1,1): IF JS=8 THEN LET K=56: RETURN 10 LET JS=|(1,1): IF JS=4 THEN LET K=53: RETURN 11 LET JS=|(2,1): IF JS=1 THEN LET K=48+1-V(R-1,C): RETURN 12 IF CODE INKEY$=226 THEN LET k=226: RETURN 13 GO TO 7 15 REM GRID 20 FOR x=4 TO 101 STEP 16: PLOT x,160: DRAW 0,-64: NEXT x: FOR y=160 TO 96 STEP -8: PLOT 4,y: DRAW 96,0: NEXT y: PLOT 120,171: DRAW 18,0: DRAW 0,-13: DRAW -18,0: DRAW 0,13 30 PRINT AT 11,1;"1 3 5 7 9 B";AT 3,15;"ASCII Code:___";AT 5,15;"Descender:_";AT 8,15;"Start Column:_";AT 9,15;"End Column:__": RETURN 35 REM Define Font 40 CLS : GO SUB 20: INPUT "DL Replacement for: ";C$: LET CNT=CODE C$: LET A$(CNT,1)=C$: LET A$(CNT,2)=C$: PRINT AT 3,26;CODE C$;TAB 31 50 INPUT "Is this a Descender (Y/N)? ";C$: LET D=0: IF C$="n" OR C$="N" THEN LET D=1 60 PRINT AT 5,25;D: PRINT #0;AT 0,0;"Define your Character... Press "" STOP "" when complete." 70 LET R=2: LET C=1: DIM v(8,11) 80 PRINT AT R,C; FLASH 1; OVER 1;" ": GO SUB 5 90 PRINT AT R,C; FLASH 0; OVER 1;" " 100 IF k=226 THEN GO TO 190 110 IF k=49 THEN PRINT AT R,C;"\a": LET V(R-1,C)=1: PLOT 123+c,170-r: LET C=C+1: LET k=13: GO TO 90 120 IF k=48 THEN PRINT AT R,C;"_": LET V(R-1,C)=0: PLOT INVERSE 1;123+c,170-r: LET k=13: GO TO 90 130 IF k=56 THEN LET C=C+1: IF C>11 THEN LET C=11: IF W THEN LET C=1: LET R=R+1: IF R>9 THEN LET R=9: LET C=11 140 IF k=53 THEN LET C=C-1: IF C<1 THEN LET C=1: IF W THEN LET C=11: LET R=R-1: IF R<2 THEN LET R=2: LET C=1 150 IF k=54 THEN LET R=R+1: IF R>9 THEN LET R=9: IF W THEN LET R=2: LET C=C+1: IF C>11 THEN LET C=11: LET R=9 160 IF k=55 THEN LET R=R-1: IF R<2 THEN LET R=2: IF W THEN LET R=9: LET C=C-1: IF C<1 THEN LET C=1: LET R=2 170 IF k=13 THEN LET C=C+1: IF C>11 THEN LET C=1: LET R=R+1: IF R>9 THEN LET R=9: LET C=11 180 GO TO 80 190 PRINT AT 13,8;" WORKING " 200 DIM M(11): FOR C=1 TO 11: LET M(C)=V(8,C)+V(7,C)*2+V(6,C)*4+V(5,C)*8+V(4,C)*16+V(3,C)*32+V(2,C)*64+V(1,C)*128: NEXT C 210 FOR C=1 TO 7: IF M(C)<>0 THEN GO TO 230 220 NEXT C: LET C=1 230 LET SC=C-1: PRINT AT 8,28;SC;TAB 31 240 FOR C=11 TO 4 STEP -1: IF M(C)<>0 THEN GO TO 260 250 NEXT C: LET C=11 260 IF C<11 THEN LET C=C+1 265 LET EC=C: PRINT AT 9,26;EC;TAB 31 270 LET M0=128*D+16*SC+EC 280 PRINT AT 14,0;M0,,;: FOR C=1 TO 11: PRINT M(C),;: NEXT c 290 LET A$(CNT,3)=CHR$ M0 300 FOR C=1 TO 11: LET A$(CNT,3+C)=CHR$ M(C): NEXT C 310 PAUSE 60: GO TO 40 330 REM Down Load 335 REM NOTE; the POKE in the next line tells ZPRINT-80 that the following commands are printer commands... and are not printed. 340 PRINT #0;" DOWNLOADing Font to printer. ": POKE 23728,1: LPRINT CHR$ 27;CHR$ 58;CHR$ 0;CHR$ 0;CHR$ 0: FOR C=1 TO 240: IF A$(C,1)=" " THEN GO TO 360 350 LPRINT CHR$ 27;CHR$ 38;CHR$ 0;: FOR I=1 TO 14: LPRINT a$(C,I);: NEXT I: LPRINT 360 NEXT c 370 LPRINT CHR$ 27;CHR$ 37;CHR$ 1;CHR$ 0: POKE 23728,0: LPRINT "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" 380 LPRINT "a b c d e f g h i j k l m n o p q r s t u v w x y z" 390 LPRINT "0 1 2 3 4 5 6 7 8 9" 400 GO TO 9991 8000 ON ERR RESET : ON ERR GO TO 8010: INPUT "File to LOAD? "; LINE C$: LOAD C$ DATA a$(): GO TO 9991 8010 BEEP .05,20: PRINT #0;"LOAD ERROR...... Try again!": GO TO 9991 8100 ON ERR RESET : ON ERR GO TO 8110: INPUT "File to SAVE? "; LINE C$: SAVE C$ DATA a$(): PRINT #0;"REWIND tape and Play to VERIFY.": VERIFY C$ DATA A$(): GO TO 9991 8110 BEEP .05,20: PRINT #0;"VERIFY ERROR...... Try again!": GO TO 9991 9000 IF C$="8" THEN ON ERR RESET : STOP 9010 IF C$="7" THEN LET KB=1: BEEP .05,20: PRINT AT 20,8;"KEYBOARD is On ": GO TO 9991 9020 IF C$="6" THEN LET KB=0: BEEP .05,20: PRINT AT 20,8;"KEYBOARD is Off": GO TO 9991 9030 IF C$="5" THEN LET W=NOT W: BEEP .05,20: PRINT AT 20,8;"Wrap is Off": IF W THEN PRINT AT 20,17;"n " 9035 IF C$="5" THEN GO TO 9991 9040 IF C$="4" THEN GO TO 340 9050 IF C$="3" THEN GO TO 8000 9060 IF C$="2" THEN GO TO 8100 9070 IF C$="1" THEN GO TO 40 9989 BEEP .01,40: CLS : PRINT "Remove this line and modify the next line to LOAD and initializeyour printer driver. This exampleis set to use the ZPRINT-80 HI code...": STOP 9990 LOAD ""CODE : RANDOMIZE USR 64000: DIM a$(240,14): LET W=0: LET KB=1: POKE USR "A",0: POKE USR "A"+7,0: FOR C=1 TO 6: POKE USR "A"+C,126: NEXT C: LET cnt=0 9991 ON ERR RESET : PAUSE 60 9992 CLS : PRINT AT 5,3;"Printer Font Downloader";''';"PRESS: 1 to CREATE Font 2 to SAVE Font 3 to LOAD Font 4 to DOWNLOAD Font 5 to toggle WRAP 6 for JOYSTICK 7 for KEYBOARD 8 to STOP" 9993 PAUSE 0: LET C$=INKEY$: IF C$<"1" OR C$>"8" THEN BEEP .05,1: GO TO 9993 9994 ON ERR GO TO 9992 9995 GO TO 9000 9997 DIM a$(240,14): POKE USR "A",0: POKE USR "A"+7,0: FOR C=1 TO 6: POKE USR "A"+C,126: NEXT C: LET cnt=0: GO TO 40 9998 STOP 9999 SAVE "FONT-S" LINE 9989