Perlsau hat folgendes geschrieben : |
Welche Fonts sollte man denn sonst erhalten, wenn man Printer.Fonts abruft?
|
Alle Fonts, die printer.canvas benutzen kann. Das sind alle unter win installierten Fonts sowie die im Drucker (nach Meinung des Treibers) installierten Fonts. Dazu muß der Drucker weder am PC angeschlossen sein noch (zum evtl. antworten) eingeschaltet sein. Diese Information bezieht Win aus dem Treiber.
Win entscheidet beim Ausführen der canvas dann, ob ein Font nur in Win existiert und sendet dann Pixel, oder ob ein Font auf dem Drucker selbst installiert ist, und sendet dann Commands. Bis Win 3x war in den Fontlisten (z.B. für das Schriftsetzen in einem Editor) noch ein Druckersymbol vor dem Schriftnamen (statt TT oder Adobe-Symbol).
Zitat: |
Übrigens glaube ich nicht, daß in Druckertreibern Fonts enthalten sind, lasse mich aber gerne eines Besseren belehren. |
Fonts selber müssen dort auch nicht enthalten sein - wohl aber die Liste der Fonts. Und nur um diese Liste geht es ja hier. Wenn Du die Fontliste printer.fonts ausgeben läßt, wirst Du dort alle Fonts erhalten, incl. der nur im (aktuell gesetzen) Drucker enthaltenen Fonts (Die Nur-Druckerfonts normal am Anfang der Liste (Index 0..n)). Woher soll denn sonst ein Programm zur Runtime in der canvas einen nur im Drucker vorhandenen Font benutzen können, wenn dieser nicht antworten kann?
Und oft kann der Drucker nicht antworten und seine Fonts mitteilen, selbst wenn wollte. Entweder wg. einer uni-directionalen Schnittstelle oder im LAN, wenn der Druckauftrag in Queue geschrieben wird - die Queue kann keine Druckerinformationen zurück übermitteln.
Zitat: |
Meines Wissens nach befinden sich Fontdaten in den Druckern selber, denn viele Drucker können auch komplett ohne PC und Druckertreiber betrieben werden, z.B. beim Drucken der Testseite. |
Natürlich weiß ein Drucker selbst, welche Fonts auf ihm installiert sind (Und kann diese Fontliste auch per Testdruck am Drucker selbst ausgeben - zumindest bei denen, die das Implementiert haben).