Dann werde ich mich hie rmal kurz ein-(und wieder aus-)klinken.
1) Die GhostScript 'Treiber' enthalten ein paar Anpassungen speziell fuer den GhostSript interpreter. Hauptsaechlich bewirken sie, dass die Standardfionts (Roman etc.) vom interpreter geladen werden. Bei vielen 'echten' Druckern ist das standardmaessig der Fall. Bei GhostScript nicht.
Unter Windows gibt es das als Option ('PostScript Header') in allen PS Druckertreibern.
Ansonsten stellen die Druckertreiber nur die allgemeinen Parameter wie Seitenraender, Farbe (vorhandene hardware-zusatzfonts im Drucker, falls mit GEOS-FOnts vergleichbar) etc. ein und haben keinen Einfluss auf den ansonsten generierten PS-Code.
Der wird von der EPS library (eps.geo) generiert. Fuer alle PS-Drucker. Allerdings gibt es hier einige Unterschiede je nach PS-Level des Druckers.
Der Kernpunkt is also die EPS library.
Das Original hatte viele Bugs. so wurden z.B: nur B/W Bitmaps generiert und nur mit maximal 16 Graustufen (und Verzerrungen bei ungerader Pixelanzahl in der Breite).
Vektorelemente wie Linien und Text konnten hingegen schon immer in Farbe gedruckt werden.
Dabei benutzt die alte EPS-Lib eine Farb-Ersetzungstabelle feur alles. Die Neue nur noch bei farbigem Text.
Das Problem ist, dass Bildschirm-Farbraum und Druckerfarbraum sich nur teilweise ueberlappen.
Angenommen zwei Dreiecke. eines auf der Spitze.
In der Mitte ist weiss/schwarz, die Spitzen des einen sind rot, gruen, blau (die Spitzen selber sind 255/0/0 etc.)
die des anderen Cyan, Magenta und Gelb.
Ein reines Bildschirm-rot laesst sich nicht direkt in ein reines Drucker-rot umrechnen, da die rote Spitze weit ueber die Rote Verbindungslinie zwischen magenta und gelb hinausragt.
Ebenso ist ein reines gelb auf dem Drucker eigentlich '0,0,255', was auf dem Bildschitm in RGB umgerechnet (255,255,0) eher braun aussieht. Das Bildschirmgelb hingegen hat einen Weissanteil (255,255,128), der auf dem Drucker nur duch Rasterung darstellbar waere. Daher ist eine gewisse Umrechnung noetig.
Bei dem Erstentwurf des Canon-Druckertreiber fuer GEOS haben die dazu noetigen Tabellen ca. 6MB eingenommen. Die lahme Variante, die das berechnet, hat noch immer mehrere 100 KB gehabt.
Die EPS-Lib geht daher jetzt einen Mittelweg. Einfache, schnelle Umrechnung von RGB nach CMY unter Inkaufnahme von Farbaenderungen bei Vektorgrafik. Bitmaps (z.:B importierte JPGs) sollten richtig dargestellt werden.
Fuer GEOS-Generierte Bitmaps waere eine angepasste Farbtabelle sinnvoll. Bzw das Verwenden von direkt eingegebenen RGB-Werten passend zu CMY, auch wenn sie auf dem Bildschirm zu dunkel erscheinen (besonders bei gelb).
Vektorgrafiken werden uebrigens grundsaetzlich in Farbe an den Drucker weitergeleitet. Um die graurasterung kuemmert sich besser der PS-Rasterizer in maximaler Druckeraufloesung anstatt der GEOS-Rasterizer in Quellaufloesung. Farbdrucker, die man nicht forher auf S/W umgestellt hat, drucken dann natuerlich farbig.
Bei den Fonts hat sich etwas wesentliches geaendert. Die originale EPS lib hat immer nur den Standard-Font an den Drucker gesendet und fuer bold/italic diese rechnerisch im Postscript-Rasterizer erzeugt (Doppeldruck, Scherung), auch wenn im Original-Font separate Schnitte vorhanden waren.
Selbst wenn der Drucker die separaten Schnitte intern zur Verfuegung hat, wie bei Times Roman / URW-Roman.
Die neue EPS sendte tatsaechlich die verschiedenen Schnitte (italic is also wirklich italic und nicht oblique, und bold it bold und nicht nur doppelt breite Striche).
Allerdings habe ich damals keinen Weg gefunden, festzustellen, ob der Font wirklich separate Schnitte enthaelt. GEOS sagt da leider immer 'ja' und berechnet dann schnell was selber, wenn die EPSlib die Fontdaten haben will. Leider mit Bildschirmaufloesung. Man sollte also Fonts, die keine eigenen Schnitte fuer bold/italic haben, auch nicht mit bold/italic verwenden, wenn man PS drucken will.
Woran sieht man das? nun, von aussen eigentlich nur an der Groesse der fnt-Datei. Sie ist dann viermal so gross.
(die vier Standard-Fonts haben sogar noch vorberechnete Pixelsaetze fuer die Standard-Bildschirmgroessen 10/12/14pt dabei, aber die werden nur vom Bildschirmtreiber verwendet)
Ich wollte das damals noch irgendwann beseitigen, aber mit dem Tod von NewDeal und der langen Durststrecke danach ist es nie dazu gekommen. Der Lebensunterhalt war da wichtiger, und so viel Exemplare habe ich ja nicht verkauft, dass ich dieZeit dafuer haete abzweigen koennen.
Allerdings gab es mal ein Update, in dem ich noch ein paar Kleinigkeiten gegenueber dem ersten Release verbessert hatte. Das ist aber auch schon ~9 Jahre her. Und betraf, glaube ich, nur die "Druckertreiber", nicht die EPS-Lib.
Ich hoffe, alle Klarheiten sind jetzt beseitigt.