BlitzMax Font Tool

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Suco-X

Betreff: BlitzMax Font Tool

BeitragFr, Feb 02, 2007 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

user posted image

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.

user posted image

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

BeitragSa, Feb 03, 2007 1:15
Antworten mit Zitat
Benutzer-Profile anzeigen
5 kleine Anmerkungen.

A) Leider kann man keine 8pixel einstellen. Wäre für Nintendo DS schön gewesen. Crying or Very sad

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

BeitragSa, Feb 03, 2007 1:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Suco-X,

in keinem der erstellten Bilder ( *.png ) werden die Buchstaben angezeigt.
Ich sehe nur weiße Rechtecke für jedes Zeichen. Sad

Gruß

Alex
Forbiddenmagic - Warfare of Forgotten Power

Abrexxes

BeitragSa, Feb 03, 2007 1:25
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Wink (Begrenze die Suche doch manuell auf den Windows Ordner oder auf Ordnersuche definieren

cu

Suco-X

Betreff: ....

BeitragSa, Feb 03, 2007 2:08
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Feb 03, 2007 2:51
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Smile

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. Wink Aber bmp wäre ein sauberer Kompromiss da diese Progs alle 16/24bit Daten beim laden optimieren.

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

Plasma

Betreff: hmm

BeitragSa, Feb 03, 2007 3:09
Antworten mit Zitat
Benutzer-Profile anzeigen
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-X

Betreff: ......

BeitragSa, Feb 03, 2007 3:22
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Feb 03, 2007 6:39
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Wink Und da ändert sich durch die XML nichts. Nur das halt zb eine Grafikk von 160*80 künstlich für diese uralte Problem auf 256*256 aufgeblasen werden muss.

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

BeitragSa, Feb 03, 2007 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
@Abrexxes + Suco-X

user posted image

Übrigens hab ich das Bild aus Irfanview heraus gemacht. Smile
Forbiddenmagic - Warfare of Forgotten Power

Plasma

Betreff: jo

BeitragSa, Feb 03, 2007 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
wie oben siehts bei mir auch aus

Suco-X

Betreff: .....

BeitragSa, Feb 03, 2007 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Feb 03, 2007 23:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Phalastos hat Folgendes geschrieben:
@Abrexxes + Suco-X

[Übrigens hab ich das Bild aus Irfanview heraus gemacht. Smile


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

BeitragSo, Feb 04, 2007 1:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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-X

Betreff: ....

BeitragSo, Feb 04, 2007 2:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Feb 04, 2007 10:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Morgen Suco,

ich habe tatsächlich nur IrfanView 3.98 im Einsatz.
Und mein Zeichenprogramm ist auch nicht mehr das aktuellste Werkzeug. ( PaintShopPro 7 ) Smile
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

BeitragSo, Feb 04, 2007 10:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Wink PNG wurde ursprünglich sogar darauf hin entwickelt, um ohne Verluste mit allen Alphainfos zu arbeiten. jpg kann das nämlich nicht.

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

BeitragSo, Feb 04, 2007 10:48
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Feb 04, 2007 11:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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-X

Betreff: .....

BeitragSo, Feb 04, 2007 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group