BMP Fonts erstellen/benutzen
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
BMP Fonts erstellen/benutzen
Hallo,
schon längere zeit suche ich nach einer Möglichkeit BMP-Fonts zu Erstellen
Bisher noch kein erfolgt, Grund: Da ich immer wieder Probleme habe eine Schrift art zu finden die keine Probleme mit Umlauten und den Schrift Stylen hat, wollte ich eine eigene kleine Schrift Engine basteln... ist ja auch nicht so aufwendig.... für Delphi habe ich mal sowas im ansatzt gemacht...
Mir geht es eigentlich nur darum eine Einfache BMP Datei zu haben wo jedes Zeichen drin ist... was auf eine Deutschen Tastertur zu sehen ist....mehr nicht....
Den Rest habe ich mir schon genau überlegt: ich muss den gewünschten Buchstaben ja nur finden das ist kein Problem und dann einfärben in die gewünschte Farbe.
schon längere zeit suche ich nach einer Möglichkeit BMP-Fonts zu Erstellen
Bisher noch kein erfolgt, Grund: Da ich immer wieder Probleme habe eine Schrift art zu finden die keine Probleme mit Umlauten und den Schrift Stylen hat, wollte ich eine eigene kleine Schrift Engine basteln... ist ja auch nicht so aufwendig.... für Delphi habe ich mal sowas im ansatzt gemacht...
Mir geht es eigentlich nur darum eine Einfache BMP Datei zu haben wo jedes Zeichen drin ist... was auf eine Deutschen Tastertur zu sehen ist....mehr nicht....
Den Rest habe ich mir schon genau überlegt: ich muss den gewünschten Buchstaben ja nur finden das ist kein Problem und dann einfärben in die gewünschte Farbe.
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Das ich mich jedes mal Ärgere das ich 1000 und mehr Schrift Dateien habe aber die Hälfte können keine Umlaute anzeigen bzw. wenn sie es doch können werden fett,kusif und soweiter nicht unterstützt... ich habe zwar jetzt eine gefunden, aber das ist trotzdem doof und durch gestrichen klappt sowieso nicht...
Ich habe einfach keine lust mehr mich über dieses Problem zu Ärgern darum möchte ich diese Font Engine schreiben.
Ich habe einfach keine lust mehr mich über dieses Problem zu Ärgern darum möchte ich diese Font Engine schreiben.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Bleiben immer noch 500 über oder ?das ich 1000 und mehr Schrift Dateien habe aber die Hälfte können keine Umlaute anzeigen bzw. wenn sie es doch können werden fett,kusif und soweiter nicht unterstützt
Und die Zeichen auf ne Bitmap malen dürftest selbst du mit Lazarus hinbekommen.
Wo ist also das Problem ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Das habe ich doch schon beschrieben, lese doch bitte mal meine Antworten:
Es gibt leider nur wenig Schrift Arten die ich unter Lazarus zur Verfügung stehen, die Umlaute Anzeigen können und gleichzeitig mit den Schrift Stylen klar kommen.
Unter OpenOffice ist das kein Problem. Aber unter Lazarus !
z.b. kann keine Schrift Art Durchgestrichen.
Aber meine Frage lautete meine ich auch anders:
Kennt jemand von euch ein Programm mit den ich unter Linux(Ubuntu) BMP Fonts erstellen kann.
Bzw. kennt jemand eine Seite wo ich mir Font Schrift Arten im BMP oder einem anderen Grafik Format runter laden kann:
Es gibt leider nur wenig Schrift Arten die ich unter Lazarus zur Verfügung stehen, die Umlaute Anzeigen können und gleichzeitig mit den Schrift Stylen klar kommen.
Unter OpenOffice ist das kein Problem. Aber unter Lazarus !
z.b. kann keine Schrift Art Durchgestrichen.
Aber meine Frage lautete meine ich auch anders:
Kennt jemand von euch ein Programm mit den ich unter Linux(Ubuntu) BMP Fonts erstellen kann.
Bzw. kennt jemand eine Seite wo ich mir Font Schrift Arten im BMP oder einem anderen Grafik Format runter laden kann:
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Ja alles klar, ich weiß bescheid.... ihr versteht mich nicht was ich meine... naja ich weiß nicht wie ich das anders beschreiben soll.... Notfalls muss ich eine Windows Schrift Art nehmen... mir ein kleines Delphi Programm schreiben das mir den Kompleten Zeichen Satzt z.b. von Ariel(heißt die so?) in eine bmp packt.... mehr möchte ich doch gar nicht... und dann eine kleine Klasse dazu schreiben, die damit umgehen kann.
D.h.: Zeichnen sowas wie TextOut.... das ist nicht weiter aufwendig... was mir noch unklar ist sind die TextStyle: Bold, Kusif.... Unterstriechen ist wieder klar und durchgestriechen auch...
das einfärben dürfte einfach und schnell gehen bei solchen kleinen Grafiken...
Ich könnte die einzelnen Zeichnen ja auf 5*5 verkleinern... und dann werden die mit StrechBitblt vergrößert so ähnlich habe ich das schonmal gemacht.
Weil ich hasse das: Es gibt für jede x-bliebige Sprache eine schrift bei mir Unter Ubuntu, aber die Brauche ich nicht.... die ich brauche haben Fehler oder die muss ich mir aufwendig suchen....
Ich habe das gefühl das das Schrift System unter Windows ausgereifter ist..... Aber evlt. kommt das ja noch... bei Lazarus bzw. Linux...
D.h.: Zeichnen sowas wie TextOut.... das ist nicht weiter aufwendig... was mir noch unklar ist sind die TextStyle: Bold, Kusif.... Unterstriechen ist wieder klar und durchgestriechen auch...
das einfärben dürfte einfach und schnell gehen bei solchen kleinen Grafiken...
Ich könnte die einzelnen Zeichnen ja auf 5*5 verkleinern... und dann werden die mit StrechBitblt vergrößert so ähnlich habe ich das schonmal gemacht.
Weil ich hasse das: Es gibt für jede x-bliebige Sprache eine schrift bei mir Unter Ubuntu, aber die Brauche ich nicht.... die ich brauche haben Fehler oder die muss ich mir aufwendig suchen....
Ich habe das gefühl das das Schrift System unter Windows ausgereifter ist..... Aber evlt. kommt das ja noch... bei Lazarus bzw. Linux...
MFG
Michael Springwald
Michael Springwald
- af0815
- Lazarusforum e. V.
- Beiträge: 6856
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Nicht plutonisch komaptibel SCNRtheo hat geschrieben:Was ist denn genau dein Problem? Welche "Fehler" haben die denn ??pluto hat geschrieben: Weil ich hasse das: Es gibt für jede x-bliebige Sprache eine schrift bei mir Unter Ubuntu, aber die Brauche ich nicht.... die ich brauche haben Fehler oder die muss ich mir aufwendig suchen....
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- af0815
- Lazarusforum e. V.
- Beiträge: 6856
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Zumindest die anderen 500 nichttheo hat geschrieben:Aha, du meinst sie unterstützen nicht den vollständigen Zeichensatz von
plu_TO ISO-4242-42 ?
Liegt da das Problem?

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
@Pluto: Ich kann dir ein Windows-programm dazu per Email schicken.
Kommt aus dem Entwickler-Kit Reality Factory für 3d-Spiele. Aber wie kommst du nur auf solche Probleme? Unter Windows funktionieren die Schriftarten problemlos. Unter Linux müssten zumindest die Gegenstücke zu Arial, Times New Roman und Verdana korrekt arbeiten.
Ansonsten die zeichen 1-255 in Normal, Fett, Kursiv in eine BMP-Datei
tun. Durchgestrichen und Unterstrichen bekommt man das noch.
Allerdings für hochgestellt, tiefgestellt, Kapitälchen sehe ich schwarz.
Verschiedene Schriftgrößen stellen dann aber auch Probleme dar... Größe
10-72 in eine BMP wird lustig; 8 MB and continiously swapping. ;P
Bei nem 3D-Spiel reicht eben eine Font in einer Größe.
Du muss doch eine Font haben, die dir gerecht wird?
Kommt aus dem Entwickler-Kit Reality Factory für 3d-Spiele. Aber wie kommst du nur auf solche Probleme? Unter Windows funktionieren die Schriftarten problemlos. Unter Linux müssten zumindest die Gegenstücke zu Arial, Times New Roman und Verdana korrekt arbeiten.
Ansonsten die zeichen 1-255 in Normal, Fett, Kursiv in eine BMP-Datei
tun. Durchgestrichen und Unterstrichen bekommt man das noch.
Allerdings für hochgestellt, tiefgestellt, Kapitälchen sehe ich schwarz.
Verschiedene Schriftgrößen stellen dann aber auch Probleme dar... Größe
10-72 in eine BMP wird lustig; 8 MB and continiously swapping. ;P
Bei nem 3D-Spiel reicht eben eine Font in einer Größe.
Du muss doch eine Font haben, die dir gerecht wird?
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
@Antrepolit
Danke ! Der erste der sich mit dem Problem befasst nach ca 10 Beiträgen...
Wenn ich das da hin schreibe dann geht es einiger Maßen. Was ich nur schade finde es: Das Durchgestriechen nicht unterstützt wird... oder klappt das bei euch?
kann mir jemand die Parameter von den Code oben erklären ? und was die ganze ** bedeuten ?
ich möchte am liebsten nur 1-255 Zeichen in eine BMP und nur einmal der Rest soll Dynamisch passieren... machen das die Schrift Dateien unter Windows/Linux genau so ?
und einfärben wollte ich in etwa so:
if bmp.pixels[x,y] = clblack then pixels[x,y]:=clred
aber nur die kleiner Version... also vor dem Vergrößern....
ich weiß nur nicht wie die Schrift Style funktnieren... also wie ich ein normales Zeichen in Fett da stellen kann oder halt leicht gekipt für Kusif und so
Und eigene Zeichnen möchte ich auch nicht... eine Idee dazu hätte ich zwar auch:
Ein einfaches Programm was ein Raster zeichnet was eingestellt werden kann also wie groß das Raster ist z.b. dachte ich an 8*8 dann sollte alles verößert da gestellt werden sagen wir 2000% dann kann man jeden Buchstaben gut bearbeiten und dafür sorgen das sie in das Schrift Bild passen letztendlich muss ich dann nur noch die Pixel einzelnen setzten...
oder übersehe ich was ? das einzigste Problem ist das Vergrößerte Da stellen, gespeichert werden sollen die Grafiken in 8*8 Kleiner Grafiken in einer PNG Datei, aber zum bearbeiten währe das viel zu klein oder ? und ich möchte auch nicht die gesammte Grafik verößern sondern nur den Buchstaben wo ich gerade bin...
Also ich würde gerne Folgende Style unterstützen, wenn mir dazu jemand von euch einige Tipps fürs zeichnen geben könnte, währe das toooooooooolllllllllllll:
Fett
Kusif
Unterstriechen(einmal)
Unterstriechen(Zeimal)
Doppeltdurchgestriechen(einmal)
Doppeltdurchgestriechen(zweimal)
Einfärben, Vergrößeren
Alle Buchstaben sollen geordnet in einer einzigen Grafik Datei z.b. png(müsste doch ein freies Format sein oder ?)
Jetzt gibt es eine Text Datei wo die Buchstaben so drinen stehen wie sie auf dem Bild zu sehen sind.
Diese Text Datei wird "Kompliert" die Einzelnen Buchstaben kommen in so einer Liste
a
b
c
d
e
A
B
C
D
"
§
$
%
nur mit solchen Zeichen wie " % die Frage ist nur wie man die leicht wieder findet...
Naja diese liste wird in einer ObjectListe eingelesen und wird ein Buchstabe gebraucht ist es relativ leicht in zu finden:
großes A fängt z.b. bei 0 an ich brauche ein großes C also weiß ich das es bei 2 anfängt... dann habe ich die genauen Positionen für den Buchstaben C.
und mit den kleinen und mit den Zahlen geht das genauso
nur mit diesen anderen Zeichnen gibt es Probleme....
Daraus wollte ich eine Procedure schreiben wie Textout von Canvas und eine erweitere wie TextRect und dann noch einige erweiterte... ich hoffe das Prinzip ist klar....
Was haltet ihr davon ?
ist bis jetzt nur eine Idee, aber das "Verlangen" danach wird immer größer....
Am besten währe es natürlich glaube ich, wenn die buchstaben in SVG Format vorliegen würde, da währe es um einiges leichter sie dynamisch zu bearbeiten, aber halt auch langsamer oder ?
Danke ! Der erste der sich mit dem Problem befasst nach ca 10 Beiträgen...
Danke ! Das wusste ich noch nicht... Muss ich mal schauen ob ich die auch unter Lazarus habe.Arial, Times New Roman und Verdana
Code: Alles auswählen
Font.Name:='-bitstream-courier 10 pitch-medium-r-normal-*-*-140-*-*-*-*-iso10646-1';
kann mir jemand die Parameter von den Code oben erklären ? und was die ganze ** bedeuten ?
Naja geht das auch für 2D Spiele ?für 3d-Spiele
Genau das möchte ich nicht.Ansonsten die zeichen 1-255 in Normal, Fett, Kursiv in eine BMP-Datei
tun.
ich möchte am liebsten nur 1-255 Zeichen in eine BMP und nur einmal der Rest soll Dynamisch passieren... machen das die Schrift Dateien unter Windows/Linux genau so ?
Eigentlich nicht. ich muss ja nur die Gewünschte Buchstabe aus der Grafik Holen und als einzelne BMP Bilder per stre...bitblt vergrößern bzw. verkleinern. weißt du wie ich meine ?Verschiedene Schriftgrößen stellen dann aber auch Probleme dar
und einfärben wollte ich in etwa so:
if bmp.pixels[x,y] = clblack then pixels[x,y]:=clred
aber nur die kleiner Version... also vor dem Vergrößern....
ich weiß nur nicht wie die Schrift Style funktnieren... also wie ich ein normales Zeichen in Fett da stellen kann oder halt leicht gekipt für Kusif und so
Naja bis her habe ich noch keinen gefunden. der Oben gepostet Code klappt zwar, aber gefallen tut sie mir nicht....Du muss doch eine Font haben, die dir gerecht wird?
Und eigene Zeichnen möchte ich auch nicht... eine Idee dazu hätte ich zwar auch:
Ein einfaches Programm was ein Raster zeichnet was eingestellt werden kann also wie groß das Raster ist z.b. dachte ich an 8*8 dann sollte alles verößert da gestellt werden sagen wir 2000% dann kann man jeden Buchstaben gut bearbeiten und dafür sorgen das sie in das Schrift Bild passen letztendlich muss ich dann nur noch die Pixel einzelnen setzten...
oder übersehe ich was ? das einzigste Problem ist das Vergrößerte Da stellen, gespeichert werden sollen die Grafiken in 8*8 Kleiner Grafiken in einer PNG Datei, aber zum bearbeiten währe das viel zu klein oder ? und ich möchte auch nicht die gesammte Grafik verößern sondern nur den Buchstaben wo ich gerade bin...
Also ich würde gerne Folgende Style unterstützen, wenn mir dazu jemand von euch einige Tipps fürs zeichnen geben könnte, währe das toooooooooolllllllllllll:
Fett
Kusif
Unterstriechen(einmal)
Unterstriechen(Zeimal)
Doppeltdurchgestriechen(einmal)
Doppeltdurchgestriechen(zweimal)
Einfärben, Vergrößeren
Alle Buchstaben sollen geordnet in einer einzigen Grafik Datei z.b. png(müsste doch ein freies Format sein oder ?)
Jetzt gibt es eine Text Datei wo die Buchstaben so drinen stehen wie sie auf dem Bild zu sehen sind.
Diese Text Datei wird "Kompliert" die Einzelnen Buchstaben kommen in so einer Liste
a
b
c
d
e
A
B
C
D
"
§
$
%
nur mit solchen Zeichen wie " % die Frage ist nur wie man die leicht wieder findet...
Naja diese liste wird in einer ObjectListe eingelesen und wird ein Buchstabe gebraucht ist es relativ leicht in zu finden:
großes A fängt z.b. bei 0 an ich brauche ein großes C also weiß ich das es bei 2 anfängt... dann habe ich die genauen Positionen für den Buchstaben C.
und mit den kleinen und mit den Zahlen geht das genauso
nur mit diesen anderen Zeichnen gibt es Probleme....
Daraus wollte ich eine Procedure schreiben wie Textout von Canvas und eine erweitere wie TextRect und dann noch einige erweiterte... ich hoffe das Prinzip ist klar....
Was haltet ihr davon ?
ist bis jetzt nur eine Idee, aber das "Verlangen" danach wird immer größer....

Am besten währe es natürlich glaube ich, wenn die buchstaben in SVG Format vorliegen würde, da währe es um einiges leichter sie dynamisch zu bearbeiten, aber halt auch langsamer oder ?
MFG
Michael Springwald
Michael Springwald