![]() |
Font/Schriftart in projekt einbinden
Hallo, ich hab da so ein programm im sinn, das eine spezielle schriftart verwendet. die ist nicht auf jedem rechner verfügbar und deshalb denk ich wird wohl ein standart eingestellt. Wie kann ich die schriftart in mein programm einbauen, sodass sie auf jedem rechner zumindest in diesem programm funktioniert.
|
Re: Font/Schriftart in projekt einbinden
Hi!
Unabhängig von der Methode des Einbindens würde ich lizenzrechtliche Bedenken einwerfen. Sehr viele Schriftarten sind geschützt. Sollte das bei dir zutreffen, würde ich vom Einbinden absehen. Denn das was eingebunden ist, kann man auch extrahieren, oder? Ciao, Frederic |
Re: Font/Schriftart in projekt einbinden
die rechtlichen bedenk lass mal meine bedenken sein. die schriftart ist aus einer öffentlichen quelle, kostenlos.
|
Re: Font/Schriftart in projekt einbinden
Es müsste reichen die Schriftart in den Programmordner zu kopieren. Vielleicht musst du es noch via Code laden. Ohne Gewähr. Extrahieren würde ich nicht empfehlen, da es viele nicht mögen, wenn etwas im system32-Verzeichniss verändert wird.
|
Re: Font/Schriftart in projekt einbinden
eigentlich wollte ich eine lösung mit einer art .res datei. das programm soll nur aus einer exe bestehen.
kann ich die schriftarten einfach so laden? nach dem motto Zitat:
|
Re: Font/Schriftart in projekt einbinden
Hallo,
wie wäre es damit: Du extrahierst den Font in eine temporäre Datei und registrierst ihn. Beim Beenden des Programms deregistrierst Du den Font wieder und löschst die Datei. Hier dazu ein paar Code-Schnipsel:
Delphi-Quellcode:
Das Extrahieren aus der Ressource und das Speichern in eine Datei fehlt hier, ist aber mit TRessourceStream recht einfach.
function GetTempFile: WideString; // Temporären Dateinamen erzeugen
var Buffer: WideString; begin SetLength(Buffer, MAX_PATH); GetTempPathW(MAX_PATH - 1, PWideChar(Buffer)); GetTempFileNameW(PWideChar(Buffer), '', 0, PWideChar(Buffer)); Result := PWideChar(Buffer); end; procedure AddFontRes(const FileName: WideString); begin AddFontResourceW(PWideChar(FileName)); // Font registrieren SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); // Alle benachrichtigen end; procedure RemoveFontRes(const FileName: WideString); begin if RemoveFontResourceW(PWideChar(FileName)) then // Font deregistrieren begin SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); // Alle benachrichtigen DeleteFileW(PWideChar(FileName)); // Font löschen end; end; Gruß xaromz |
Re: Font/Schriftart in projekt einbinden
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz