Einen Unterschied gibt es definitiv.
Am Ende wird in der
VCL eine notmale "alte" TPrinter-Instanz verwendet und dort mittels
TextOutA der Text auf das Canvas gezeichnet.
FMX nutzt da stattdessen Printer.Canvas.FillText, was natürlich in einem mehrfach wild verschachtelten TPrinter des FMX liegt und das da wie genau abläuft wollte ich jetzt nicht versuchen nachzuvollziehen.
Ich würde hier eventuell empfehlen eine Zugriffskomponente dieses Druckerherstellers zu verwenden, wo die Komponente dann überall gleich ist (im Windows, aber egal ob FMX oder
VCL).
Pssst, auch wenn es böse ist, aber versucht im FMX doch einfach dennoch den
VCL-TPrinter zu nutzen, wenn der FMX kaputt kaputt ist.
VCL geht da einfach direkt und ohne größere Umwege auf die
WinAPI.