Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

Ermitteln ob Schrift eine TrueType-Schrift ist

  Alt 23. Sep 2004, 18:36
ich hoff mal ich bin in der richtigen Kategorie. Hab mal wieder was für die Codelib da ich auf der suche nach der Lösung für mein Problem in der DP nicht fündig gewurden bin... Hier der Source
Delphi-Quellcode:
function IsTrueType(DC: HDC): Boolean; overload;
var
  LMetric: TTextMetric;
begin
  GetTextMetrics(DC, LMetric);
  result := LMetric.tmPitchAndFamily and TMPF_TRUETYPE <> 0;
end;

function IsTrueType(AFontname: String): Boolean;
var
  LBmp: TBitmap;
begin
  LBmp := TBitmap.Create;
  LBmp.Canvas.Font.Name := AFontname;
  result := IsTrueType(LBmp.Canvas.Handle);
  LBmp.Free;
end;
ich benutze TBitmap und nicht direct TCanvas da sonst die Meldung kommt das nicht darauf gezeichnet werden.

shmia hat noch eine andere Möglichkeit:
Delphi-Quellcode:
function IsTrueType(DC: HDC): Boolean; overload;
var
  LMetric: TTextMetric;
begin
  GetTextMetrics(DC, LMetric);
  result := LMetric.tmPitchAndFamily and TMPF_TRUETYPE <> 0;
end;

function IsTrueType(const AFontname: String): Boolean; overload;
var
  canvas: TCanvas;
begin
  canvas := TCanvas.Create;
  canvas.Handle := GetDC(GetDesktopWindow); // Desktop
  Canvas.Font.Name := AFontname;
  result := IsTrueType(Canvas.Handle);
  canvas.Free;
end;
[edit=Chakotay1308]SourceCode angefügt. Mfg, Chakotay1308[/edit]
[edit=Matze]Code formatiert. Mfg, Matze[/edit]
[edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat