Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Eigenen Font gestalten

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 09.02.2007, 16:49    Titel: Eigenen Font gestalten Antworten mit Zitat

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 grinsen , 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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
stevie1401



Anmeldungsdatum: 04.07.2006
Beiträge: 133

BeitragVerfasst am: 10.02.2007, 21:37    Titel: Antworten mit Zitat

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 lächeln

Euer Stevie1401
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Eastler_dart



Anmeldungsdatum: 25.09.2005
Beiträge: 177
Wohnort: Baden-Würtemberg + Sachsen

BeitragVerfasst am: 10.02.2007, 23:00    Titel: Antworten mit Zitat

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 zwinkern

euer Eastler
_________________
Kaum macht mans richtig, schon geht's
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger
stevie1401



Anmeldungsdatum: 04.07.2006
Beiträge: 133

BeitragVerfasst am: 10.02.2007, 23:13    Titel: Antworten mit Zitat

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 lächeln

Euer Stevie1401


PS
Hier ein BeispielScreen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 11.02.2007, 00:24    Titel: Antworten mit Zitat

Schaut gut aus! lächeln Gefällt mir...
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Andre



Anmeldungsdatum: 06.09.2006
Beiträge: 47

BeitragVerfasst am: 13.02.2007, 16:39    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Andre



Anmeldungsdatum: 06.09.2006
Beiträge: 47

BeitragVerfasst am: 02.03.2007, 01:10    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 02.03.2007, 04:36    Titel: Antworten mit Zitat

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 zwinkern
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz