Bitmap Fontsystem (Editor, Include, Fonts und Beispiele)

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Bitmap Fontsystem (Editor, Include, Fonts und Beispiele)

Beitrag von Lebostein »

Hallo PB-Freunde,

ich darf euch heute mein Bitmap-Fontsystem präsentieren, das ich schon seit längerem in Spielen und Anwendungen verwende und das nun endlich einen Editor bekommen hat. Mit dem beigefügten Editor lassen sich, basierend auf einer einfachen Bitmap und einem aufgelegten Raster, ASCII-Codes zuweisen, Buchstaben und Zeilenabstände festlegen, eine transparente und eine veränderliche Farbe auswählen usw. Der Editor verfügt nebenbei über allerlei Hilfsfunktionen wie automatische Zeichenbreitenermittlung, Änderung der Bitmapgröße durch Beschneiden und Hinzufügen von Pixelreihen sowie eine automatische Optimierung der Rastergröße. Der Font kann in Echtzeit ausprobiert werden, alle Änderungen werden im Beispielfenster sofort sichtbar. Hier ein Screenshot:

Bild

Herzstück des Fontsystems ist eine kleine und sehr simple Include-Datei, mit der man die bearbeiteten Fonts in beliebigen PB-Programmen und Spielen einladen und anzeigen lassen kann. Die Textausgabe erfolgt über eine Koordinate und eine Ausrichtung in horizontaler Richtung (linksbündig, zentriert oder rechtsbündig) sowie eine Ausrichtung in vertikaler Richtung (obenbündig, zentriert oder untenbündig). Zeilenumbrüche mit dem ASCII-Code 13 (Return) werden bei der Ausgabe berücksichtigt, so dass zum Beispiel ganze Textblöcke ausgerichtet dargestellt werden können (siehe Beispiele 'Example1.pb' und 'Example2.pb'). Jedem Font kann eine veränderliche Farbe zugewiesen werden, die zur Laufzeit beliebig verändert werden kann.

Mit dem Editor (+Quellcode) und der Include habe ich außerdem noch 28 Fonts mit reingepackt. Die Fonts stammen zum größten Teil aus Adventure- und anderen Spielen, aus dem Internet oder sind selbstgemacht. Ich kann nicht garantieren, dass die Verwendung der beigefügten Fonts ohne Verletzung irgendwelcher Copyrights geschieht, also bitte die Fonts nur zu Testzwecken verwenden.

Hier der Downloadlink zur aktuellen Version des Fontsystems:

http://www.purearea.net/pb/showcase/show.php?id=165

Viel Spaß damit!

Euer Lebostein


PS: Wer noch irgendwelche schöne Bitmap-Fonts bei sich rumliegen hat, kann sie mir ja schicken. Ich würde eine kleine Sammel-Datenbank mit den Fonts einrichten und sie zum Download anbieten, so eine Art Fundgrube für Bitmap-Fonts.
Zuletzt geändert von Lebostein am 18.03.2005 15:42, insgesamt 6-mal geändert.
Benutzeravatar
Dostej
Beiträge: 529
Registriert: 01.10.2004 10:02
Kontaktdaten:

Beitrag von Dostej »

Wow - find ich cool.... so was hab ich schon länger gesucht. Das einzige was ich bisher gefunden hatte, war ne pseudokommerzielle form mit ziemlich vielen Bugs... praktisch unbrauchbar...

das sieht gut aus.. werd ich mal testen
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Beitrag von SoS »

einfach nur klasse :allright:
Dagegen kommt mir mein Fontkonverter wie eine Lachnummer vor :mrgreen:
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

:allright: Spitzenteil
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

:D Danke!

Hab die Include noch beschleunigt, alle ASC(), MID() und RED(), GREEN() und BLUE() Befehle sind entfernt und durch schnellere Berechnungen ersetzt worden...
Zuletzt geändert von Lebostein am 10.03.2005 15:12, insgesamt 1-mal geändert.
Benutzeravatar
benny
Beiträge: 383
Registriert: 29.08.2004 09:18
Wohnort: Am Ende des www's
Kontaktdaten:

Beitrag von benny »

@Lebostein:

Habe mir Dein Prog eben mal runtergeladen und es kurz überflogen.
Sieht wirklich astrein aus :allright: Also - RESPEKT - von meiner Seite.


Solltest Du noch Bitmap-Font-Quellen suchen, so kannst Du Dir ja mal
folgenden Link anschauen :

http://cgi.algonet.se/htbin/cgiwrap?use ... t=fonts.pl

Dort gibt es über 300 (!) Bitmap-Fonts. Überwiegend gerippt aus
Amiga-Demos / Games (also Vorsicht zwecks Lizenzen/Copyright usw.)

Hier mal zwei Beispielfonts:

Bild

Bild
So long,
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

@benny: Vielen Dank für den interessanten Link! Sind ein paar schöne Dinger dabei....
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Update!

Hier die überarbeitete Version. Folgende Neuerungen im Editor:

- durch den Einbau von ScrollAreaGadgets sind nun beliebig große Fonts editierbar (max. 1280 x 1280 Pixel... wer mehr braucht: Source anpassen)
- freie Auswahl des Zoomlevels zwischen 2x und 8x im Buchstabenfenster
- Erstellen eines Bitmapfonts aus einer beliebigen Windows-Schriftart (vorläufige Variante)
- Die veränderliche Vordergrundfarbe eines Fonts kann nun abgeschaltet werden (siehe unten)
- programminterne Unstimmigkeiten beseitigt
- 4 neue Großbuchstaben-Fonts hinzugefügt (Danke @benny)

Änderungen in der Include:

Durch das Abschalten der Vordergrundfarbe (zum Beispiel bei bunten Fonts) werden nun nicht mehr standardmäßig 2 Sprites pro Font reserviert (das spart Videospeicher). Nur wenn die Vordergrundfarbe aktiv ist, wird ein Mirror-Sprite für den Farbwechsel angelegt. Der Farbparameter der Funktion 'FontMapOutput()' hat im Falle abgeschalteter Vordergrundfarbe keine Bedeutung.

PS: Das Font-Format hat sich nicht geändert. Alle bisherigen Fonts können geladen werden.
Zuletzt geändert von Lebostein am 18.03.2005 15:43, insgesamt 1-mal geändert.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Hmm... genau das gibts zwar schon lange(mit 255 Zeichen oder 128 Zeichen wählbar), aber was solls, danke.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

DarkDragon hat geschrieben:Hmm... genau das gibts zwar schon lange(mit 255 Zeichen oder 128 Zeichen wählbar), aber was solls, danke.
Meinst du damit das Erstellen eines Fonts aus einer TTF-Schriftart? Das hab ich nur vorläufig 'so zum Spaß an der Freude' mit eingebaut. Da gibt es sicher bessere Programme, da geb ich dir recht. Derzeit ist es nur ein stumpfes Schreiben von Buchstaben auf ein Image, d.h ich öffne die TTF nicht binär sondern nutze ein paar einfache PB-Drawing Funktionen. Vielleicht bastel ich da noch ein wenig dran, aber es ist nur eine Zusatzfunktion, die eigentlich nichts mit dem Sinn meines Programmes zu tun hat.
Antworten