Systemfremde Fonts verwenden
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
Systemfremde Fonts verwenden
Hallo zusammen,
mir fehlt mal wieder ein Stueck Film! Ich moechte in meiner Application (Win/Linux)
einen (freien) ttf-Font nutzen, der dem System _unbekannt_ ist, aber von mir mitgeliefert wird.
Wie binde ich den Font (die Fontfiles) in die Application ein? Wann/wie und wo bzw. muss ich
den/die Font(s) initialisieren?
Ich moechte diese Schrift nicht ins System integrieren!
Schoenen Ostermontag noch und besten Dank!
MfG mori
mir fehlt mal wieder ein Stueck Film! Ich moechte in meiner Application (Win/Linux)
einen (freien) ttf-Font nutzen, der dem System _unbekannt_ ist, aber von mir mitgeliefert wird.
Wie binde ich den Font (die Fontfiles) in die Application ein? Wann/wie und wo bzw. muss ich
den/die Font(s) initialisieren?
Ich moechte diese Schrift nicht ins System integrieren!
Schoenen Ostermontag noch und besten Dank!
MfG mori
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Scheint so:
http://www.linux-user.de/ausgabe/2005/0 ... index.html" onclick="window.open(this.href);return false;Eine neue Truetype-Schrift ACID.TTF installieren Sie in im privaten Font-Verzeichnis folgendermaßen:
cd
cp ACID.TTF .fonts
cd .fonts
fc-cache
Der Befehl fc-cache, im Font-Verzeichnis ausgeführt. aktualisiert bei laufender X-Oberfläche die Cache-Datei im aktuellen Verzeichnis. Nun können Sie die Schrift AcidBath in alle Gnome-Anwendungen nutzen.
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Ich denke schon. Damit
http://www.webpagepublicity.com/free-fo ... tripez.ttf" onclick="window.open(this.href);return false;
hab ichs probiert.
Edit:
Denn Font konnte ich gleich danach in KWord benutzen.
Fc-chache o.ä. war nicht nötig(KDE).
http://www.webpagepublicity.com/free-fo ... tripez.ttf" onclick="window.open(this.href);return false;
hab ichs probiert.
Edit:
Denn Font konnte ich gleich danach in KWord benutzen.
Fc-chache o.ä. war nicht nötig(KDE).
-
- Beiträge: 214
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Systemfremde Fonts verwenden
Sorry, dass ich diesen scheinbar veralteten Beitrag nochmals öffne.
Der Fragesteller wollte damals wissen, wie man Systemfremde Fonts mit Lazarus verwenden kann ohne sie vorher installieren zu müssen.
Für Linux-Anwender gab es jede Menge Erklärungen dazu, für mich als Windows Anwender/Programmierer war die Antwort "musst die Fonts nach C:\windows\Fonts kopieren glaub ich" nicht sehr überzeugend.
Lazarus kann unter WIN10 nicht einfach mit
einen Font kopieren, wegen mangelnder Zugriffsrechte auf dieses SystemVerzeichnis.
Auch ein direktes Kopieren im DOS-Fenster mit
scheitert an den Zugriffsrechten.
Die Delphi-Beispiele halfen mir weiter und letztendlich hat Folgendes unter Lazarus zum Erfolg geführt:
Nur für den Fall, dass es jemanden noch interessiert.
Viele Grüße
Fritz
Der Fragesteller wollte damals wissen, wie man Systemfremde Fonts mit Lazarus verwenden kann ohne sie vorher installieren zu müssen.
Für Linux-Anwender gab es jede Menge Erklärungen dazu, für mich als Windows Anwender/Programmierer war die Antwort "musst die Fonts nach C:\windows\Fonts kopieren glaub ich" nicht sehr überzeugend.
Lazarus kann unter WIN10 nicht einfach mit
Code: Alles auswählen
copyFile('MeinFont.ttf','C:\windows\fonts\MeinFont.ttf,true);'
Auch ein direktes Kopieren im DOS-Fenster mit
Code: Alles auswählen
copy MeinFont.ttf c:\windows\fonts\MeinFont.TTF
Die Delphi-Beispiele halfen mir weiter und letztendlich hat Folgendes unter Lazarus zum Erfolg geführt:
Code: Alles auswählen
program project1;
{$mode delphi}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces,
Forms, Unit1,
SysUtils,
jwawinGDI // <-- wichtig;
{$R *.res}
var
sFontFile : String;
begin
sFontFile := 'Zebra Ztripez.ttf';
If FileExists(sFontFile) Then
AddFontResourceEx(PChar(sFontFile), FR_PRIVATE, 0);
RequireDerivedFormResource:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Viele Grüße
Fritz