I rarely use a printer anymore, maybe once in the last year. I believe I ran this test on Mojave with Lazarus trunk in December last year (judging by the dates on the files) and it worked, but again only text.
procedure TForm1.TestButtonClick(Sender: TObject);
begin
Printer.Title := 'Test';
Printer.BeginDoc;
try
Printer.Canvas.Font.Name := 'Arial';
Printer.Canvas.Font.Size := 9;
Printer.Canvas.Font.Style := [];
Printer.Canvas.Pen.Color := clBlack;
Printer.Canvas.Pen.Width := 2;
Printer.Canvas.TextOut(150, 150, 'Test of printing function');
finally
Printer.EndDoc;
end;
end;
end.