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
Content
Image Gallery
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