 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 09.02.2007, 16:49 Titel: Eigenen Font gestalten |
|
|
Hi,
da hier mehrfach ein eigener Font für FB gebastelt werden sollte -
hier ein Bastelvorschlag: Code: | 'Eigene Fonts gestalten - by Volta - 09.02.2007
#define FIRST 32
#define LAST 255
Dim As Ubyte Ptr p, myFont
Dim As Single w
Dim As Integer value, i, fnthoch, fntbreit, img_len
Screen 18, 32
fntbreit = 10
fnthoch = 16
img_len = (LAST - FIRST + 1) * fntbreit
myFont = ImageCreate(img_len, fnthoch+1, &Hff8000)'<-Schrifthintergrund
img_len *= ((fnthoch +1)*4)
img_len += Iif(myFont[0] = 7, 32, 4)
' Create custom font into GET/PUT buffer
p = myFont + Iif(myFont[0] = 7, 32, 4)
p[0] = 0
p[1] = FIRST
p[2] = LAST
For i = FIRST To LAST
' Here we could define a custom width for each letter
p[3 + i - FIRST] = fntbreit
' Create character onto custom font buffer by drawing using default font
'Schatten hinter dem Zeichen, einen Pixel tiefer, grau-schwarz
Draw String myFont, ((i - FIRST) * fntbreit+2, 0), Chr(i),&H707070,,trans
'Schatten vor dem Zeichen, einen Pixel höher, grau-schwarz
Draw String myFont, ((i - FIRST) * fntbreit+1, 2), Chr(i),&H0,,trans
'das Zeichen, weiss
Draw String myFont, ((i - FIRST) * fntbreit+0, 1), Chr(i),&Hffffff,,trans
Next i
'Put (1,1),myFont,Pset
Draw String (1, 40), "Myfont.fnt " +str(img_len)+ " Byte",, myFont
' Now the font buffer is ready; we could save it using BSAVE for later use
Bsave "Myfont.fnt", myFont,
' Here we draw a string using the custom font and the ALPHA method
While Len(Inkey)=0
value = Sin(w)*127+127: w += .0245
Line (70-fntbreit,200)-(70+(fntbreit*48),200+fnthoch),0,bf
Draw String (70, 200)," Eigenen Font gestaltet - by Volta - 09.02.2007 ",, myFont, Alpha, Value
Screensync
Wend
if myFont<>0 then Imagedestroy myFont
End | na gut , man kann damit erstmal nur den Standardzeichensatz etwas aufpeppen.
Erweiterungen sind geplant ...
EDIT/ Eigenen Font laden:
Code: | 'Eigene Fonts benutzen - by Volta - 09.02.2007
Dim As Ubyte Ptr myFont
Dim As Single w
Dim As String s
Dim As Integer value
Function IsFile ( DataFile As String) As Integer
Dim As Integer F
F = Freefile
Open DataFile For Input As #F
Function = Lof(F)
Close #F
If Err <> 0 Then
Print "Datei "+DataFile+" nicht gefunden !"
Sleep
End
End If
End Function
Screen 18, 32
s = "Myfont.fnt"
myFont = Allocate(IsFile (s))
Bload s, myFont
' Here we draw a string using the custom font and the ALPHA method
While Len(Inkey)=0
value = Sin(w)*127+127: w += .0245
screenlock
Line (60,200)-(560,220),0,bf
Draw String (70, 200), " Eigener Font gestaltet - by Volta - 09.02.2007 ",, myFont, Alpha, Value
screenunlock
Screensync
Wend
If myFont<>0 Then Deallocate( myFont )
End
|
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
stevie1401
Anmeldungsdatum: 04.07.2006 Beiträge: 133
|
Verfasst am: 10.02.2007, 21:37 Titel: |
|
|
Ich habe mal ein Programm erstellt, mit dem man einfach Fonts für FB oder andere Basics erstellen kann.
Die Function ist einfach: Das Prog scannt die einzelnen Pixel der Buchstaben ein und schreibt die Werte in eine Datei.
Dazu habe ich in FB eine Routine geschrieben, die das ganze natürlich lesen und ausgeben kann.
Ich denke, ich habe es gut erklärt in einem Beispielprogramm.
Herunterladen könnt ihr es hier:
http://www.hundertdrei-allerlei.de/freebasic/FB_MakeFont.rar
Eine Bitte in eigener Sache:
Sollte ich mit diesem Programm gegen irgendwelche Lizenzen oder wasweissichdenn verstossen, so teilt mir das bitte mit.
Viel Spass damit
Euer Stevie1401 |
|
Nach oben |
|
 |
Eastler_dart

Anmeldungsdatum: 25.09.2005 Beiträge: 177 Wohnort: Baden-Würtemberg + Sachsen
|
Verfasst am: 10.02.2007, 23:00 Titel: |
|
|
Hallo Leute,
auch von mir etwas zu Fonts:
In der Download-Section von freebasic.de unter Tools habe ich FreeFontEdit zum runterladen bereitgestellt (http://www.freebasic.de/FBdownloads.php?zeig=downloads&in1=&in2=Utilities)
Ebenfalls ist das Programm auf meiner Homepage unter:
http://www.eastler.de/FreeBasic/FreeFontEdit/FreeFont.html bereitgestellt.
Immer komplett mit Beschreibung.
In der Handhabung hakelt das Prog noch etwas, läuft aber (manchmal 2xklicken statt 1x). Hab mir selbst damit n paar Fonts erstellt, mit denen ich im Moment klar komm. Sobald ich mehr fonts brauche, werd ich bestimmt auch dieses Tool dafür noch verbessern.
Enthalten sind auch die Source-Codes, die den erstellten Font in Ihr Programm einbinden.
Für geübte FreeBasicer bestimmt kein Problem
euer Eastler _________________ Kaum macht mans richtig, schon geht's |
|
Nach oben |
|
 |
stevie1401
Anmeldungsdatum: 04.07.2006 Beiträge: 133
|
Verfasst am: 10.02.2007, 23:13 Titel: |
|
|
stevie1401 hat Folgendes geschrieben: | Ich habe mal ein Programm erstellt, mit dem man einfach Fonts für FB oder andere Basics erstellen kann.
Die Function ist einfach: Das Prog scannt die einzelnen Pixel der Buchstaben ein und schreibt die Werte in eine Datei.
Dazu habe ich in FB eine Routine geschrieben, die das ganze natürlich lesen und ausgeben kann.
Ich denke, ich habe es gut erklärt in einem Beispielprogramm.
Herunterladen könnt ihr es hier:
http://www.hundertdrei-allerlei.de/freebasic/FB_MakeFont.rar
Eine Bitte in eigener Sache:
Sollte ich mit diesem Programm gegen irgendwelche Lizenzen oder wasweissichdenn verstossen, so teilt mir das bitte mit.
Viel Spass damit
Euer Stevie1401 |
PS
Hier ein BeispielScreen
 |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
Andre
Anmeldungsdatum: 06.09.2006 Beiträge: 47
|
Verfasst am: 13.02.2007, 16:39 Titel: |
|
|
Da auf mein Beitrag nicht mehr geantwortet wurde, bin ich froh dies zu lesen und werde das mal heute abend testen ob ich das nun endlich hinbekomme! |
|
Nach oben |
|
 |
Andre
Anmeldungsdatum: 06.09.2006 Beiträge: 47
|
Verfasst am: 02.03.2007, 01:10 Titel: |
|
|
Also getestet hab ich das alles, gefunzt hat irgendwie nichts
gibt es nciht einen einfachen Quellcode wie ich eine ganz normale Font einladen kann und damm mit Draw wiedergebe? |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 02.03.2007, 04:36 Titel: |
|
|
Das Thema Font ist mindestens so weitreichend wie das Thema Sprite, es ist immer die Frage was hab ich damit vor, und wofür will ich das verwende, schon zu C64 hab ich mit dem Thema auseinander gesetzt und unendlich viele versuche und möglichkeiten zu geschreiben aber letzteendlich ist die Methode, eine Font-Grafik in einem Array bzw Buffer abzulegen und später auszulegen meist am schnellsten aber auch am einfachsten...
will mal versuchen aus meinen Archiven einiges raus zu schneiden und zu documentieren, scheint eine immer wieder beliebte Frage zu sein  _________________
 |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|