Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Was passiert, wenn Schriftart nicht vorhanden ist? (https://www.delphipraxis.net/179816-passiert-wenn-schriftart-nicht-vorhanden-ist.html)

mkinzler 4. Apr 2014 10:48

AW: Was passiert, wenn Schriftart nicht vorhanden ist?
 
Er meint, wenn die Standardschriften von Windows fehlen

greenmile 4. Apr 2014 11:03

AW: Was passiert, wenn Schriftart nicht vorhanden ist?
 
Ach so, ok

Popov 4. Apr 2014 11:54

AW: Was passiert, wenn Schriftart nicht vorhanden ist?
 
Zitat:

Zitat von greenmile (Beitrag 1254595)
Hallo,

ich habe die Frage ja schon an anderer Stelle gestellt, leider ohne Antwort. Wenn ich mein Projekt auf die Schrift "Segoe UI 9 pt" umstelle und auf dem Zielsystem diese Schriftart nicht existiert, was passiert dann? Gibt es einen "Plan B", also sowas wie "Screen.AltFont := "?

Jajn. Ich hab das mal schon durchgespielt, weil ich es auch brauchte. Die Standardschrift ist "MS Sans Serif". Gibst du den Namen einer Schrift die es nicht gibt, wird erst einmal die letzte gültige Schrift genommen.

Allerdings mit diesem Verhalten (zumindest bei mir bisher): ist am Anfang "MS Sans Serif" eingestellt und du gibst "" ein, wird "MS Sans Serif" genommen. Gibst du "Blabla" (also eine Schrift die es nicht gibt) wird, zumindest bei XP, Tahoma genommen. Das ist die Standardschrift die eingestellt ist. Ist eine andere eingestellt, wird vermutlich die genommen. Gibst du noch mal "", bleibt es bei Tahoma. Gibt man nach Tahoma "Times New Roman" ein und dann "Blabla", bleibt Times New Roman", als letzte funktionierende Schrift.

Willst du die Möglichkeiten von HTML, also Alternativschriften, ich benutze schon lange (gelegentlich in abgewandelter Form) so eine Prozedur:
Delphi-Quellcode:
procedure SetFont(Font: TFont);
const
  FontList: array[0..3] of String = ('Segoe UI', 'Courier New', 'Times New Roman', 'Arial1');
var
  i: Integer;
begin
  for i := Low(FontList) to High(FontList) do
    if Screen.Fonts.IndexOf(FontList[i]) > -1 then
    begin
      Font.Name := FontList[i];
      Break;
    end;
end;
Ist die erste Schrift nicht vorhanden, wird die zweite genommen, usw.

CocoPops 4. Apr 2014 13:13

AW: Was passiert, wenn Schriftart nicht vorhanden ist?
 
Zitat:

und auf dem Zielsystem diese Schriftart nicht existiert, was passiert dann? Gibt es einen "Plan B", also sowas wie "Screen.AltFont := "?
Die selbe Frage habe ich mir gestern auch gestellt und es getestet.

Ich meine es war die Schriftart Consolas mit Windows 7. (MEIN) Windows XP hat diese Schriftart nicht also wurde Lucida Console genommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.
Seite 2 von 2     12   

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