Font mitliefern - muss der immer ins Windows-Font-Dir?
Font mitliefern - muss der immer ins Windows-Font-Dir?
Hallo,
in einem Spiel soll ein eigener Font verwendet werden...
Sehe ich das richtig, dass ich mittels LoadFont() nur installierte
Fonts im Windows-Fonts-Ordner laden kann und nicht z.B. einen
Font der im gleichen Ordner wie das Spiel liegt?
Bleibt also nur übrig den Font vor Spielstart ins Font-Verzeichnis
zu kopieren oder eine Bitmap-Text-Variante zu schreiben?
in einem Spiel soll ein eigener Font verwendet werden...
Sehe ich das richtig, dass ich mittels LoadFont() nur installierte
Fonts im Windows-Fonts-Ordner laden kann und nicht z.B. einen
Font der im gleichen Ordner wie das Spiel liegt?
Bleibt also nur übrig den Font vor Spielstart ins Font-Verzeichnis
zu kopieren oder eine Bitmap-Text-Variante zu schreiben?
PB 6.21 | Win 11
ts-soft hat hier eine lösung vorgeschlagen, die zu funktionieren scheinte
http://www.purebasic.fr/german/viewtopi ... n&start=10
http://www.purebasic.fr/german/viewtopi ... n&start=10
Demzufolge so anwenden?
Also Add/Remove immer mit .ttf?
Code: Alles auswählen
AddFont("Fontname.ttf")
LoadFont(0,"Fontname",6)
RemoveFont("Fontname.ttf")
PB 6.21 | Win 11
ja, wenn die procedures vorher deklariert wurden, oder halt so
wobei z.b.
FontFileName.s="Fontname.ttf"
sein könnte
Code: Alles auswählen
AddFontResource_(FontFileName.s)
SendMessage_(#HWND_BROADCAST,#WM_FONTCHANGE, #NUL, #NUL)
LoadFont(0,"Fontname",6)
RemoveFontResource_(FontFileName.s)
FontFileName.s="Fontname.ttf"
sein könnte
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> eine Bitmap-Text-Variante zu schreiben
ist eine durchaus zu empfehlende lösung, da du volle farbanzahl im selben buchstaben benutzen kannst.
eine .ttf wird immer einfarbig sein, außer du trickst rum.
(z.b. den text negativ in ein image oder sprite schreiben,
nen farbverlauf mit Line() und die textmaske drüberziehen)
aber mit ner bitmap font hast du halt wirklich viel mehr möglichkeiten.
ist eine durchaus zu empfehlende lösung, da du volle farbanzahl im selben buchstaben benutzen kannst.
eine .ttf wird immer einfarbig sein, außer du trickst rum.
(z.b. den text negativ in ein image oder sprite schreiben,
nen farbverlauf mit Line() und die textmaske drüberziehen)
aber mit ner bitmap font hast du halt wirklich viel mehr möglichkeiten.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
In diesem Falle reichen mir einfarbige Fonts aus, allerdings würde man sich mit der Bitmap-Variante auch noch einiges Bytes sparen und die obigen Proceduren...
BitmapFontBMP = 1 KB, Fontfile = 50 KB
Sprites sind sowieso schneller als DrawText usw.
Und in die Bitmap brauch ich nur die Buchstaben einbauen, die ich wirklich benötige...
BitmapFontBMP = 1 KB, Fontfile = 50 KB
Sprites sind sowieso schneller als DrawText usw.
Und in die Bitmap brauch ich nur die Buchstaben einbauen, die ich wirklich benötige...
PB 6.21 | Win 11
Oder man kann sogar benutezrdefinierte Sonderzeichen einfügen. Wenn es in dem SPiel z. B. Geld gibt, und die Geldeinheit mit einem anderen Zeichen als € $ oder Yen dargestellt werden soll.
Ich erinnere an die Schriftart(en) Webdings und Symbol.
Ich erinnere an die Schriftart(en) Webdings und Symbol.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Und in die Bitmap brauch ich nur die Buchstaben einbauen, die ich wirklich benötige...
yup, ganz genau.
> Oder man kann sogar benutezrdefinierte Sonderzeichen einfügen.
das kommt noch dazu.
außerdem kannst du auf demselben screen verschieden große / verschieden
geformte Texte darstellen, und greifst stets nur auf den Sprite speicher zu.
du brauchst nicht zwischen 3 verschiedenen schriftarten umschalten,
vorher sicherstellen, dass die vorhanden sind, und dann auch noch start/stop-drawing...
> Sprites sind sowieso schneller als DrawText usw.
genau.
PS:
und du kannst sie selber erstellen und brauchst niemals copyright bedenken haben.
yup, ganz genau.
> Oder man kann sogar benutezrdefinierte Sonderzeichen einfügen.
das kommt noch dazu.
außerdem kannst du auf demselben screen verschieden große / verschieden
geformte Texte darstellen, und greifst stets nur auf den Sprite speicher zu.
du brauchst nicht zwischen 3 verschiedenen schriftarten umschalten,
vorher sicherstellen, dass die vorhanden sind, und dann auch noch start/stop-drawing...
> Sprites sind sowieso schneller als DrawText usw.
genau.
PS:
und du kannst sie selber erstellen und brauchst niemals copyright bedenken haben.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.