![]() |
Erkennen des Schrifttyps
Hallo zusammen,
Ich möchte einen Text drehen, das mach ich wie folgt:
Delphi-Quellcode:
so jetzt hab ich das Problem, das dies nur mit bestimmten Schriftarten funtkioniert, also mit Truetype.
var
hCurFont: HFONT; LogFont: TLogFont; begin with Canvas do begin font:=fontz; hCurFont := Font.Handle; try GetObject(Font.Handle, SizeOf(LogFont), @LogFont); LogFont.lfEscapement := AAngle; LogFont.lfOrientation := AAngle; Font.Handle:= CreateFontIndirect(LogFont); try TextOut(X, Y, AText); finally DeleteObject(Font.Handle); end; finally Font.Handle := hCurFont; end; font:=fontz; end; Wie kann ich erkennen ob die gewählte Schriftart (darf der Anwender wählen) eine Truetype Schriftart ist um dann ein Drehen der Schrifft zu unterbinden wenns kein Truetype ist. Gruß Matthias PS: Das ganze auf ein Bitmap zeichnen und dann drehen, wies so mancher macht möcht ich nicht. |
Re: Erkennen des Schrifttyps
Hallo Matthias,
versuche es mit dieser Funktion:
Delphi-Quellcode:
Gruß Hawkeye
function IsTrueTypeFont (aFont: TFont): Boolean;
var DC : HDC; TM : TTextMetric; begin DC := CreateDC('DISPLAY', nil, nil, nil); try SelectObject(DC, aFont.Handle); GetTextMetrics(DC, TM); Result := ((TM.tmPitchAndFamily and TMPF_TRUETYPE) <> 0); finally DeleteDC(DC); end; end; |
Re: Erkennen des Schrifttyps
Oder gleich den TFontDialog so einstellen, dass nur TT-Schriftarten ausgewählt werden können.
|
Re: Erkennen des Schrifttyps
Hallo,
Danke für die Tips Ich benötige sämtliche Schriftarten und werd die funktion zur Prüfung einbauen. @Ydobon: Auch ein guter Gedanke, wüsste gar nicht das es diese Option gibt. Gruß Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 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