AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schriftart mitliefern?

Ein Thema von TheAn00bis · begonnen am 6. Jan 2006 · letzter Beitrag vom 7. Jan 2006
Antwort Antwort
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#1

Schriftart mitliefern?

  Alt 6. Jan 2006, 12:22
Hey,

ich will einem dynamisch erstellten Editfeld eine nicht-standard Schriftart geben.
D. h. eine, die höchstwahrscheinlich nicht auf den Rechnern installiert ist, auf
denen das Programm ausgeführt wird. Wie liefere ich die jetzt mit?

Suche ergibt entweder nichts oder ich suche falsch...
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Schriftart mitliefern?

  Alt 6. Jan 2006, 12:24
hi,

einfach die schriftartendatei mitliefern und bei bedarf in den "fonts"-ordner kopieren (edit: aber urheberrecht beachten!)
ob man schriftarten nutzen kann, ohne sie zu installieren, kann ich dir leider nicht sagen.

aeno
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#3

Re: Schriftart mitliefern?

  Alt 6. Jan 2006, 12:26
Ich weiß nicht, ob ich das noch richtig im Kopf habe, aber reicht es nicht, die Font im selben Ordner wie die Echse liegen zu haben?

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#4

Re: Schriftart mitliefern?

  Alt 6. Jan 2006, 12:33
Zitat von Aenogym:
hi,

einfach die schriftartendatei mitliefern und bei bedarf in den "fonts"-ordner kopieren (edit: aber urheberrecht beachten!)
ob man schriftarten nutzen kann, ohne sie zu installieren, kann ich dir leider nicht sagen.

aeno
Fände ich unschön, da es mir als Anwender nicht gefallen würde, wenn da jemand einfach neue Schriftarten hinzufügen würde.

Zitat von Airblader:
Ich weiß nicht, ob ich das noch richtig im Kopf habe, aber reicht es nicht, die Font im selben Ordner wie die Echse liegen zu haben?

air
Nein, gerade eben ausprobiert. Wie sieht es mit Ressource-Dateien aus?

Edit: Hab doch einen Beitrag mit folgendem ink gefunden: http://www.ensacom.de/index.php?s=sd...jleebb8o3ri6d6

Hat sich also erledigt.
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#5

Re: Schriftart mitliefern?

  Alt 6. Jan 2006, 13:14
Eine Frage hätte ich doch noch:

Wenn ich jetzt statt einer Schriftart mehrere einfügen will, kann ich dann in die myfont.rc einfach mehrere Schriftarten reinschreiben? Also z.B.:

Zitat:
MY_FONT fontname1 "fontname1.ttf"
MY_FONT1 fontname2 "fontname2.TTF"
MY_FONT2 fontname3 "fontname3.TTF"
MY_FONT3 fontname4 "fontname4.ttf"

Die brrcc32.exe hat beim compilieren keinen Fehler gemeldet, allerdings weiß ich nicht, was ich jetzt statt:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
 res : TResourceStream;
begin
 res := TResourceStream.Create(hInstance, 'My_FONT', Pchar('SMILLY'));
 res.SaveToFile('SMILLY.ttf');
 res.Free;
 AddFontResource(PChar('SMILLY.ttf'));
 SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;
[von hier]

schreiben muss.

Muss ich das dann 4mal aufrufen, mit

'My_Font' ersetzt durch MyFont1, MyFont2, MyFont3 und Myfont4? (und natürlich den Namen noch...)

?

Oder brauche ich für jede Schriftart eine eigene Datei?
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#6

Re: Schriftart mitliefern?

  Alt 6. Jan 2006, 18:46
Mit einer Schleife.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  Res : TResourceStream;
  f : Cardinal;
begin
  for f := 1 to 4 do
  begin
    Res := TResourceStream.Create(hInstance, 'ResFont' + IntToStr(f), PChar('RF' + IntToStr(f)));
    Res.SaveToFile('TmpFont' + IntToStr(f)' + .ttf');
    FreeAndNil(Res);
    AddFontResource(PChar('TmpFont' + IntToStr(f) + '.ttf'));
  end;
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;
Zitat:
ResFont1 RF1 "font1.ttf"
ResFont2 RF2 "font2.ttf"
ResFont3 RF3 "font3.ttf"
ResFont4 RF4 "font4.ttf"
So sollte die Ressourcen-Datei aussehen. Nur "fontname" sollte angepasst werden, damit es funktioniert. Ein Tipp: Es reicht, diese Datei (mit der Endung .rc) zum Projekt hinzuzufügen, das Kompilieren übernimmt Delphi automatisch! Dann wird auch die Zeile "{$R MyFont.res} //das einfügen" nicht benötigt.

Beim Beenden:
Delphi-Quellcode:
for f := 1 to 4 do
begin
  RemoveFontResource(PChar('TmpFont' + IntToStr(f) + '.ttf'));
end;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#7

Re: Schriftart mitliefern?

  Alt 7. Jan 2006, 10:56
Vielen Dank, hat funktioniert!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz