The program I sent can produse print to the screen of any size.
Jest change the SIZE$ = "24" to SIZE$ = "4" or whotever.
------------------
Announcement
Collapse
No announcement yet.
Double size letters on screen
Collapse
X
-
Guest replied
-
Guest replied
print large size letter on the screen.
This program will print latters any size you wount.
'gary.bas by gary russell
'[email protected]
DECLARE SUB NORMAL0 ()
DECLARE SUB LAYER2 ()
DECLARE SUB LAYER1 ()
DECLARE SUB TRANSLATE ()
DECLARE SUB LETTERS ()
DEFINT A-Z '
DIM P$(122)
SHARED P$()
SHARED P$, SIZE$
SHARED C1$, C2$, C3$
SHARED C4$, BGC, DOT$
SHARED SPACING$, WORD$
SHARED PFT, PFL
CALL LETTERS '
SCREEN 9 '''''''''''''''''''''
EFFECT1:
LINE (1, 1)-(590, 72), 4, BF
LINE (202, 3)-(588, 70), 1, BF
WORD$ = "GARY RUSSELL" '
SPACING$ = "L1"
SIZE$ = "24" '
DOT$ = "N" '
BGC = 4 '
CALL TRANSLATE '
C1$ = "C14": C2$ = "C 8": C3$ = "C 0": C4$ = "C15" '
PFT = 52: PFL = 13: CALL LAYER1 '
PFT = 52: PFL = 9: CALL LAYER1 '
PFT = 51: PFL = 10: CALL LAYER1 '
PFT = 51: PFL = 11: CALL LAYER1
t$ = INPUT$(1)
EFFECT2:
LINE (3, 78)-(494, 130), 13, B
LINE (5, 80)-(492, 128), 7, BF
WORD$ = "DAVID RUSSELL"
SPACING$ = "L1"
SIZE$ = "20"
DOT$ = "N"
BGC = 7
CALL TRANSLATE
C1$ = "C 5": C2$ = "C 8": C3$ = "C 8": C4$ = "C 8"
PFT = 117: PFL = 17: CALL LAYER2
PFT = 117: PFL = 15: CALL LAYER2
PFT = 117: PFL = 13: CALL LAYER2
C1$ = "C 5": C2$ = "C 0": C3$ = "C 0": C4$ = "C15"
PFT = 115: PFL = 19: CALL LAYER2
PFT = 115: PFL = 18: CALL LAYER2
t$ = INPUT$(1)
EFFECT3:
LINE (3, 136)-(178, 192), 8, BF
LINE (3, 136)-(415, 192), 9, B
WORD$ = "JAMES RUSSELL"
SPACING$ = "L1"
SIZE$ = "16"
DOT$ = "N"
BGC = 8
CALL TRANSLATE
C1$ = "C 0": C2$ = "C 0": C3$ = "C 0": C4$ = "C 0"
PFT = 167: PFL = 12: CALL LAYER1
C1$ = "C 8": C2$ = "C 7": C3$ = "C15": C4$ = "C 0"
PFT = 167: PFL = 13: CALL LAYER2
PFT = 167: PFL = 12: CALL LAYER2
PFT = 166: PFL = 13: CALL LAYER2
PFT = 167: PFL = 11: CALL LAYER2
t$ = INPUT$(1)
EFFECT4:
LINE (2, 206)-(636, 303), 12, BF
LINE (1, 204)-(639, 306), 15, B
LINE (19, 280)-(620, 280), 14, B
LINE (20, 281)-(619, 281), 0, B
LINE (21, 282)-(618, 282), 0, B
WORD$ = "JOHN RUSSELL"
SPACING$ = "L1"
SIZE$ = "28"
DOT$ = "N"
BGC = 12
CALL TRANSLATE
C1$ = "C12": C2$ = "C 4": C3$ = "C 0": C4$ = "C 0"
PFT = 266: PFL = 24: CALL LAYER1
C1$ = "C12": C2$ = "C 4": C3$ = "C 0": C4$ = "C 0"
PFT = 265
FOR XX = 25 TO 33 STEP 2
PFL = XX: CALL LAYER1
PFT = PFT - 1
NEXT
C1$ = "C15": C2$ = "C 6": C3$ = "C 6": C4$ = "C14"
PFT = 259: PFL = 40: CALL LAYER1
PFT = 259: PFL = 36: CALL LAYER1
PFT = 258: PFL = 38: CALL LAYER1
t$ = INPUT$(1)
ALPHABET:
LINE (1, 315)-(639, 331), 7, B
LINE (2, 316)-(638, 330), 15, BF
WORD$ = " THE RUSSELL BOYS MOMY JULIE ANN RUSSELL"
SPACING$ = "R0"
SIZE$ = "4"
DOT$ = "N"
BGC = 15
CALL TRANSLATE
C1$ = "C 1"
PFT = 324: PFL = 5: CALL NORMAL0
t$ = INPUT$(1)
SUB LAYER1
PSET (PFL + 2, PFT + 5), BGC: DRAW C3$ + P$
PSET (PFL + 0, PFT + 5), BGC: DRAW C3$ + P$
PSET (PFL + 1, PFT + 5), BGC: DRAW C3$ + P$
PSET (PFL + 0, PFT + 4), BGC: DRAW C3$ + P$
PSET (PFL + 1, PFT + 2), BGC: DRAW C2$ + P$
PSET (PFL + 2, PFT + 4), BGC: DRAW C1$ + P$
PSET (PFL + 3, PFT + 3), BGC: DRAW C4$ + P$
PSET (PFL + 3, PFT + 2), BGC: DRAW C2$ + P$
PSET (PFL + 4, PFT + 4), BGC: DRAW C2$ + P$
PSET (PFL + 5, PFT + 2), BGC: DRAW C3$ + P$
PSET (PFL + 5, PFT + 3), BGC: DRAW C2$ + P$
PSET (PFL + 4, PFT + 3), BGC: DRAW C1$ + P$
END SUB
SUB LAYER2
PSET (PFL + 0, PFT + 5), BGC: DRAW C4$ + P$
PSET (PFL + 0, PFT + 3), BGC: DRAW C4$ + P$
PSET (PFL + 2, PFT + 3), BGC: DRAW C1$ + P$
PSET (PFL + 1, PFT + 2), BGC: DRAW C1$ + P$
PSET (PFL + 2, PFT + 4), BGC: DRAW C4$ + P$
PSET (PFL + 3, PFT + 3), BGC: DRAW C3$ + P$
PSET (PFL + 3, PFT + 2), BGC: DRAW C1$ + P$
PSET (PFL + 4, PFT + 4), BGC: DRAW C1$ + P$
PSET (PFL + 5, PFT + 2), BGC: DRAW C1$ + P$
PSET (PFL + 5, PFT + 3), BGC: DRAW C2$ + P$
PSET (PFL + 4, PFT + 3), BGC: DRAW C1$ + P$
END SUB
SUB LETTERS
P$(32) = "BR4" 'space
P$(65) = "BD1U7E1R3F1D3L5R5D4BR4BU1" 'A
P$(66) = "BD1U8R4F1D2G1L4R4F1D2G1L4BU1BR9" 'B
P$(67) = "BD1BU1U6E1R3F1BD6G1L3H1F1R3BR4BU1" 'C
P$(68) = "BD1U8R4F1D6G1L4BR9BU1" 'D
P$(69) = "BD1U8R4L4D4R3L3D4R4BU1BR4" 'E
P$(70) = "BD1U8R5L5D4R4L4D4BR8BU1" 'F
P$(71) = "BD1BU1U6E1R3F1BD6G1L3H1F1R3E1U3L2RD3BR4" 'G
P$(72) = "BD1U8D4R4U4D8BR4BU1" 'H
P$(73) = "BD1BR1U8L1R2L1D8L1R2BR4BU1" 'I
P$(74) = "BD1BU1F1R2E1U7L1R2L1D7BR5" 'J
P$(75) = "BD1BU8D8U4R1E4G4F4BR4BU1" 'K
P$(76) = "BD1BU8D8R4BU1BR4" 'L
P$(77) = "BD1U7E1R2F1D7U7E1R2F1D7BU1BR4" 'M
P$(78) = "BD1U8F7D1U8D8BR4BU1" 'N
P$(79) = "BD1BU1U6E1R3F1BD6G1L3H1BR5U6D6BR4" 'O
P$(80) = "BD1U8R4F1D2G1L4D4BR9BU1" 'P
P$(81) = "BD1BU1U6E1R3F1BD6G1L3H1BR5U6BL3BD5F3BG3BR7BU5" 'Q
P$(82) = "BD1U8R4F1D2G1L4R1F4BR4BU1" 'R
P$(83) = "BD1BU5U2E1R3F1BD2BL5F1R3F1D2G1L3H1BR9" 'S
P$(84) = "BR3BD1BU8L4R6L3D8BR6BU1" 'T
P$(85) = "BD1BU1U7D7F1R3E1U7D7BR4" 'U
P$(86) = "BD1BU8D5F2D1U1E2U5D5BR5BD2" 'V 'P$(86) = "BD1BU8D5F2D1U1E2U5D5BR5BD2"
P$(87) = "BD1BU1U7D7F1R2E1U7D7F1R2E1U7D7BD1BR4BU1" 'W
P$(88) = "BD1BU8D1F3E3U1D1G6D1U1E3F3D1BU1BR5" 'X
P$(89) = "BL1BU5U2D2F3E3U2D2G3D3BU1BR7" 'Y
P$(90) = "BU7R5D2G5D1R5BR4BU1" 'Z
END SUB
SUB NORMAL0
PSET (PFL + 0, PFT + 0), BGC: DRAW C1$ + P$
END SUB
SUB TRANSLATE
SPACING$ = "B" + UCASE$(SPACING$)
SIZE$ = "S" + UCASE$(SIZE$)
P$(105) = "BR0BD1U6BU2BD7BR4" 'i
P$(106) = "BR1BD1U6BU2BD7D3G1L2BU4BR8" 'j
IF DOT$ = "Y" THEN P$(105) = "BR0BD1U6BU1U1BD7BR4"
IF DOT$ = "Y" THEN P$(106) = "BR1BD1U6BU1U1BD7D3G1L2BU4BR8"
P$ = SIZE$
FOR J = 1 TO LEN(WORD$)
P$ = P$ + P$(ASC(MID$(WORD$, J, 1))) + SPACING$
NEXT J
END SUB
------------------
Leave a comment:
-
Hi Fred,
just found the code mentioned in my last post, hope that helps.
Please feel free to use and modify it. The code is not up-to-date,
however, six years ago I had much fun with it. I think it's no
problem to write some lines for double-high-double-width and so on.
The code is fairly long for this thread, sorry, Lance ...
Cheers, Hanns.
Code:' -------------------------------------------------------------------------- ' EXAMPLE MAIN PROG: Writing characters to screen (graphics mode) ' Styles: Normal, Small, Double-width, Double-high, Double-width-Shadowed ' DOS >= 3.3 only, Screen>3 incl. HGC (good old days) ' -------------------------------------------------------------------------- ' Pfad$= Path of ASCII-Table listed below (if char.set not found, cf. below) ' CALL VersionDos(DosVersion) ' DOS version ' CALL WoBinIch(DosVersion,Pfad$) ' Find app's path Screenmodus%=12 SCREEN Screenmodus% COLOR 1,1 : CLS WINDOW (0,0)-(100,100) CALL WoIstFont(Screenmodus%) ' Searching address of characters Xpos=10 : Ypos=15 ' Position of your text VX%=0 : VY%=0 ' Shift units (half character) CO%=15 ' Text color Cs%=7 ' Shadow color Text$="PowerBasic. That's all you need." ' Your text CALL FontKlein (Text$,Xpos,Ypos ,VX%,VY%,Co%) ' Small CALL FontNormal(Text$,Xpos,Ypos+10,VX%,VY%,Co%-1) ' Normal CALL FontHoch (Text$,Xpos,Ypos+20,VX%,VY%,Co%-2) ' Double-high CALL FontBreitX(Text$,Xpos,Ypos+30,VX%,VY%,Co%-3,0) ' Double-width CALL FontBreitX(Text$,Xpos,Ypos+40,VX%,VY%,Co%-4,Cs%) ' Double-w. shadow ' CALL HGCFont (Text$,Xpos,Ypos ,VX%,VY%,Co%) ' Hercules !!!! END ' --------------------------------------------------------------------------- ' WoIstFont: 6.3.1994 LV: 5.5.1994 ' ' Lokalisiert die Zeichentabellen 8*8 und 8*14 bzw. 8*16: Tischer p. 1185 ' Segmentadresse: FontSen&,FontSek& Offset: FontOfn&,FontOfk& ' --------------------------------------------------------------------------- SUB WoIstFont(ScreenModus%) SHARED FontSen&,FontOfn&,FontSem&,FontOfm&,FontSek&,FontOfk& LOCAL I%,X%,X$ If ScreenModus%<=3 then FontSen&=-1 : FontOfn&=-1 Else REG 1, &H1130 ' Funktion 11, Unterfunktion 30 fr INT &H10 REG 2, &H0600 ' 8*16-Zeichensatz Tischer p.1185 CALL INTERRUPT &H10 ' Info ber Z-Generator holen FontSen&=REG(9) : FontSen&=FontSen&-65536*(FontSen&<0) ' REG(9)=ES FontOfn&=REG(7) : FontOfn&=FontOfn&-65536*(FontOfn&<0) ' REG(7)=BP REG 1, &H1130 ' Funktion 11, Unterfunktion 30 fr INT &H10 REG 2, &H0200 ' 8*14-Zeichensatz Tischer p.1185 CALL INTERRUPT &H10 ' Info ber Z-Generator holen FontSem&=REG(9) : FontSem&=FontSem&-65536*(FontSem&<0) ' REG(9)=ES FontOfm&=REG(7) : FontOfm&=FontOfm&-65536*(FontOfm&<0) ' REG(7)=BP REG 1, &H1130 ' Funktion 11, Unterfunktion 30 fr INT &H10 REG 2, &H0300 ' 8*8-Zeichensatz Tischer p.1185 CALL INTERRUPT &H10 ' Info ber Z-Generator holen FontSek&=REG(9) : FontSek&=FontSek&-65536*(FontSek&<0) ' REG(9)=ES FontOfk&=REG(7) : FontOfk&=FontOfk&-65536*(FontOfk&<0) ' REG(7)=BP End If END SUB ' --------------------------------------------------------------------------- ' ' FONTS: 6.3.1994 LV 10.5.1996 ' ' FONTS setzt die Lokalisation der Zeichentabelle voraus. ' Segmentadresse: Normal: FontSen&, Klein: FontSek& ' Offset: Normal: FontOfn&, Klein: FontOfk& ' ' --------------------------------------------------------------------------- ' Umstellung von 8*14 auf 8*16 am 10.5.96: ' Nur vertikal jede 13 durch 15, jede 14 durch 16 ersetzt, horizontal bleibt! ' --------------------------------------------------------------------------- SUB FontNormal(X$,XX,YY,VX%,VY%,Co%) ' Font 8*16 horizontal LOCAL X%,Y%,Ad&,Y,Y1%,X0%,Z%,Vert%,Hori%,Zeich% SHARED FontSen&,FontOfn& DEF SEG = FontSen& X%=PMAP(XX,0)-3+VX%*4 Y%=PMAP(YY,1)-6-VY%*7 For Zeich%=1 to LEN(X$) X1%=ASC(MID$(X$,Zeich%,1)) Ad&=FontOfn&+16*X1% X0%=X%+8*(Zeich%-1) For Vert%=0 to 15 Z%=PEEK(Ad&+Vert%) Y=PMAP(Y%+Vert%,3) For Hori%=0 to 7 If BIT(Z%,Hori%) then PSET (PMAP(X0%+7-Hori%,2),Y),Co% Next Hori% Next Vert% Next Zeich% END SUB SUB FontHoch(X$,XX,YY,VX%,VY%,Co%) ' Font 8*28 hoch SHARED FontSen&,FontOfn&,FontSem&,FontOfm& , Pfad$ STATIC Gelesen?,Font?() LOCAL X%,Y%,I%,J%,F%,I1%,I2%,I3%,I4% If FontSen&<>FontSem& or FontOfn&<>FontOfm& then ' Zeichensatz 8*14 vorh.! X%=PMAP(XX,0)-3+VX%*4 : Y%=PMAP(YY,1)-7-VY%*13 DEF SEG = FontSem& Ad& = FontOfm&+14*65 ' Zeichenanfang via 'A'! V%=0: DO: Z%=PEEK(Ad&+V%): V%=V%+1: LOOP UNTIL Z%<>0: V%=V%-1 For Zch% = 1 to LEN(X$) X1% = ASC(MID$(X$,Zch%,1)) Ad& = FontOfm&+14*X1% X0% = X%+8*(Zch%-1) For Ve% = 0 to 13-V% Z% = PEEK(Ad&+V%+Ve%) For Ho% = 0 to 7 If (Z% AND 2^Ho%)<>0 then PSET (PMAP(X0%+7-Ho%,2),PMAP(Y%+2*Ve% ,3)),Co% PSET (PMAP(X0%+7-Ho%,2),PMAP(Y%+2*Ve%-1,3)),Co% End If Next Ho% Next Ve% Next Zch% Else ' falls 8*14 nicht vorhanden, HGC-Font 8*14 verwenden If Gelesen?=0 then ' 1. Lauf: einlesen Gelesen?=1 I1%=32:I2%=123:I3%=0:I4%=13 : DIM Font?(I1%:I2%,I3%:I4%) F%=FREEFILE OPEN Pfad$+"HGCFONTS.BIN" for Input as #F% For I%=32 to 123 For J%=0 to 13 Input #F%, Font?(I%,J%) ' ASCII32-122, Font?(123)=ASCII0! Next J% Next I% CLOSE #F% End If X%=PMAP(XX,0)-3+VX%*4 Y%=PMAP(YY,1)-13-VY%*13 For Zeich%=1 to LEN(X$) X1%=ASC(MID$(X$, Zeich%, 1)) : If X1%<32 or X1%>122 then X1%=123 ' ASCII0 X0%=X%+8*(Zeich%-1) For Vert%=0 to 13 Z%=Font?(X1%,Vert%) For Hori%=0 to 7 If BIT(Z%,Hori%) then PSET (PMAP(X0%+7-Hori%,2),PMAP(Y%+2*Vert% ,3)),Co% PSET (PMAP(X0%+7-Hori%,2),PMAP(Y%+2*Vert%-1,3)),Co% End If Next Hori% Next Vert% Next Zeich% End If END SUB SUB FontBreitX(X$,XX,YY,VX%,VY%,Co%,Cs%) ' Font 2*8*16 breit incl. Schatten SHARED FontSen&,FontOfn& LOCAL X%,Y%,Zeich%,X1%,X0%,Y1,Y2,Ad&,Vert%,Hori%,X00% DEF SEG = FontSen& X%=PMAP(XX,0)-6+VX%*8 Y%=PMAP(YY,1)-6-VY%*7 For Zeich%=1 to LEN(X$) X1%=ASC(MID$(X$,Zeich%,1)) Ad&=FontOfn&+16*X1% X0%=X%+16*(Zeich%-1) For Vert%=15 to 0 Step -1 Z%=PEEK(Ad&+Vert%) Y1=PMAP(Y%+Vert%-1,3) Y2=PMAP(Y%+Vert% ,3) For Hori%=0 to 7 If BIT(Z%,Hori%) then ' BIT()=(Z% AND 2^Hori%) X00%=X0%+14-2*Hori% If Cs%>0 then PSET (PMAP(X00%+1,2),Y1),Cs% PSET (PMAP(X00%+2,2),Y1),Cs% End If PSET (PMAP(X00% ,2),Y2),Co% PSET (PMAP(X00%+1,2),Y2),Co% End If Next Hori% Next Vert% Next Zeich% END SUB SUB FontKlein(X$,XX,YY,VX%,VY%,Co%) ' Font 8*8 klein SHARED FontSen&,FontOfn&,FontSek&,FontOfk& , Pfad$ STATIC Gelesen?,Font?() LOCAL X%,Y%,I%,J%,F%,I1%,I2%,I3%,I4% If FontSen&<>FontSek& or FontOfn&<>FontOfk& then ' Zeichensatz 8*8 vorh.! X%=PMAP(XX,0)-3+VX%*4 : Y%=PMAP(YY,1)-3-VY%*4 DEF SEG = FontSek& For Zeich%=1 to LEN(X$) X1%=ASC(MID$(X$,Zeich%,1)) Ad&=FontOfk&+8*X1% X0%=X%+8*(Zeich%-1) For Vert%=0 to 7 Z%=PEEK(Ad&+Vert%) For Hori%=0 to 7 If (Z% AND 2^Hori%)>0 then PSET (PMAP(X0%+7-Hori%,2),PMAP(Y%+Vert%,3)),Co% Next Hori% Next Vert% Next Zeich% Else ' falls 8*14 nicht vorhanden, HGC-Font 8*14 verwenden! If Gelesen?=0 then ' 1. Lauf: einlesen Gelesen?=1 I1%=32:I2%=123:I3%=0:I4%=13 : DIM Font?(I1%:I2%,I3%:I4%) F%=FREEFILE OPEN Pfad$+"HGCFONTS.BIN" for Input as #F% For I%=32 to 123 For J%=0 to 13 Input #F%, Font?(I%,J%) ' ASCII32-122, Font?(123)=ASCII0! Next J% Next I% CLOSE #F% End If X%=PMAP(XX,0)-3+VX%*4 Y%=PMAP(YY,1)-7-VY%*7 For Zeich%=1 to LEN(X$) X1%=ASC(MID$(X$, Zeich%, 1)) : If X1%<32 or X1%>122 then X1%=123 ' ASCII0 X0%=X%+8*(Zeich%-1) For Vert%=0 to 13 Z%=Font?(X1%,Vert%) For Hori%=0 to 7 If BIT(Z%,Hori%) then PSET (PMAP(X0%+7-Hori%,2),PMAP(Y%+Vert%,3)),Co% Next Hori% Next Vert% Next Zeich% End If END SUB SUB HGCFont(X$,XX,YY,VX%,VY%,Co%) ' HGC&CGA-Font 8*14 horizontal STATIC Gelesen?,Font?() LOCAL X%,Y%,I%,J%,F%,I1%,I2%,I3%,I4% SHARED Pfad$ If Gelesen?=0 then ' 1. Lauf: einlesen Gelesen?=1 I1%=32:I2%=123:I3%=0:I4%=13 : DIM Font?(I1%:I2%,I3%:I4%) F%=FREEFILE OPEN Pfad$+"HGCFONTS.BIN" for Input as #F% For I%=32 to 123 For J%=0 to 13 Input #F%, Font?(I%,J%) ' ASCII32-122, Font?(123)=ASCII254! Next J% Next I% CLOSE #F% End If X%=PMAP(XX,0)-3+VX%*4 Y%=PMAP(YY,1)-7-VY%*7 For Zeich%=1 to LEN(X$) X1%=ASC(MID$(X$, Zeich%, 1)) : If X1%<32 or X1%>122 then X1%=123 ' ASCII254 X0%=X%+8*(Zeich%-1) For Vert%=0 to 13 Z%=Font?(X1%,Vert%) Y=PMAP(Y%+Vert%,3) For Hori%=0 to 7 If BIT(Z%,Hori%) then PSET (PMAP(X0%+7-Hori%,2),Y),Co% ' BIT()=(Z% AND 2^Hori%) Next Hori% Next Vert% Next Zeich% END SUB '---------------------------------------------------------------------------- ' WoBinIch() gibt den Pfad des aktuellen Programms zurck. 12.04.1994 ' Programmgrundlage ist Tischer, PC-Intern pp. 756,849,1295. '---------------------------------------------------------------------------- SUB WoBinIch(DosVersion,Pfad$) LOCAL BX&,EB&,Z%,L% If DosVersion<3.3 then Pfad$="" Else REG 1, &H6200 ' Adresse PSP ermitteln (BX&) CALL INTERRUPT &H21 BX&=REG(2) : BX&=BX&-2^16*(BX&<0) DEF SEG = BX& ' Segmentadresse (EB&) Environment-Block holen EB&=PEEKI(&H2C) : EB&=EB&-2^16*(EB&<0) DEF SEG = EB& ' Environment: Z%=0 ' Offset immer Null! DO ' Bei DoppelNUL: Env-Block Ende INCR Z% LOOP UNTIL PEEK(Z%)=0 AND PEEK(Z%+1)=0 Pfad$="" If PEEK(Z%+2)=1 AND PEEK(Z%+3)=0 then Z%=Z%+4 DO ' Name von DoppelNUL,1,NUL bis n„chste NUL! Pfad$=Pfad$+CHR$(PEEK(Z%)) INCR Z% LOOP UNTIL PEEK(Z%)=0 L%=LEN(Pfad$) ' Nur Pfad, Name weg! WHILE MID$(Pfad$,L%,1)<>"\" DECR L% WEND Pfad$=UCASE$(MID$(Pfad$,1,L%)) End If End If END SUB '---------------------------------------------------------------------------- ' DOS-Version ermitteln '---------------------------------------------------------------------------- SUB VersionDos(DosVersion) ' DOS-Version: Tischer p. 1238 REG 1, &H3000 CALL INTERRUPT &H21 AH%=(REG(1)/&H0100) AND &HFF ' AH: Unterversion AL%= REG(1) AND &HFF ' AL: Hauptversion DosVersion=AL%+AH%/100 END SUB '============================================================================ $IF 0 ' PLEASE WRITE THIS TO >> HGCFONTS.BIN << AS ASCII -------------------------- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 60 60 60 24 24 0 24 24 0 0 0 0 102 102 102 36 0 0 0 0 0 0 0 0 0 0 0 108 108 254 108 108 108 254 108 108 0 0 0 24 24 124 198 194 192 124 6 134 198 124 24 24 0 0 0 0 0 194 198 12 24 48 102 198 0 0 0 0 0 56 108 108 56 118 220 204 204 118 0 0 0 0 48 48 48 96 0 0 0 0 0 0 0 0 0 0 0 12 24 48 48 48 48 48 24 12 0 0 0 0 0 48 24 12 12 12 12 12 24 48 0 0 0 0 0 0 0 102 60 255 60 102 0 0 0 0 0 0 0 0 0 24 24 126 24 24 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 48 0 0 0 0 0 0 0 0 254 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 0 0 0 0 0 2 6 12 24 48 96 192 128 0 0 0 0 0 0 124 198 206 222 246 230 198 198 124 0 0 0 0 0 24 56 120 24 24 24 24 24 126 0 0 0 0 0 124 198 6 12 24 48 96 198 254 0 0 0 0 0 124 198 6 6 60 6 6 198 124 0 0 0 0 0 12 28 60 108 204 254 12 12 30 0 0 0 0 0 254 192 192 252 14 6 6 198 124 0 0 0 0 0 56 96 192 192 252 198 198 198 124 0 0 0 0 0 254 198 6 12 24 48 48 48 48 0 0 0 0 0 124 198 198 198 124 198 198 198 124 0 0 0 0 0 124 198 198 198 126 6 6 12 120 0 0 0 0 0 0 24 24 0 0 0 24 24 0 0 0 0 0 0 0 24 24 0 0 0 24 24 48 0 0 0 0 0 6 12 24 48 96 48 24 12 6 0 0 0 0 0 0 0 0 254 0 0 254 0 0 0 0 0 0 0 96 48 24 12 6 12 24 48 96 0 0 0 0 0 124 198 198 12 24 24 0 24 24 0 0 0 0 0 124 198 198 222 222 222 220 192 124 0 0 0 0 0 16 56 108 198 198 254 198 198 198 0 0 0 0 0 252 102 102 102 124 102 102 102 252 0 0 0 0 0 60 102 194 192 192 192 194 102 60 0 0 0 0 0 248 108 102 102 102 102 102 108 248 0 0 0 0 0 254 102 98 104 120 104 98 102 254 0 0 0 0 0 254 102 98 104 120 104 96 96 240 0 0 0 0 0 60 102 194 192 192 222 198 102 58 0 0 0 0 0 198 198 198 198 254 198 198 198 198 0 0 0 0 0 60 24 24 24 24 24 24 24 60 0 0 0 0 0 30 12 12 12 12 12 204 204 120 0 0 0 0 0 230 102 108 108 120 108 108 102 230 0 0 0 0 0 240 96 96 96 96 96 98 102 254 0 0 0 0 0 198 238 254 254 214 198 198 198 198 0 0 0 0 0 198 230 246 254 222 206 198 198 198 0 0 0 0 0 56 108 198 198 198 198 198 108 56 0 0 0 0 0 252 102 102 102 124 96 96 96 240 0 0 0 0 0 124 198 198 198 198 214 222 124 12 0 0 0 0 0 252 102 102 102 124 108 102 102 230 0 0 0 0 0 124 198 198 96 56 12 198 198 124 0 0 0 0 0 126 126 90 24 24 24 24 24 60 0 0 0 0 0 198 198 198 198 198 198 198 198 124 0 0 0 0 0 198 198 198 198 198 198 108 56 16 0 0 0 0 0 198 198 198 198 214 214 254 124 108 0 0 0 0 0 198 198 108 56 56 56 108 198 198 0 0 0 0 0 102 102 102 102 60 24 24 24 60 0 0 0 0 0 254 198 140 24 48 96 194 198 254 0 0 0 0 0 60 48 48 48 48 48 48 48 60 0 0 0 0 0 128 192 224 112 56 28 14 6 2 0 0 0 0 0 60 12 12 12 12 12 12 12 60 0 0 0 16 56 108 198 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 48 48 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 120 12 124 204 204 118 0 0 0 0 0 224 96 96 120 108 102 102 102 220 0 0 0 0 0 0 0 0 124 198 192 192 198 124 0 0 0 0 0 28 12 12 60 108 204 204 204 118 0 0 0 0 0 0 0 0 124 198 254 192 198 124 0 0 0 0 0 56 108 100 96 240 96 96 96 240 0 0 0 0 0 0 0 0 118 204 204 204 124 12 204 120 0 0 0 224 96 96 108 118 102 102 102 230 0 0 0 0 0 24 24 0 56 24 24 24 24 60 0 0 0 0 0 6 6 0 14 6 6 6 6 102 102 60 0 0 0 224 96 96 102 108 120 108 102 230 0 0 0 0 0 56 24 24 24 24 24 24 24 60 0 0 0 0 0 0 0 0 236 254 214 214 214 214 0 0 0 0 0 0 0 0 220 102 102 102 102 102 0 0 0 0 0 0 0 0 124 198 198 198 198 124 0 0 0 0 0 0 0 0 220 102 102 102 124 96 96 240 0 0 0 0 0 0 118 204 204 204 124 12 12 30 0 0 0 0 0 0 220 118 98 96 96 240 0 0 0 0 0 0 0 0 124 198 112 28 198 124 0 0 0 0 0 16 48 48 252 48 48 48 54 28 0 0 0 0 0 0 0 0 204 204 204 204 204 118 0 0 0 0 0 0 0 0 102 102 102 102 60 24 0 0 0 0 0 0 0 0 198 198 214 214 254 108 0 0 0 0 0 0 0 0 198 108 56 56 108 198 0 0 0 0 0 0 0 0 198 198 198 198 126 6 12 248 0 0 0 0 0 0 254 204 24 48 102 254 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 '-------- END OF FILE ------------------------------------------ $ENDIF
------------------
[This message has been edited by Hanns Ackermann (edited April 01, 2000).]
Leave a comment:
-
Fred,
years ago I wrote a program displaying text double-width,
double-high and shaddowed in graphic mode (screen 12 etc.),
however, it doesn't work for screen 0. (If I remember well, I
used some code from PB-Xtra and a textbook by Tischer.) If you
are (or someone else is!) interested in this, please let me know.
I think it should be no problem to find the code in a desert
corner of my HD.
Hanns.
------------------
Leave a comment:
-
What about 40 character wide mode?
Code:SCREEN 0 WIDTH 40 PRINT "Hello PB/DOS at 40 characters!"
------------------
Lance
PowerBASIC Support
mailto:[email protected][email protected]</A>
Leave a comment:
-
Guest repliedI don't know if this will be possible. (I am not trying to speak for PB) The printer when printing Double Wide is set to graphics mode. There is no way of setting a section of a DOS screen to graphics mode. Either the whole screen is graphic or not. You can use the extended ASCII chr set to make large chars but these would be quite big to be readable.
Another way I can think of to get this functionality is to draw with line statements the letters. You could then make a routine that when passed the Row,Col and Letter it would draw the letter.
And yet another, you could redefine what the ASCII char are in video memory. Then taking a piece of each one draw the char. There are used to be several DOS based programs that you could load and replace the ASCII chr map. I may have one or two on an old backup if you would like to email me I will check.
mailto[email protected][email protected]</A>
------------------
[This message has been edited by Shawn Tartaglia (edited March 27, 2000).]
Leave a comment:
-
Double size letters on screen
A few months ago I submitted a request for a program that would print large size letter on the screen or printer. While I produced a fairly good program to produce large letters for my printer, when it came to the screen they were all too big, 8 times the normal type. I am looking for something that would produce about twice the high and width on the screen. I wander if PowerBASIC could come up with a command that would accomplish this, such as:
PRINT DOUBLE "This line is Double High & Wide"
where: the command DOUBLE would accomplish the double high and wide screen presentation.
I can accomplish this on my printer by using printer commands. I would like to see PowerBASIC come up with something equaled.
Tags: None
Leave a comment: