Fonts mithilfe eines selbstprogrammierten Programms install.

Anfängerfragen zum Programmieren mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Als Datei im Programmverzeichnis ist er wohl auch eingeschränkt nutzbar
genau da ist die frage wie.
ich weiß, dass POV die verwendeten zeichensätze in seinem code-verzeichnis haben will, und nicht auf FONTS zugreift.
aber POV ist auch plattformübergreifend, gibts auch für UNIX und auf RISC-maschinen...

aber PB scheint ja DirectDraw zu benutzen.

hm... aber in der Linux-Version steht DrawText auch zur verfügung.

yo sakra... dann muss das doch auch gehen, ohne den zeichensatz in den FONTS-ordner zu packen. ò_ó
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Pustekuchen

Beitrag von Vermilion »

Mit Fehlermeldung war da eigentlich nix...
Da kam gar nichts, ich habe dem gesagt, er solls kopieren, kam aber nichts an.
Wenn ich dieses

Code: Alles auswählen

If CopyFile(blabla) = 0
mache, dann sagt er einfach null. Ansonsten passiert bei der Aktion nichts...
Entweder den Font als Resource in die Exe und von dort nutzen, ist die
sauberste Lösung, oder einen Installer benutzen.
WIe bettet man die denn ein?
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
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 »

>> WIe bettet man die denn ein?
Ein Resourcescript schreiben und dann in den Compileroptionen hinzufügen.

Ansonsten hab ich hier noch was gefunden:

Code: Alles auswählen

Procedure AddFont(FontFileName.s)
  AddFontResource_(FontFileName.s)
  SendMessage_(#HWND_BROADCAST,#WM_FONTCHANGE, #NUL, #NUL)
EndProcedure

Procedure RemoveFont(FontFileName.s)
  RemoveFontResource_(FontFileName.s)
EndProcedure
Also Font im Programmverzeichnis lassen, am Anfang laden mit AddFont,
danach die normalen PB Funktionen nutzen. Am Ende des Programms
wieder freigeben, mit RemoveFont.

Kanns aber nicht testen, hab keine unregistrierten Fonts, bzw. installiere fast
nie die Fonts von irgendwelchen Grafik-Programmen, friß unnötig Speicher
und verführt dazu sie zu nutzen in eigenen Programmen, wobei man sie ja
meist garnicht weitergeben darf :freak:

Wenns klappt kannste ja nochmal Bescheid sagen, würde mich auch
interessieren
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
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

...

Beitrag von Vermilion »

Also diese AddFont() Geschichte habe ich nicht begriffen (Auch getestet, so wie es dastand, habe natürlich einen Fontnamen eingesetzt)...
Von den Ressorcen Skripten habe ich absolut keine Ahnung, aber wie soll das in diesem Falle aussehen?

(*.rs oder was das war sind doch auch Textdateien wie *.pb, oder?)
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
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 »

>> habe natürlich einen Fontnamen eingesetzt)...
Keinen Fontnamen, sondern die Fontdatei mit Pfad.
Und danach normal verwenden, LoadFont(0, "meineblubberschrift")

Ich würde den Aufwand sowieso lassen, ich sehe lieber die Fonts, die ich in
der Systemsteuerung für Dialoge eingestellt habe und nicht die eines
Programmierers, die meist garnicht meinem Geschmack entsprechen.

Schöne Schriften sollte man eher in Bildern oder Druckausgaben verwenden.

Weitere Infos zu Fonts gibts hier:
http://msdn.microsoft.com/library/defau ... t_2ylq.asp
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
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

OK

Beitrag von Vermilion »

Ja, ok, mit Fontnamen meine ich Datei mit Pfad ("C:\Evanescent.ttf")

Und das mit dem LoadFont... :freak:

:D
Danke trotzdem!
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ts-soft hat geschrieben:Ich würde den Aufwand sowieso lassen, ich sehe lieber die Fonts, die ich in
der Systemsteuerung für Dialoge eingestellt habe und nicht die eines
Programmierers, die meist garnicht meinem Geschmack entsprechen.
für fenster-anwendungen geb ich dir recht.

für games in Full- oder WindowedScreen allerdings nicht.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Font.

Beitrag von Vermilion »

Nachtrag:

Es funktionert!! Cool, danke nochmal!

Übrigens, das war auch nur für ein Vollbild Spiel gedacht :wink:

In Fenster Applikationen sehe ich auch lieber die Klassiker der Schriften :mrgreen:
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
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 »

>> für games in Full- oder WindowedScreen allerdings nicht.
Hab ich auch so gemeint, nutze nunmal keine Spiele. Die sollten aber
trotzdem auf eine Installation des Fonts im System verzichten, sondern
entweder wie oben gezeigt, per AddFont, LoadFont, RemoveFont oder besser
Malen :lol:
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
Antworten