BlitzMax Font Tool
Übersicht

![]() |
Suco-XBetreff: BlitzMax Font Tool |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Hier möchte ich euch ein kleines Tool von mir vorstellen, den Fontextractor für BlitzMax. Links die Mac (Danke an Hamzta für das kompilieren) und rechts die Windows Version. ![]() Mit diesem Programm kann man Freetype Fonts (.ttf) laden und als Bild wieder abspeichern. Zuvor kann man noch eine beliebige Reihenfolge von Buchstaben angeben, die gespeichert werden sollen. Zu dem Bild wird noch eine Config Datei gespeichert, in der alle nötigen Daten wie Abstände und Größe gespeichert werden. Nachdem man einen Font als Bild gespeichert hat, kann man sein Grafikprogramm öffnen und allerlei Effekte hinzufügen. Hier ein kleines Beispiel für einige Fonts, die ich kurz erstellt habe und mit Photoshop bearbeitet habe. Als Ursprungsfonts mussten hier Comic Sans MS und Impact herhalten. ![]() Nachdem man sein Fontbild jetzt beliebig bearbeitet hat, kann man den Font wieder mit BlitzMax laden und mit den normalen Textbefehlen verwenden. Den Loader für die Fonts hat D-Bug freundlicherweise in sein Font Modul übernommen. Der Link zu dem Thread lautet https://www.blitzforum.de/foru...hp?t=20841 Das ganze hat den Vorteil, dass auch die meisten Freeware Grafikprogramme weit mehr Funktionen bereitstellen, als jeder Fontcreator, den man so im Netz findet und die Handhabung nach dem erneuten laden unterscheidet sich kaum von den normalen BlitzMax Imagefonts. Eine genauere Beschreibung findet sich in der readme.txt. Hier die Links. Benötigtes Font Modul von D-Bug https://www.blitzforum.de/foru...hp?t=20841 Mac version http://www.suco.colorflow.de/t...or_Mac.zip Windows Version http://www.suco.colorflow.de/t....0_Win.zip Einige Fonts zum testen inklusive Demo http://www.suco.colorflow.de/t...ofonts.zip Mfg Suco |
||
- Zuletzt bearbeitet von Suco-X am Fr, März 02, 2007 16:04, insgesamt 2-mal bearbeitet
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
5 kleine Anmerkungen.
A) Leider kann man keine 8pixel einstellen. Wäre für Nintendo DS schön gewesen. ![]() B) Das Programm speicher die Grafikdatei nicht korrekt ab, man muss die Endung *.PNG manuell anfügen (es sei denn das benutzte Prog erkennt es automatisch als PNG an was nicht alle tun) C) Die spek leigt nicht im Klartext vor. Eine xml Datei zb könnte man in jede Sprache einfügen. So muss ich mir die Abstände im Grafikprog selbst zusammensuchen. D) Das Prog sollte sich doch die Liste speichern sodas man nicht bei jedem Mal Kaffee trinken kann wenn die 320GB Platte durchgewühlt wird. E) Umlaute wie éàèöäü müssen manuell angehängt werden. Ansonsten sehr cool. cu |
||
![]() |
Phalastos |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Suco-X,
in keinem der erstellten Bilder ( *.png ) werden die Buchstaben angezeigt. Ich sehe nur weiße Rechtecke für jedes Zeichen. ![]() Gruß Alex |
||
Forbiddenmagic - Warfare of Forgotten Power |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist der 6 ste punkt. Programme die PNG nicht prinzipiel mit Alpha Channel laden oder es nicht können (zb proMotion), können das ganze nicht korrekt anzeigen.
Und der 7te und letzte. Wer nicht für PC arbeitet sollte das Tool nicht nutzen da es keineswegs mit Abständen arbeiten sondern alle Zeichen in ein Raster fügt. das Resultat ist Platzverschwendung da die Bilder grösser werden (bis zu 60%) als sie es eigentlich müssten. Bei Plattformen mit wenig Speicher tödlich. Fazit: Im Moment wirklich nur für Blitzmaxuser mit Photoshop interssant. Alle anderen nehmen Fonttwister und co. @Palastos. Nutze Photoshop oder Irvanview um das ganze umzuwandeln. Edit: Ich hoffe du bist nicht böse aber ich hab mich in letzter Zeit viel mit Text beschäftigt und weis wo es hackt. Zb wenn man die Hintergrundfarbe nicht definieren kann und die Palleten daher manuell umstellen muss. ![]() cu |
||
![]() |
Suco-XBetreff: .... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
@Phalastos: Siehe Abrexxes. Mal schauen ob sich weitere Formate lohnen. @Abrexxes: Zu deinen Punkten Zitat: A) Leider kann man keine 8pixel einstellen. Wäre für Nintendo DS schön gewesen. Stimmt. Da ich es eigentlich für BlitzMax gedacht habe, fand ich eine Größe unter 16 nicht sinnvoll, da zu klein um was ordentliches zu produzieren. Aber in der config.txt habe ich die MÖglichkeit offen gelassen, dass der User es Manuell umstellen kann (Siehe fontminmax Schlüsselwort) Zitat: B) Das Programm speicher die Grafikdatei nicht korrekt ab, man muss die Endung *.PNG manuell anfügen (es sei denn das benutzte Prog erkennt es automatisch als PNG an was nicht alle tun) Ich verstehe nicht ganz. Nachdem man einen Pfad zum speichern gewählt hat, wird der Anhang entfernt und immer .png beigefügt. Bitte da um genauere Beschreibung des Problems. Zitat: C) Die spek leigt nicht im Klartext vor. Eine xml Datei zb könnte man in jede Sprache einfügen. So muss ich mir die Abstände im Grafikprog selbst zusammensuchen. Mit Spek meinst du den Aufbau des Formats der Config Dateien? Zitat: D) Das Prog sollte sich doch die Liste speichern sodas man nicht bei jedem Mal Kaffee trinken kann wenn die 320GB Platte durchgewühlt wird. Ist was dran. Mal schauen. Zitat: E) Umlaute wie éàèöäü müssen manuell angehängt werden. Manuell wo angehängt werden? Zur Not kannst du noch dein eigenes Charset in der Charset.txt definieren, falls du die Buchstaben häufiger brauchst. Die Fonts müssen die Buchstaben natürlich auch unterstützen. Zu Punkt 6: Mein Fehler. Wußte nicht, dass es heutzutage noch Programme gibt/verwendet werden, die mit dem PNG Format nicht umgehen können. Ein Bmp-Saver wäre wohl noch sinnvoll. Punkt 7: Dieses Fontsystem war von anfang an nicht für den Handheld gedacht. Da müsste man natürlich anders vorgehen und die Qualität hätte sowieso eine andere Dimension. Danke für deine Anregungen, werde sehen, was sich da machen lässt. Mfg |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
B) Wenn ich als Dateiname "Test" angebe dann wird auch nur eine Datei namens "Test" gespeichert. Ich muss dann noch die Datei in Text.png umbennenen je nach Grafikprog.
c) Ich meine damit die genaue Position der Chars in der Grafik. Hier ein Beispiel: Code: [AUSKLAPPEN] <?xml version="1.0" ?> <Font image="font.png" lineHeight="15" offset="-5"> <Character code="0" x="2" y="0" w="10" h="25" /> <Character code="1" x="17" y="0" w="10" h="25" /> <Character code="2" x="32" y="0" w="10" h="25" /> <Character code="3" x="47" y="0" w="10" h="25" /> <Character code="4" x="62" y="0" w="10" h="25" /> <Character code="5" x="77" y="0" w="10" h="25" /> <Character code="6" x="92" y="0" w="10" h="25" /> <Character code="7" x="107" y="0" w="10" h="25" /> <Character code="8" x="122" y="0" w="10" h="25" /> <Character code="9" x="135" y="0" w="66" h="25" /> <Character code="10" x="201" y="0" w="6" h="25" /> <Character code="11" x="209" y="0" w="10" h="25" /> <Character code="12" x="224" y="0" w="10" h="25" /> <Character code="13" x="237" y="0" w="6" h="25" /> ***gekürzt*** <Character code="235" x="339" y="138" w="8" h="25" /> <Character code="236" x="352" y="138" w="5" h="25" /> <Character code="237" x="363" y="138" w="5" h="25" /> <Character code="238" x="373" y="138" w="5" h="25" /> <Character code="239" x="382" y="138" w="7" h="25" /> <Character code="240" x="393" y="138" w="9" h="25" /> <Character code="241" x="408" y="138" w="8" h="25" /> <Character code="242" x="423" y="138" w="9" h="25" /> <Character code="243" x="438" y="138" w="9" h="25" /> <Character code="244" x="453" y="138" w="9" h="25" /> <Character code="245" x="468" y="138" w="9" h="25" /> <Character code="246" x="483" y="138" w="9" h="25" /> <Character code="247" x="497" y="138" w="9" h="25" /> <Character code="248" x="4" y="161" w="9" h="25" /> <Character code="249" x="19" y="161" w="8" h="25" /> <Character code="250" x="34" y="161" w="8" h="25" /> <Character code="251" x="49" y="161" w="8" h="25" /> <Character code="252" x="64" y="161" w="8" h="25" /> <Character code="253" x="78" y="161" w="9" h="25" /> <Character code="254" x="93" y="161" w="9" h="25" /> <Character code="255" x="107" y="161" w="9" h="25" /> </Font> So kann die Fläche millimetergenau und korrekt genutzt werden, egal welche futuristischen annormalen Ausmasse die Buchstaben haben. Auch das einfügen von Extrachars ist kein Problem. Wenn du die Grafik hierzu willst sagt bescheid. (Wenn du nicht weist was ich meine. Zu jeder Grafik gehört dann diese XML Spezifikation die dem Programm genau mitteilt was Sache ist. E) abaja. Her mit der config. ![]() Zu 6. Ja gibt es, zb http://www.cosmigo.com/promotion/ Das macht auch Sinn da die Zielplattformen das nicht unterstützen (was das einbinden der Medeindaten angeht, Transparenz ist natürlich möglich). Hier leigt der Schwerpunkt auf Platzoptimierung und der einbinden von Paletten was 16/24 bit ausschliest. Wer nur 4MB Ram hat muss da haushalten. ![]() 7 Aktuelle Tfts haben auch beim Handheld einen guten Kontrast was bei gutem Farbmanagment saubere Resultate erziehlt. Aber ich kann die config nutzen. Ich hatte das übersehen. Den Hintergrund konnte ich mir nun auch mit der config kompatibilisieren *g* cu |
||
![]() |
PlasmaBetreff: hmm |
![]() Antworten mit Zitat ![]() |
---|---|---|
die endung .png kommt nicht wenn mann nur den namen einsetzt.
meine erstellten fonts.png sind entweder zerstümmelt oder leer aber die demo font.png's werden richtig angezeigt |
||
- Zuletzt bearbeitet von Plasma am Sa, Feb 03, 2007 3:23, insgesamt einmal bearbeitet
![]() |
Suco-XBetreff: ...... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Zitat: B) Wenn ich als Dateiname "Test" angebe dann wird auch nur eine Datei namens "Test" gespeichert. Ich muss dann noch die Datei in Text.png umbennenen je nach Grafikprog. Wenn du es Manuell ins Feld eingibst, dann wird da nichts angehängt, wohl wahr. Wieso sollte auch jemand auf den Requester verzichten! Zu C Ich denke mal, wir reden hier ein wenig aneinander vorbei. Zuerst einmal habe ich die Fonts für BlitzMax konzipiert, also Texturen. Deswegen müssen die einzelnen Felder eine quadratische (8, 16, 32, 64 usw.) Größe haben, damit es beim Laden weder Geschwindigkeits noch Grafikkarten bedingte Probleme gibt. Wären die Fonts für BlitzBasic oder deine Handhelds gedacht, hätte ich den Platz natürlich besser genutzt. Die Position der Chars sind immer mittig der Felder. In der Config speichere ich dann den Wert, der danach wieder abgezogen werden muss von dieser Position und den Advance Wert, der für die Abstände der Buchstaben gedacht ist. Deswegen verstehe ich dein Anliegen mit dem xml Zeug ja nicht, da es doch wesentlich wahrscheinlicher sein wird, dass die Sprache XYZ Dateibefehle beherrscht, als das sie einen xml Parser besitzt. Zu E) War Punkt E nicht der Punkt mit der Charset.txt? Was genau meinst du mit Config? Zu 6) Wie der Titel ja schon sagt, habe ich mir als Zielplattform den PC und BlitzMax ausgesucht. Zu 7) Wie gesagt, ist wegen der Ausrichtung auf eine Engine mit Textursystem nicht für einen Handheld geeignet. Falls du dennoch Interesse hast, tft Fonts zu rippen, kann ich dir gerne den Code schicken. Mfg |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was du oben siehst wird auch mit der SDL und Extensions in OpenGL benutzt. Das Problem betrifft nur sie Ausgangdatei und da bist du bereits falsch. Diese Karten werden nämlich auch bei 320 und 640 in denn Softwaremodus schalten. Diese Karten erlauben nur 8,16,32,64,128,256,512,1024 Pixel. Mit "mittig" zeichnen hat das nichts zu tun sondern nur wie die Grafiken als komplette Texturen im Speicher organisiert werden. ![]() Sollte das Problem sich wirklich so bei Blitzmax abpielen das hat Sibly Mist gebaut. Mit Extensions hat das was du da machst nichts zu tun und würde so nicht funktionieren. E) korrekt. Ich kann das in der config nach meine Wunsch regeln. 7) Nicht nötig aber danke. Insofern reicht es mir wenn dein Tool die Schriften abspeichert. Die Bearbeitung selbst läuft immer über mein Grafikprogramm. Das kostet mich zwar manchmal 3 Stunden, dafür hab ich später kompletten Zugriff auf jeden Pixel was manchmal bei 8 oder 12 nicht unwichtig ist da man optimieren muss/kann. Die Resultate von generiertem Material ist da was Farbverläufe angeht manchmal mehr als dürftig. cu |
||
![]() |
Phalastos |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Abrexxes + Suco-X
![]() Übrigens hab ich das Bild aus Irfanview heraus gemacht. ![]() |
||
Forbiddenmagic - Warfare of Forgotten Power |
![]() |
PlasmaBetreff: jo |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie oben siehts bei mir auch aus | ||
![]() |
Suco-XBetreff: ..... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Ich bräuchte mal von einem von euch beiden eine unveränderte, mit dem Tool erstellte PNG Datei. Nur, damit ich das Problem einordnen kann. Danke. Mfg |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Phalastos hat Folgendes geschrieben: @Abrexxes + Suco-X
[Übrigens hab ich das Bild aus Irfanview heraus gemacht. ![]() Ich habe vorgestern die aktuellste Version von I installiert. Funzt einwandfrei. (3.99). Alte konnten das nicht alle . Das Problem war mir bekannt, ich weis aber nicht ab welcher Version das behoben wurde. cu |
||
![]() |
Phalastos |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um den Fehler zu Fixen muß man das Bild solarisieren.
Ich denke mal intern wird das PNG mit der flaschen Solarisation erstellt. |
||
Forbiddenmagic - Warfare of Forgotten Power |
![]() |
Suco-XBetreff: .... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Abend.
Das Problem habe ich heute soweit gefunden und bin gerade an der Lösung dran. Das Problem war, dass die Daten der Fonts aus einer ttf Datei nicht als Farbwert sondern als Alpha Intensität vorliegen (Pixmap Format PF_A8). Deswegen können, wie schon von Abrexxes erwähnte, wohl doch mehr Programme als ich dachte nicht mit diesen Daten im PNG Format umgehen(Entweder ist es dann Schwarz oder ganze weiß). Ob die Programme, die damit nicht umgehen können, überhaupt das Know How besitzen, die Fonts ordentlich berarbeiten zu können, sei mal dahingestellt. Wenn die Fonts überhaupt nicht angezeigt werden, liegt das wahrscheinlich am Hintergrund. Die Buchstaben sind weiß und die meisten Hintergründe auch. Deswegen sieht man wie z.b. im FireFox nichts von den Buchstaben, wenn eine unbearbeitete PNG Datei angezeigt werden soll. Ich habe mir auch mal IrfanView runtergeladen und da zeigt er die Fonts korrekt an, auch den, den du mir geschickt hast, Phalastos. Jetzt zur Lösung. Für diejenigen, die kein Programm besitzen (Hat eigentlich jemand Erfahrung mit Gimp oder sonstigen Freeware Programmen?), das mit dem PNG Format umgehen kann, kann ich nur eine Speicherfunktion für Bitmaps einbauen. Da leidet aber die Qualität minimal drunter, da es keine Smoothen Ränder gibt. Ein Update gibt es dann so schnell wie möglich. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Phalastos |
![]() Antworten mit Zitat ![]() |
---|---|---|
Morgen Suco,
ich habe tatsächlich nur IrfanView 3.98 im Einsatz. Und mein Zeichenprogramm ist auch nicht mehr das aktuellste Werkzeug. ( PaintShopPro 7 ) ![]() Generell können beide Tool jegliche Bildformate ( auch PNG ) sehr gut verarbeiten. Ich würde wirklich annehmen, daß Dein erzeugtes PNG nicht zu hundertprozent den Spezifikationen entspricht? Gruß Alex |
||
Forbiddenmagic - Warfare of Forgotten Power |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Phalastos.
PaintShopPro X hat keine Probleme (Hab die Demo getestet) Suco übertreibt da etwas. So wichtig war dieses Feature von png bisher nicht. Es entspricht aber dem Standard für PNG. Nur die aktuellsten Versionen (auch gimp) kommen damit klar. Und Programme die das nicht laden können trotzdem sehr wohl mit Fonts umgehen. ![]() Alte Progs könnten zb die Würfel hier nicht korrekt darstellen. http://de.wikipedia.org/wiki/P...k_Graphics Zitat: PNG-Dateien können Transparenzinformationen enthalten, entweder in Form eines Alphakanals oder für jede Farbe der Farbpalette. Ein Alphakanal ist eine zusätzliche Information, die für jedes Pixel angibt, wie viel vom Hintergrund des Bildes durchscheinen soll
cu |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier noch der Unterschied zwischen einem Prog das es kann (Irvan3.99) und einem das es nicht kann (Paint)
http://www.abrexxes.palib.info/stuff/testi.PNG cu |
||
![]() |
Phalastos |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da hast Du recht Abrexxes, denn dieses Feature hat selbst mein angestaubtes PainShopPro7.
Dennoch wird auch in PaintShopPro7 das Bild erst nach einer Solarisation korrekt angezeigt. @Suco Alternativ solltest Du das TGA Format anbieten, welches auch einen 8 Bit Alphakanal unterstützt. |
||
Forbiddenmagic - Warfare of Forgotten Power |
![]() |
Suco-XBetreff: ..... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Ich habe jetzt eine neue Version mit neuen Formaten. https://www.blitzforum.de/upload/file.php?id=1111 Dafür wird allerdings auch die neue Version vom bmpfont Modul benötigt, war dort halt auch das meiste auf PNG ausgelegt. Sorry für die Umstände. https://www.blitzforum.de/foru...hp?t=20841 Die neue Version speichert die Fonts jetzt wahlweise als png, tga, bmp oder jpg Datei. Nach meinen Tests ist das bmp Format das einzige, das in Paint, IrfanView und Photoshop gleich angezeigt wird. Die TGA Datei zeigt IrfanView komischerweise verstümmelt an und Pohotshop korrekt, paint unterstützt es erst garnicht. Keine Ahnung wie es mit Painshop ausschaut. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group