Typeface - Sprite-based Schrift-Include/Module

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: Include - Typeface, Sprite3D-Schrift (färbbar, biegbar,

Beitrag von True29 »

TOP ;)
i7,12gb ram , Windows 10 ,Purebasic 5.50
pforzheimer
Beiträge: 8
Registriert: 10.10.2008 01:28

Re: Include - Typeface, Sprite3D-Schrift (färbbar, biegbar,

Beitrag von pforzheimer »

Hallo STARGÅTE,
sieht sehr gut aus, das Ganze! Es "animiert" auch prima und sanft.

Womit hattest du die Dateien Tahoma.png und Tahoma.xml erstellt?
Das war ja vermutlich auch irgend ein netter kleiner Code, den du gern mit uns teilen darfst :)
Ich habe z.B. gesehen das es 330 KerningPairs in der Tahoma.xml gibt und ich vermute die sind nicht durch Ausprobieren entstanden?

Ich würde gern noch ein paar andere Fonts von Windows verwenden, z.B. Trebuchet MS (bold) der ist ziemlich gut für (grosse) Anzeigen auf dem Bildschirm, dann gern noch Arial (bold) und Times (bold).
Alternativ gingen natürlich auch andere (freie) Fonts, damit es keine rechtlichen Probleme gibt.

Mit ein paar Tipps und vielleicht deinem Code kann ich das gern erstellen und dann auch hier teilen.

Nochmal ein DANKE das du solche netten Sachen mit der PB-Welt teilst :allright:
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Include - Typeface, Sprite3D-Schrift (färbbar, biegbar,

Beitrag von STARGÅTE »

Hallo pforzheimer,

was hast du denn da für einen alten Thread ausgegraben :lol:.
Erst mal danke fürs testen/nutzen. Ich hatte ganz vergessen, dass es zu meiner Typeface-Include n Thread gab.
Die Kerningpaare lese ich über WinAPI aus: GetKerningPairs_()
Inzwischen hat sich das Include natürlich weiter entwickelt und es gibt auch einen Editor für Fonts.

Das neue Include müsste ich noch mal aufräumen bevor ich es hier wieder einstelle aber den Editor kann dir/euch geben.

http://www.unionbytes.de/downloads/TypefaceEditor.exe (veraltet)

Hinweis: Der Editor erstellt in der Registry einen Dateiendungseintrag für *.tf (Typeface), dem Dateiformat in dem meine Schriten gespeichert werden! Die kannst du mit den hier bereitgestellten Code noch nicht laden, aber du kannst Schriftarten auch (bei SaveAs) als XML+Image speichern (und auch laden).
Leider gibts keine Hilfe für den Editor. Darum hier ein paar Worte.
  • Im Hauptfenster kannst du unter File->Import TTF eine Schrift erstellen.
  • Es öffnet sich ein Fenster mit verschiedenen Einstellungsmöglichkeiten (mehr oder weniger selbsterklärend)
  • Du kannst da u.a. Unicode und Kerning ein und ausschalten
  • Im Hauptfenster sind dann alle Zeichen und Kerningpaare aufgelistet und können ggf. verändert werden.
Zuletzt geändert von STARGÅTE am 30.09.2018 17:25, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
pforzheimer
Beiträge: 8
Registriert: 10.10.2008 01:28

Re: Include - Typeface, Sprite3D-Schrift (färbbar, biegbar,

Beitrag von pforzheimer »

Hallo STARGÅTE,
danke für den Editor ich schaue mir das mal an...
Prima klappt, habe gerade TrebuchetMS.64.xml.png gespeichert.
Sowas ähnlich hatte ich auch schon selbst gemacht, allerdings nicht mit mit Sprites und auch nicht mit Kerning.

Ist die Typeface.pbi (12.07.2013) noch die aktuelle Version?
Den alten Thread hier habe ich folgendermaßen ausgegraben:
Ich war in einem anderen Thread, in dem du geschrieben hattest, habe auf "Klicke um ein Danke zu geben" geklickt, damit war ich auf der unionbytes.de Seite, habe dort bei Downloads "Typeface - Darstellung von Schrift mit DX9" gefunden, wo nichts zu sehen war, daraufhin hier im Forum gesucht und SCHON war ich hier :)

Aber ich kenne das von mir selbst, das man uralte Sachen schonmal vergisst, weil man nichts mehr weiter damit gemacht hat.
Oder gibt es Software von dir in dem die Typeface.pbi verwendet wird?

Grüsse aus Pforzheim

... und ich bin natürlich auch STARGÅTE Fan, einschliesslich Atlantis und SGU 8)
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Include - Typeface, Sprite3D-Schrift (färbbar, biegbar,

Beitrag von STARGÅTE »

Hallo Leute,

Dank pforzheimer habe ich mein Include auf den neusten Stand gebracht und u.a. ein Module erstellt.

Pure Basic Module: Typeface - Sprite basierte Engine zum Anzeigen von Texten mit Bitmap-Fonts

Direkt Download des Includes: Typeface.pbi (Version 1.4.2)
Download einer ZIP mit Include, Beispiel, zwei Schriften und dem Editor: Typeface_20180930.zip

Features des Includes:
  • Aufbau der Funktionen im "PB"-Standard (Benutzen von Kostanten oder #PB_Any, der ganze Kram halt^^)
  • Einladen von Bitmap-Fonts (XML oder TF)
  • Unicode und Kerning Unterstützung
  • Anzeige und Abmessung von Texten auf dem Screen
  • Ändern der Farbe und Deckkraft
  • Ändern der Größe, Rotation (auch "3D") und Biegung
  • Ausrichtung und Kursivität
  • Anzeige-Clipping und Word Wrap
Features des Editors:
  • Laden und Speichern von Bitmap-Fonts (XML oder TF)
  • Erstellen von Typefaces aus TTF-Fonts
  • Bearbeiten des Font-Images
  • Bearbeiten der Zeichen und Kerningpaare
Bild

Feedback ist erwünscht :) .
Zuletzt geändert von STARGÅTE am 30.09.2018 17:46, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Typeface - Sprite-based Schrift-Include/Module

Beitrag von ccode_new »

@STARGÅTE

Das ist total geil!

Wie kann man das "Character set" und "Zeichen" -Fenster wieder schließen ?

-> OK! Wie man das "Zeichen-" und "Unterscheidungspaar-" Fenster wieder schließen kann habe ich herausgefunden.
(Einfach auf den jeweiligen leeren Eintrag klicken.)
Es wäre aber auch toll wenn man das "Character set"-Fenster schließen könnte.

Man kann zwar über die mittlere Maustaste (Scrollrad) im "Character set"-Fenster navigieren, aber normale Scrollbalken wären auch schön.
Zuletzt geändert von ccode_new am 30.09.2018 18:38, insgesamt 3-mal geändert.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Typeface - Sprite-based Schrift-Include/Module

Beitrag von mk-soft »

Hi,
Unter Windows sieht es gut aus,
aber unter Linux und MacOS stimmt bei TypefaceRotation der Winkel von den einzelnen Buchstaben nicht.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Typeface - Sprite-based Schrift-Include/Module

Beitrag von RSBasic »

:allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Typeface - Sprite-based Schrift-Include/Module

Beitrag von STARGÅTE »

@mk-soft:

Ich weiß :cry: , liegt aber nicht "an mir":
[PB 5.22x86] TransformSprite() is acting strange
TransformSprite - OpenGL.

Ich habe schon verzweifelt nach einem möglichen Korrektur-Macro gesucht, aber Bug sitzt einfach zu tief.
Dieser Code machts etwas besser, aber nicht richtig, daher ist er noch nicht im Include:

Code: Alles auswählen

CompilerIf Subsystem("OpenGL")
	Procedure TransformSprite_OpenGL(sprite,x1.f,y1.f,z1.f,x2.f,y2.f,z2.f,x3.f,y3.f,z3.f,x4.f,y4.f,z4.f)
		Protected Shift.f = y1-y2 - 0.5*((y3-y2) - (y4-y1))
		TransformSprite(sprite,x1,y2+Shift,x2,y1+Shift,x3,y4+Shift,x4,y3+Shift)
	EndProcedure
	Macro TransformSprite(sprite,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4)
		TransformSprite_OpenGL(sprite,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4)
	EndMacro
CompilerEndIf
Vorallem die z-Parameter werden in OpenGL völlig ignoriert, damit sieht die Texture immer komisch aus.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Typeface - Sprite-based Schrift-Include/Module

Beitrag von ccode_new »

So! Dank dir bastele ich mir jetzt aus Bildern mit Zeichen meine eigenen xml-Fonts.

8)
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Antworten