neuen_drucker_hinzufuegen
Author: Jean-Jacques Sarton

### neuen Drucker hinzufügen

Die Datei printer.desc.bldin welches im Verzeichniss /usr/lib/xw oder /usr/local/lib/xw vorhanden ist beschreibt die Druckereingenschaften. TDiese datei kann als Beispiel fü das generieren der Datei printer.desc verwendet werden. Mtink und ttink lessen diese Datei (falls vorhanden) beim Start und werten diese aus.
Falls die Datei printer.desc gefunden wird, werden weitere Verzeichnisse nicht untersucht.
Die Reihenfolge zum Suchen der Datzei ist /usr/lib/mtink /usr/local/lib/mtink>
Die Beschreibungen die in der Datei printer.desc werden, falls ein Drucker schon vom Program mtink/ttink bekannt ist, vorzugsweise verwendet.

#### Datei printer.desc:

Diese Datei beinhaltet beschreibungsblöcke die die Fähigkeiten der unterstützten Druckern beschreiben.
Ein Block sieht wie folgt aus:

    .PRINTER
       .name:                Stylus C20SX
       .colorsNb:            4
       .mainProt:            D4
       .stateFlg:            True
       .exchangeFlg:         False
       .exchangeSeparateFlg: False
       .cleanSeparateFlg:    True
       .resetProt:           D4
       .alignProt:           OLD D4
       .idFlg:               True
       .passesNb:            3
       .choicesNb:           15
       .colorPassesNb:       2
       .colorChoicesNb:      9
       .alignFunctionName:   -
    .END

.PRINTER | Das Wort .PRINTER leitet einen neuen Datensatz ein. Die nachstehenden Wörter bis zum Wort .END sind die eigentliche Beschreibung.
| Bitte die Zeilen nicht mit dem Zeichen . beginnen, denn diese Zeichen bedeutet für mtink/ttink, dass eine gültige Beschreibungszeile schon vorhanden ist. Zeilen, die nicht mit einem .beginnen, werden als Kommentarzeilen interpretiert. Leerzeichen am Beginn einer Zeile werden überlesen, so dass " .xxx" nicht als Kommentar verarbeitet wird.
.name: | muss die Bezeichnung des Druckers beinhalten, und zwar genau so, wie es der Drucker nach einer Abfrage zurückliefert (ttink vwerwenden).
.colorsNb: | gibt an wieviel Farben vorhanden sind.
| Neuere Druckern beherrschen ein neuen Protokoll (D4) welches es erlaubt, mit dem Drucker über unabhängige Kanäle zu kommunizieren. Dies erlaubt es beispielsweise, die Resttintenmenge abzufragen, obwohl der Drucker noch mit Drucken beschäftigt ist. Das D4-Protokoll beinhaltet ebenfalls einen Satz Kommandos, die zum Teil die normalen Kommandos (REMOTE Kommandos) ersetzen können. Unglücklicherweise unterscheiden sich die Drucker erheblich bezüglich der Menge der implementierten D4-Kommandos. Dementsprechend is es möglich anzugeben, welcher Kommandotyp zu verwenden ist, um die Verwendung des D4-Protokoll (Verwendung mit älteren Druckern) zu unterbinden.
| Wörter die mit Prot: enden geben das Protokoll an, das für sie jeweilige Funktionen zu verwenden sind.
| OLD | Der Drucker unterstützt nicht D4.
| OLD D4 | Nicht D4-Kommandos verwenden aber in das D4-Protokoll einbetten.
| OLD EXD4 | Alte Kommandos verwenden und Drucker im Kompatibilitätsmodus betreiben (das D4-Protokoll wird abgeschaltet).
| D4 | Der Drucker kennt D4 Kommandos, das auch verwenden.
.mainProt: | Default Modus festlegen.
.resetProt: | Kommando für Rücksetzen deklarieren. Manche Drucker besitzen auch eine D4-Version die allerdings nicht zum gewünschten Ergebnis führt (Stylus Color 980 oder die Stylus Scan ... Serie).
.alignProt: | Dieses Kommando hat offenbar keine D4 Entsprechung. Das klassische Kommando wird stattdessen immer verwendet.
| Wörter die mit Flg: enden, geben an, ob der Drucker eine bestimmte Fähigkeit besitzt. Die zugewiesenen Werte sind True (Wahr) oder False (Falsch).
.stateFlg: | Gibt an, ob der Drucker Zustandsangaben (Druck im Gang,...) zurückgeben kann.
.cleanSeparateFlg | Einige wenige Drucker erlauben es, die Düsenreinigung geziehlt vorzunehmen (nur Schwarz/nur Farbe). Für solche Druckern ist True anzugeben.
.idFlg: | Der Stylus Scan 2500, und wahrscheinlich auch der Stylus Scan 2000, geben keine Identifizierung zurück. Für solche Modelle ist False anzugeben.
.exchangeFlg: | Wenige Drucker, wie die Stylus Color 480/580, besitzen keine Bedienelemente, so dass das Auswechseln der Tintenpatrone eine Softwarelösung erfordet. In diesem Fall True angeben.
.exchangeSeparateFlg: | Beide zuvor genannten Drucker benötigen eine Angabe bezüglich der Patronne, die auszuwechseln ist. Den Wert auf True setzen.
| Die mit Nb: vesehenen Wörter:
.passesNb: .ChoicesNb: .colorPassesNb: .colorChoicesNb: | beschreiben die Düsen-Ausrichtung. Die beiden ersten Wörter (Schwarz) geben an, wieviele Durchgänge notwendig sind und wieviele Antwortmöglichkeiten vorhanden sind. Die zwei nächsten Eintragungen betreffen die Ausrichtung bezüglich der Farbdüsen. Die möglichen Werte können ermittelt werden indem der EPSON-Statusmonitor für Windows oder Mac OS bemüht wird. Wenn eine Ausrichtung der Farbdüsen nicht vorhanden ist, muss der Wert für .colorChoicesNb 0 sein.
.alignFunctionName | musste wegen dem Stylus Photo 820 eingeführt werden. Dieser Drucker besitzt keinen internen Code für das Ausrichten der Köpfe, so dass der Statusmonitor diesen zur Verfügung stellen muss. Ausser für oben genannte Drucker (Wert = Pattern820) ist ein - anzugeben.

Nachstehendes gilt nur für das Sourcen Packet:

#### Datei printer.desc installieren

wenn Sie die Beschreibung der vorhandenen Drucker ändern oder ergänzen möchten, können dioe Daten mit rdPrtDesc extrahiert und modifiziert werden. Nach der Modificationb der Datei printer.desc, ist diese nach /usr/lib/mtink oder /usr/local/lib/mtink zu kopieren.

#### Neuen Drucker in ttink/mtink einkompilieren:

Datei printer.desc im Verzeichniss .../mtink/utils generieren und aufrufen von:
rdPrtDesc -c > ../mainSrc/model.c
Danach im Verzeichniss mtink wechseln und make; make install aufrufen.