Printer.Fonts

Verweis:
Uses: Printers
Eingabe: Nichts
Ausgabe: unterstützte Schriftarten (Stringlist)
Funktion: Gibt eine Liste aller vom angewählten Drucker unterstützten Schriftarten wieder.

Beispiel 1

Bereiten Sie eine neue IDE Anwendung wie in dieser Anleitung printer4lazarus-installation gezeigt, vor. Zusätzlich benötigen Sie noch Folgende Komponenten:
TButton
TListBox

procedure TForm1.Button1Click(Sender: TObject);
begin
  //Listet alle vom Drucker unterstützten Fonts auf.
  //Bei neuen und virtuellen Druckern sind das alle auf dem System
  //installierten Fonts
  listbox1.Items := Printer.Fonts;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  //Teste ob Benutzer was angewählt hat
  if listbox1.SelCount=1 then
  begin
    with printer do
    begin
      BeginDoc;
      //Wähle die Schrift die in der Box gewählt wurde
      canvas.Font.Name:=Listbox1.GetSelectedText;
      canvas.Font.Size := 20;
      Canvas.TextOut(20, 20, 'Hallo');
      endDoc;
    end;
  end;
end;

In dem Beispiel wird die Methode, Fonts gut deutlich. Es handelt sich hier um eine nur Lese-Methode. Das bedeutet das ich hierüber keine Namen vorgeben kann. Das macht auch Sinn da hier die Installierten Schriftarten abgefragt werden. Da der Rückgabe wert eine Stringlist ist, kann man diese Stringlist Prima in einer Listbox ausgeben. Die haben wir hier in Beispiel 1 gemacht. Nun können wir nach dem Betätigen des Buttons die unterstützte Schriftarten sehen. Je, mehr Schriftarten Sie installiert haben, um so länger dauert der Prozess des Auflistens. Nun könne sie durch den Klick auf eine Schriftartnamen die Schriftart wählen. Mit der Methode “GetSelectedText” wird der angewählte Text als Schriftart ausgewählt. Mit “listbox1.SelCount=1” gehen wir sicher, dass wir nur einen Eintrag für die Schriftartauswahl infrage kommt.

Lazarus Printer.Fonts Schriftarteliste
Printer.Fonts gibt eine Schriftarteliste zurück.