                             Anleitung zum Programm
                                    PrtInfo

                         Erstellt 26.02.2005 T. Milius
                         Gendert 28.01.2007 T. Milius

     ----------------------------------------------------------------------

                               Inhaltsverzeichnis

     * bersicht
     * Installation
          * Vorraussetzungen
          * Durchfhren der Installation
               * Netzwerk
     * Bedienungsanleitung
     * Nutzungsrechte
     * Kontakte
     * Historie
          * Version 1.00
          * Version 1.01
          * Version 1.02
          * Version 1.03
          * Version 1.04
          * Version 1.05
          * Version 1.06
          * Version 1.07
          * Version 1.08
     * Zukunft
     * Technische Details
          * Verzeichnisstrukturen
               * Die Patronendatenbank
          * Aktionen
               * Farbschemata
               * Patronenschemata
          * Funktionen
               * Variablen
          * DRAW-Dateien
          * Sonstiges

                                   bersicht

   PrtInfo erlaubt es einfache Aktionen auf Druckern, wie z.B. Reinigen der
   Druckkpfe, Wechseln der Patronen etc. durchzufhren bzw. sich
   Tintenstnde anzuzeigen. Dies geschieht unabhngig vom eigentlichen
   Druckproze.

                                  Installation

Vorraussetzungen

   Um PrtInfo installieren zu knnen, werden ca. 1MB Plattenplatz und 300KB
   RAM, sowie RISC OS 3.5 oder hher bentigt. USB-Drucker werden nur in der
   Castle USB-Version untersttzt.

   Drucker mit Parallelanschlu sind z.Z. nur eingeschrnkt ansteuerbar, da
   sowohl RISC OS als auch dieses Programm weder den Nibble noch den
   ECP-Modus untersttzen.

Durchfhren der Installation

   Kopieren Sie !PrtInfo an eine beliebige Stelle ihrer Festplatte.

   Ggf. mssen die Dateien "<PrtInfo$Dir>.Resources.TypeAlias" und
   "<PrtInfo$Dir>.Resources.PrtAlias" fr den eigenen Drucker angepat
   werden. Sofern Sie Drucker nicht ber USB automatisch identifizieren, mu
   wahrscheinlich zumindest "PrtAlias" angepat werden, da das Programm sonst
   nicht wei, um welchen Druckertyp es sich handelt. "PrtAlias" kann in
   jedem Texteditor bearbeitet werden. Fgen Sie einfach eine Zeile ans Ende
   der Datei ein, die am Anfang mit dem Namen ihres Druckers beginnt, so wie
   er auf der linken Seite der Programmleiste angezeigt wird (Gro- und
   Kleinschreibung beachten!). Nach einem Komma tragen Sie den Namen des
   Herstellers gefolgt von einem weiteren Komma und der
   Druckertypenbezeichnung ein. Auch hier gilt es Gro- und Kleinschreibung
   zu beachten. Wichtig ist es, da alle Leerzeichen in Namen durch einen "_"
   ersetzt werden.

   Die Namen des Herstellers bzw. den Druckertyp entnehmen Sie soweit
   vorhanden den Dateinanem im
   "<PrtInfo$Dir>.Resources.Commands"-Verzeichnis, bzw. in den darunter
   liegenden Verzeichnissen. Sind Hersteller und Drucker nicht vorhanden, so
   sind Sie in ihrer Namensgebung frei. Sollte sich allerdings kein
   Druckermodell finden, dessen Resourcen Sie zur Steuerung ihres Druckers
   nutzen knnen, mssen Sie sich die Dateien selber zusammen bauen. Nheres
   hierzu finden Sie unter den technischen Details. Finden Sie jedoch ein
   Druckermodell, das auf ihres pat (notfalls durch Ausprobieren), so knnen
   Sie seine Resourcen fr ihren Drucker mitverwenden, indem Sie in
   "TypeAlias" eine neue Zeile einfgen, in der am Anfang Hersteller und
   Druckertyp, wie in der "PrtAlias" stehen. Danach folgenden Hersteller und
   Druckertyp des Druckers, dessen Resourcen genutzt werden sollen. Dies lt
   sich auch bei USB-Druckern anwenden, deren Typ automatisch bestimmt wurde,
   fr die aber keine Resourcen vorliegen.

   In "<PrtInfo$Dir>.Resources.PrtAlias" sollten Sie nur dann Eintrge
   vornehmen, wenn es sich um RISC OS Standarddruckernamen handelt. Sofern
   Sie die Drucker umbenannt haben, z.B. um unterschiedliche Papierqualitten
   zu nutzen, sollten Sie ihre Eintrge in der Datei
   "<Choices$Dir>.PrtInfo.PrtAlias" vornehmen. Diese Datei wird bei
   Programmaktualisierungen im Gegensatz zu
   "<PrtInfo$Dir>.Resources.PrtAlias" nicht berschrieben und vor dieser
   ausgewertet.

  Netzwerk

   PrtInfo untersttzt gesharedte Drucker. Dazu werden bestimmte Operationen
   ber Netzwerk an das PrtInfo auf dem Rechner weitergereicht, an dem der
   Drucker angeschlossen ist. Die Ergebnisse laufen ebenfalls ber Netzwerk
   wieder an das aufrufende PrtInfo zurck.

   Die meisten Nutzer betreiben nur einen RISC OS Rechner und sharen deshalb
   keine Drucker zwischen mehreren RISC OS Maschinen. Das Netzwerk ist
   deshalb nach der Installation von PrtInfo ausgeschaltet. Wenn Sie PrtInfo
   in einem RISC OS Rechnernetzwerk mit gesharedten Druckern betreiben
   wollen, mssen Sie deshalb auf allen PrtInfo-Installationen einige
   Einstellungen ndern. Diese Einstellungen befinden sich in der
   "<ChoicesWrite$Dir>.PrtInfo.Settings" Datei.

   Zur Kommunikation mit seinen Pedanten auf anderen RISC OS Maschinen
   benutzt PrtInfo den Netzwerkport 9152. Dieser lt sich netzwerkweit
   einheitlich ber den Parameter "Port" ndern. Um im Fehlerfall die
   Probleme besser eingrenzen zu knnen, lt sich ber den Parameter
   "NetworkTraceFile" eine Protokolldatei festlegen. Um unerwnschte Zugriffe
   von aussen abzublocken gibt es zwei Parameter namens "Network" und
   "Netmask", von denen "Network" gleichzeitig festlegt, ob das Netzwerk
   aktiv ist, oder nicht. Jede ankommende Anfrage wird mit "Netmask" UND
   verknpft. Das Ergebnis daraus mu mit der UND-Verknpfung aus "Network"
   und "Netmask" bereinstimmen, sonst wird die Anfrage nicht akzeptiert.
   "Network" sollte in den relevanten Stellen mit der IP ihres Rechners
   bereinstimmen, die relevanten Stellen werden ber "Netmask" bestimmt,
   indem die entsprechenden Bits 1 gesetzt werden. Ist "Network" 0.0.0.0 oder
   nicht angegeben, so wird der PrtInfo Netzwerkzugriff deaktiviert.

   PrtInfo im Netzwerkbetrieb verbraucht etwas Rechenleistung (auf meinem
   Iyonix ca. 1%). Ohne Setzen der Netzwerkmaske besteht, wie bei jedem
   Server ohne Firewall ohne unbeschrnkte Zugriffsrechte, die Gefahr von
   externen Hackversuchen, sofern man sich parallel zum Internet verbindet.
   Aufgrund bestimmter Einschrnkungen von !Printers legt PrtInfo im
   Serverbetrieb ein seltsames Verhalten an den Tag. Wenn es zum ersten Mal
   eine Anfrage fr einen gesharedten Printer bekommt, fr den bis dahin auf
   dem Rechner selbst kein PrtInfo-Statusfenster geffnet wurde. Es aktiviert
   kurzzeitig nacheinander alle ber !Printers bereitgestellten Drucker. Am
   Ende ist dann aber wieder der usprnglich gewhlte Drucker aktiviert.
   Verwenden Sie deshalb niemals die Option "Detect Errors" fr den
   Parallelanschlu im Netzwerkbetrieb. Liegt wirklich ein Fehler auf dem
   Drucker vor, so schlgt die Aktivierung fehl und erzeugt eine
   Fehlermeldungsbox auf dem Server. Kann eine Verbindung zu einem Rechner
   nicht aufgebaut werden, so merkt sich PrtInfo dies, und man erhlt kein
   Statusfenster fr den entsprechenden Drucker bis PrtInfo neu gestartet
   wird.

                              Bedienungsanleitung

   Starten Sie !PrtInfo. Auf der rechten Seite der Programmleiste erscheint
   danach das Programmsymbol.

   Wenn Sie die MENU-Maustaste ber dem !PrtInfo-Symbol drcken, erhalten Sie
   ein kleines Men, was ihnen das Anzeigen eines Copyrights und dieser Hilfe
   sowie das Beenden des Programms erlaubt. Zustzlich knnen Sie sie whlen,
   ob fr neue Statusfenster eine TRACE-Protokolldatei erzeugt werden soll,
   und das Verzeichnis mit den erzeugten Dateien oder das Verzeichnis mit
   ihren lokalen Einstellungen anzeigen. Die TRACE Protokolldateien erlauben
   eine genaue Problemanalyse und sind bei der Treiberentwicklung sehr
   hilfreich. Im normalen Betrieb werden sie nicht bentigt. Die Dateien mit
   den lokalen Einstellugen werden in der Installation nher beschrieben

   Beim Beenden des Programms werden alle zugehrigen Statusfenster
   geschlossen. Im schlimmsten Fall, wenn Sie gerade irgendeine komplexe
   Aktion auf einem Drucker durchfhren, lassen Sie den Drucker dann in einem
   undefinierten Zustand. Meist hat dies aber keine negativen Folgen.

   Whlen Sie einen Drucker auf der linken Seite der Programmleiste aus und
   drcken danach die SELECT-Maustaste ber dem !PrtInfo-Symbol.

   Es ffnet sich, wenn mglich, ein Statusfenster fr den entsprechenden
   Drucker oder Sie erhalten eine Fehlermeldung.

   In der oberen Fensterleiste zeigt das Statusfenster den Namen des Druckers
   zu dem es gehrt. Entfernen Sie den Drucker, so wird das Statusfenster
   nicht automatisch geschlossen. Weitere Aktionen auf dem Drucker fhren zu
   Fehlermeldungen.

   Ganz oben im Fenster finden sich drei Zustandsanzeigen. Darunter befindet
   sich eine Zeile zum Anzeigen von Meldungen. Unter dieser kommt ein Bereich
   in der Text und Grafik je nach Aktion dargestellt werden. Hier finden sie
   z.B. umfangreichere Erluterungen zu bestimmten Aktionen oder
   Tintenstandsanzeigen. Der darunter liegende Teil des Fenster wird nur
   aktivert, wenn innerhalb einer Aktion etwas von Ihnen erwartet wird.
   Entsprechend sind dann die Kpfe mit Werten gefllt und in der
   darberliegenden Zeile wird ggf. eine kurze Frage/Erluterung dargestellt.

   Sobald Sie ber dem Statusfenster den MENU-Mausknopf drcken, ffnet sich
   ein Menue, das ihnen die Aktionen zeigt, die sie auf ihrem Drucker
   durchfhren knnen bzw. die Auswahl eines Tintenpartonenherstellers/der
   Reinigungsstufe erlaubt. Aktionen, die fr den Drucker nicht definiert
   sind, knnen nicht gewhlt werden und werden hellgrau dargestellt. Fhren
   Sie gerade eine Aktion aus, so werden alle Aktionen gesperrt, bis die
   aktuelle Aktion abgeschlossen ist. Manche Aktionen knnen fr verschiedene
   Patronen bzw. Druckkpfe ausgefhrt werden. Diese Aktionen haben dann ein
   Untermenue, in dem die entsprechenden Patronen bzw. Druckkpfe aufgefhrt
   sind. Whlen Sie eine Aktion, indem Sie auf den entsprechenden Menue- bzw.
   Untermenueeintrag mit dem SELECT-Mausknopf drcken. Die entprechende
   Aktion wird dann ausgefhrt und verndert ggf. die Anzeige im
   Statusfenster.

   Eine Ausnahme im Menue bildet der Eintrag "Patronenhersteller". In seinen
   Untermenue werden die fr den Drucker (d..h fr das Original und nicht fr
   den ggf. vorhandenen Aliastyp!) verfgbaren Hersteller von Druckerpatronen
   angezeigt, sofern sie in der Tintenpatronendatenbank hinterlegt wurden.
   Der Hersteller fr den in Diagrammen ggf. detailiertere Informationen zu
   seinen Patronen fr diesen Drucker angezeigt werden sollen, ist durch ein
   Hckchen markiert und kann durch Drcken des SELECT-Mausknopfes gendert
   werden. Die Diagramme ndern ihre Information allerdings nicht sofort
   sondern erst bei erneutem Aufbau.

   Bei einigen Druckern kann die Reinigung der Druckkpfe auf mehrere Arten
   durchgefhrt werden. Die Art, wie die nchste Reinigung durchgefhrt
   werden soll, knnen Sie im Untermenue des Eintrags "Reinigungststufen"
   durch Drcken des SELECT-Mausknopfes ber der gewnschten Stufe festlegen.

   Whrend einer Aktion kann es vorkommen, da Sie bestimmte Dinge manuell
   durchfhren mssen, bevor die Aktion weiter gefhrt werden kann, oder eine
   bestimmte Auswahl treffen mssen. In diesem Fall werden die Knpfe in
   unteren Teil des Statusfenster aktviert, bis Sie einen der Knpfe drcken,
   was die Aktion entsprechend des gewhlten Knopfes fortsetzt.

   Als Aktionen sind maximal mglich:

     * Patronentintenstandsermittlung
     * Partonenwechsel
     * Druckkopfreinigung
     * Ermittlung des Druckerzustands
     * Druckerreset
     * Druckkopfkalibrierung
     * Testmusterdruck
     * Druckkopfwechsel
     * Drucker ausschalten

                                 Nutzungsrechte

   Dieses Programm ist geistiges Eigentum von

   Thomas Milius Stade, Germany (Kontakte)

   Das Programm darf frei kopiert werden.

   Das Programm ist Open Source, d.h. die Quellcodes oder Teile davon drfen
   auch in anderen Freeware-Programmen verwendet werden, sofern diese nicht
   der GPL oder hnlichen Lizenzen unterliegen, die die geistigen
   Eigentumsrechte des Herstellers an dem Programm einschrnken. Nach
   Genehmigung des Herstellers darf der Quellcode oder Teile davon auch in
   anderen kommerziellen Programmen genutzt werden.

   Der Hersteller des Programms haftet nicht fr irgendwelche Schden und
   Folgeschden, die aus der Nutzung des Programms entstehen, wie z.B.
   Datenverlust oder Druckerbeschdigung. Fr Hinweise auf Fehler ist der
   Hersteller jederzeit dankbar und wird versuchen sie schnellstmglichst zu
   beseitigen. Eine Pflicht zur kostenlosen Nachbesserung ergibt sich daraus
   jedoch nicht.

                                    Historie

Version 1.00

   Ausgabetermin:
     * 25.03.2005

   Preis:
     * Kostenlos, da Freeware

   Bemerkung:
     * Keine

   Behobene Fehler:
     * Keine

   Neue Fehler/Schwchen:
     * EPSON-Drucker verklemmen sich manchmal nach dem Einschalten bei
       Ansteuerung ber den Castle USB-Stack.

   Neue Eigenschaften:
     * Patronentintenstandsermittlung
     * Partonenwechsel
     * Druckkopfreinigung
     * Ermittlung des Druckerzustands
     * Druckerreset
     * Druckkopfkalibrierung
     * Testmusterdruck
     * Druckkopfwechsel
     * einfache Patronendatenbank
     * Fr jeden Drucker individuell anpabar
     * dynamische DRAW-Datei Modifikation
     * berlagerung mehrerer DRAW-Dateien mglich
     * kleine einfache aufgabenspezifsche Programmiersprache

Version 1.01

   Ausgabetermin:
     * 25.09.2005

   Bemerkung:
     * Nicht verffentlicht.

   Neue Eigenschaften:
     * Variablen PROTOCOL und INTERFACE eingefhrt
     * TRACE Protokolldateien eingefhrt

Version 1.02

   Ausgabetermin:
     * 03.10.2005

   Bemerkung:
     * Nicht verffentlicht.

   Behobene Fehler:
     * Fehler in TypeAlias beseitigt

   Neue Fehler/Schwchen:
     * get Funktion mit Lngenbestimmung an drei Stellen verkehrt

   Neue Eigenschaften:
     * Lokales PrtAlias in Choices
     * get Funktion mit Lngenbestimmung fr Canon-Drucker
     * Canon Treiber auf neue get Funktion gendert
     * Messages umgestellt

Version 1.03

   Ausgabetermin:
     * 09.10.2005

   Bemerkung:
     * Nicht verffentlicht.

   Behobene Fehler:
     * get mit Lngenbestimmung von Little auf Big Endian umgestellt und
       Fehler in Datenverschiebung beseitigt.

   Neue Eigenschaften:
     * Printerermittlung intern umgestellt, dadurch auch Problem in !Printers
       Variablenbehandlung umgangen.

Version 1.04

   Ausgabetermin:
     * 11.10.2005

   Bemerkung:
     * Nicht verffentlicht.

   Behobene Fehler:
     * Fehler in Datenverschiebung bei get mit Lngenbestimmung beseitigt.

Version 1.05

   Ausgabetermin:
     * 12.10.2005

   Bemerkung:
     * Nicht verffentlicht.
     * Starke interne Umstellungen zur Vorbereitungen der Behandlung von
       gesharedten Druckern.

   Behobene Fehler:
     * Fehler in get mit Lngenbestimmung bei Stringterminierung abgestellt.

Version 1.06

   Ausgabetermin:
     * 22.10.2005

   Bemerkung:
     * Nicht verffentlicht.

   Behobene Fehler:
     * Fehler in TypeAlias Auswertung behoben, der TypeAlias nutzlos machte

   Neue Fehler/Schwchen:
     * Bezeichnung der Reinigungsstufen unglcklich.

   Neue Eigenschaften:
     * Kompatibel zu !PrintSpool
     * Interne Printerreservierung
     * Reinigungsstufen eingefhrt.
     * Option Cleaning Levels eingefhrt.
     * Variable CLEANINGLEVEL eingefhrt.

Version 1.07

   Ausgabetermin:
     * 27.11.2005

   Behobene Fehler:
     * Teilweise andere Bezeichnungen fr Reinigungsstufen
     * Problem mit Druckerbestimmung infolge eines nicht sauber
       funktionierenden SWIs auf Risc PC behoben.

   Neue Eigenschaften:
     * Aktion zum Druckerausschalten
     * Menupunkt zum Anzeigen des Verzeichnisses mit den individuellen
       Einstellungen eingefhrt
     * Zustandsanzeige "Fehler" auf "Kein Fehler" umgestellt.
     * Behandlung von gesharedten Druckern.
     * Individuelle Konfigurationsdatei mit Netzwerkoptionen
     * Netzwerkprotokolldatei
     * Bei Aktivitt ndert Cursor seine Form und Menu ber Fenster ist
       gesperrt.

Version 1.08

   Ausgabetermin:
     * 28.01.2007

   Behobene Fehler:
     * Keine

   Neue Eigenschaften:
     * Volles Multitasking im Netzwerk (GetHostByName)

                                    Kontakte

   Hersteller:
   Thomas Milius
   Tilsiter Strae 2
   21680 Stade
   Deutschland

   Telefon:
   04141/65005
   Werktags 19:00 bis 21:30 und an Wochenenden

   E-mail:
   Thomas-Milius@t-online.de

   Homepage:
   http://www.thomas-milius.homepage.t-online.de/

                                    Zukunft

   Grundstzlich sind keine groen nderungen oder Erweiterungen an dem
   Programm geplant. Allerdings werden wenn vorhanden neue Resourcen fr
   weitere Druckermodelle stndig eingebunden. Bei Bedarf knnen weitere
   Kopf-/Patronenschemata bzw. Farben eingebaut werden.

   Evt. wird irgendwann nochmal das Nibble Mode bzw. ECP-Protokoll fr die
   verbesserte Ansteuerung des Parallelports eingebaut.

                               Technische Details

Verzeichnisstrukturen

   Alle vom Nutzer zu verndernden Dateien stehen im
   "<PrtInfo$Dir>.Resources"-Verzeichnis. Auerdem gibt es im
   "<ChoicesWrite$Dir>.PrtInfo"-Verzeichnis noch eine lokale Version von
   PrtAlias, sowie die Settings Datei mit den Netzwerkeinstellungen.

   +------------------------------------------------------------------------+
   |    Name    |     Typ     |                Beschreibung                 |
   |------------+-------------+---------------------------------------------|
   | CtrInfo    | Textdatei   | Enthlt die Partonendatenbank und wird      |
   |            |             | separat beschrieben.                        |
   |------------+-------------+---------------------------------------------|
   |            |             | Enthlt die Zuordnung von RISC OS           |
   | PrtAlias   | Textdatei   | Druckernamen zu Druckertyp und wird in der  |
   |            |             | Installation nher beschrieben.             |
   |------------+-------------+---------------------------------------------|
   |            |             | Enthlt die Zuordnung von Druckertyp zu     |
   | TypeAlias  | Textdatei   | einem hnlichen Drucker dessen Resourcen    |
   |            |             | mitbenutzt werden knnen und wird in der    |
   |            |             | Installation nher beschrieben.             |
   |------------+-------------+---------------------------------------------|
   | Settings   | Textdatei   | Enthlt die Netzwerkeinstellungen und wird  |
   |            |             | in der Installation nher beschrieben.      |
   |------------+-------------+---------------------------------------------|
   |            |             | Enthlt pro Druckerhersteller ein           |
   |            |             | Unterverzeichnis, in denen sich wiederum    |
   | Commands   | Verzeichnis | die Command-Dateien fr die jeweiligen      |
   |            |             | Drucker befinden. Diese Struktur wird vom   |
   |            |             | Programm vorausgesetzt.                     |
   |------------+-------------+---------------------------------------------|
   |            |             | Enthlt pro Druckerhersteller ein           |
   |            |             | Unterverzeichnis, in denen sich wiederum    |
   |            |             | die DRAW-Dateien zur Anzeige der            |
   | Cartridges | Verzeichnis | Partonenfllstnde fr die jeweiligen       |
   |            |             | Drucker befinden. Diese Struktur hngt von  |
   |            |             | den Pfadangaben in den Funktionen ab, d.h.  |
   |            |             | sie ist nur eine Empfehlung.                |
   |------------+-------------+---------------------------------------------|
   |            |             | Enthlt pro Druckerhersteller ein           |
   |            |             | Unterverzeichnis, in denen sich in          |
   |            |             | Unterverzeichnissen wiederum die            |
   |            |             | DRAW-Dateien zur Anzeige von Anleitungen    |
   |            |             | fr die jeweiligen Drucker befinden.        |
   |            |             | Anleitungen knnen aber auch auf            |
   | Tutorials  | Verzeichnis | Herstellerebene abgelegt sein. Wenn die     |
   |            |             | Anleitungen Text enthalten, so sollte ihr   |
   |            |             | Dateiname mit der Nummer des zugehrigen    |
   |            |             | Territories enden (Ausnahme 1=UK). Diese    |
   |            |             | Struktur hngt von den Pfadangaben in den   |
   |            |             | Funktionen ab, d.h. sie ist nur eine        |
   |            |             | Empfehlung.                                 |
   |------------+-------------+---------------------------------------------|
   |            |             | Enthlt pro Druckerhersteller ein           |
   |            |             | Unterverzeichnis, in denen sich in          |
   |            |             | Unterverzeichnissen wiederum die            |
   |            |             | DRAW-Dateien zur Anzeige von Warnungen fr  |
   |            |             | die jeweiligen Drucker befinden. Warnungen  |
   | Warnings   | Verzeichnis | knnen aber auch auf Herstellerebene        |
   |            |             | abgelegt sein. Wenn die Warnungen Text      |
   |            |             | enthalten so sollte ihr Dateiname mit der   |
   |            |             | Nummer des zugehrigen Territories enden    |
   |            |             | (Ausnahme 1=UK). Diese Struktur hngt von   |
   |            |             | den Pfadangaben in den Funktionen ab, d.h.  |
   |            |             | sie ist nur eine Empfehlung.                |
   +------------------------------------------------------------------------+

  Die Patronendatenbank

   Die Patronendatenbank ist in der Textdatei
   "<PrtInfo$Dir>.Resources.CtrInfo" abgelegt. Jede Zeile der Datei enthlt
   die Typenbezeichnung und eine Bemerkung fr eine bestimmte Patrone eines
   bestimmten Patronenherstellers fr einen bestimmten Drucker eines
   bestimmten Druckerherstellers in einer bestimmten Sprache.

   Der Druckerhersteller und der Druckertyp mssen mit den sonst verwendeten
   Begriffen (keine Leerzeichen, Gro- und Kleinschreibung beachten!)
   bereinstimmen. Sie beziehen sich immer auf den Druckertyp selbst und
   nicht auf einen evt. verwendetem Alias-Typ. Die Patrone wird durch eine
   hexadezimale Cartridge-Nummer angegeben. Der Name des Patronenherstellers
   kann beliebig geschrieben werden, allerdings mu er fr alle Patronen
   gleich sein. Als Sprache ist die RISC OS Territory Nummer zu verwenden (1
   fr UK!). Die Eintrge sind sprachbezogen, da zum Einen die Bemerkungen
   sonst nicht fr alle lesbar sind. Zum anderen kann es aber auch sein, da
   Patronen in anderen Gebieten der Erde gar nicht von dem Hersteller
   angeboten werden, oder aber unter einer anderen Bezeichnung. Eine
   Besonderheit stellt die Territory Nummer 0 da, die RISC OS nicht
   verwendet. Ein solcher Eintrag wird in allen Territories angezeigt.

   ber Sinn und Unsinn der Partonendatenbank kann man diskutieren. Ich hielt
   es fr eine interessante Ergnzung, die es bei Anzeige des
   Patronenstandes, oder wo sonst immer gewnscht, erlaubt die
   Typenbezeichnung fr Patronen mit dazustellen. Die Bemerkung kann man fr
   Hinweise verwenden, die es erlauben, zu entscheiden, ob eine Partone fr
   den jeweiligen Einsatzzweck geeignet ist oder nicht.

Aktionen

   Auf einem Drucker knnen diverse Aktionen durchgefhrt werden. Eine Aktion
   besteht aus diversen Funktionen. Die Menge der mglichen Aktionen variiert
   von Drucker zu Drucker. Alle fr einen Drucker mglichen Aktionen sind in
   der entsprechenden Command-Datei abgelegt.

   Jede Aktion beginnt mit einem bestimmten Begriff gefolgt von einem ":".
   Manchmal folgt dahinter noch ein Parameter, der z.B. Schnittstellenangaben
   enthlt, da einige Aktionen je nach vom Drucker verwendeter Schnittstelle
   unterschiedlich ausgefhrt werden mssen oder gar nicht vorhanden sind.
   Einige Aktionen mssen fr verschiedene Bereiche leicht abweichend
   mehrfach vorhanden sein. Dies ist z.B. bei den Tintenpatronenwechseln der
   Fall. Bei den Begriffen und Parametern sind Gro- und Kleinschreibung zu
   beachten.

   In den folgenden Zeilen stehen optional diverse Funktionen, die zur
   Durchfhrung der Aktion notwending sind. Jede Zeile enthlt genau eine
   Funktion mit Parametern. Das Ende einer Aktion wird durch den Begriff
   "End" in einer Zeile markiert.

   In der Datei sind auerdem Optionen enthalten. Das Format ist analog dem
   der Aktionen, auer da eine Option immer Parameter hat und nicht von
   irgendwelchen Funktionen oder einem "End" gefolgt wird.

   +------------------------------------------------------------------------+
   |       Tag        |       Parameter       |        Beschreibung         |
   |------------------+-----------------------+-----------------------------|
   | GetCartridgeInfo |                       | Ermittelt die Tintenstnde  |
   |                  |                       | der einzelnen Patronen.     |
   |------------------+-----------------------+-----------------------------|
   |                  | Hexadezimale Nummer   |                             |
   | ChangeCartridge  | der Cartridge, fr    | Leitet den Austausch einer  |
   |                  | die diese Aktion      | Partone ein.                |
   |                  | gilt.                 |                             |
   |------------------+-----------------------+-----------------------------|
   |                  | Hexadezimale Nummer   |                             |
   | CleanHead        | des Kopfes (analog    | Subert den Druckkopf.      |
   |                  | Cartridge), fr den   |                             |
   |                  | diese Aktion gilt.    |                             |
   |------------------+-----------------------+-----------------------------|
   |                  |                       | Legt fest, welche           |
   |                  |                       | Reinigungsstufen gewhlt    |
   |                  | Hexadezimale Nummer   | werden knnen. Bit 0        |
   | Cleaning Levels  | den mglichen         | entspricht Reinigungsstufe  |
   |                  | Reinigungsstufen      | 1 usw.. Ist diese Option    |
   |                  | entsprechend.         | nicht angegeben, so wird    |
   |                  |                       | automatisch Reinigungsstufe |
   |                  |                       | 1 unterstellt.              |
   |------------------+-----------------------+-----------------------------|
   |                  |                       | Ermittelt, ob ein Fehler    |
   |                  |                       | vorliegt, Papier eingelegt  |
   |                  |                       | und der Drucker aktiviert   |
   |                  |                       | ist. Hierfr gibt es je     |
   |                  |   * USB               | nach Schnittstelle genormte |
   | GetStatus        |   * Parallel          | Verfahren zur Ermittlung    |
   |                  |   * Else              | dieser Zustnde, die fest   |
   |                  |                       | im Programm verdrahtet sind |
   |                  |                       | (USB und Parallel). Diese   |
   |                  |                       | knnen aber durch           |
   |                  |                       | zustzliche Funktionen bei  |
   |                  |                       | Bedarf ergnzt werden.      |
   |------------------+-----------------------+-----------------------------|
   |                  |                       | Setzt den Drucker in den    |
   |                  |                       | Zustand nach dem            |
   |                  |                       | Einschalten zurck. Hierfr |
   |                  |                       | gibt es je nach             |
   |                  |   * USB               | Schnittstelle genormte      |
   | ResetPrinter     |   * Parallel          | Verfahren, die fest im      |
   |                  |   * Else              | Programm verdrahtet sind    |
   |                  |                       | (USB und Parallel). Diese   |
   |                  |                       | knnen aber durch           |
   |                  |                       | zustzliche Funktionen bei  |
   |                  |                       | Bedarf ergnzt werden.      |
   |------------------+-----------------------+-----------------------------|
   |                  | Hexadezimale Nummer   |                             |
   | CalibrateHead    | des Kopfes (analog    | Justiert einen Druckkopf.   |
   |                  | Cartridge), fr den   |                             |
   |                  | diese Aktion gilt.    |                             |
   |------------------+-----------------------+-----------------------------|
   | PrintTestpattern |                       | Druckt ein Muster zum Test  |
   |                  |                       | der Dsen.                  |
   |------------------+-----------------------+-----------------------------|
   |                  | Hexadezimale Nummer   |                             |
   | ChangeHead       | des Kopfes (analog    | Leitet einen                |
   |                  | Cartridge), fr den   | Druckkopfaustausch ein.     |
   |                  | diese Aktion gilt.    |                             |
   |------------------+-----------------------+-----------------------------|
   | Switchoff        |                       | Schaltet den Drucker aus.   |
   |------------------+-----------------------+-----------------------------|
   | Init             |                       | Wird beim ffnen des        |
   |                  |                       | Statusfensters ausgefhrt.  |
   |------------------+-----------------------+-----------------------------|
   |                  |                       | Beliebig verwendbare        |
   |                  | Hexadezimale Nummer   | Unterroutine.               |
   | Procedure        | der Prozedur (maximal | Parameterbergabe erfolgt   |
   |                  | 32).                  | bei Bedarf ber die freien  |
   |                  |                       | Variablen.                  |
   +------------------------------------------------------------------------+

   Die zulssigen Cartridgenummern sind im Folgenden nher erlutert.

  Farbschemata

   Den Farben entsprechen Menueeintrge, sowie verschiedene Variablen. Es
   gibt folgende Farben:

   +--------------------------+
   | Hexwert |     Farbe      |
   |---------+----------------|
   | 0x00    | Schwarz        |
   |---------+----------------|
   | 0x01    | Zyan           |
   |---------+----------------|
   | 0x02    | Magenta        |
   |---------+----------------|
   | 0x03    | Gelb           |
   |---------+----------------|
   | 0x10    | Grau           |
   |---------+----------------|
   | 0x11    | Helles Zyan    |
   |---------+----------------|
   | 0x12    | Helles Magenta |
   |---------+----------------|
   | 0x13    | Hellgelb       |
   +--------------------------+

  Patronenschemata

   Jede Farbe kann als einzelne Patrone vorkommen. Zustzlich gibt es noch
   ein paar weitere Patronen, die mehrere Farben zusammenfassen. Die
   Patronennummern werden auch zur Kopfbeschreibung genutzt. Beides steht
   naturgem in einem gewissen Zusammenhang, kann aber voneinander
   abweichen. Wie bei den Farben gibt es fr die Patronen Menueintrge und
   Variablen. Es gibt folgende Patronen:

   +----------------------------+
   | Hexwert |   Patronenart    |
   |---------+------------------|
   | 0x30    | Alles zusammen   |
   |---------+------------------|
   | 0x31    | Alle Schwarztne |
   |---------+------------------|
   | 0x32    | Alle Farbtne    |
   +----------------------------+

Funktionen

   Bei den Funktionen und Variablenangaben ist auf Gro- und Kleinschreibung
   zu achten. Jede Funktion steht in einer speraten Zeile in einer
   Command-Datei.

   +---------------------------------------------------------------------------+
   | Tag  |                Parameter                |       Beschreibung       |
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Wenn der angegebene RISC  |
   |      |                                         |OS Eval Ausdruck wahr     |
   |      |                                         |wird, wird die angegebene |
   |      |                                         |Anzahl Programmzeilen     |
   |      |                                         |bersprungen (maximal bis |
   |      |                                         |zum nchsten "End").      |
   |      |                                         |Rckwrtsspringen durch   |
   |      |                                         |Angabe negativer Werte ist|
   |      |Zahl_der_zu_springenden_Zeilen[          |ebenfalls erlaubt. Der    |
   |cgorel|Quellvariable_1 ...[ Quellvariable_n]] # |RISC OS Eval Ausdruck kann|
   |      |Logischer_RISC_OS_Eval-Ausdruck          |auf RISC OS               |
   |      |                                         |Systemvariablen zugreifen,|
   |      |                                         |z.B. Territory. Auf die   |
   |      |                                         |PrtInfo-Variablen kann    |
   |      |                                         |zugegriffen werden, in dem|
   |      |                                         |man sie vor dem Ausdruck  |
   |      |                                         |deklariert und im Ausdruck|
   |      |                                         |als Parameter (%0 ... %9) |
   |      |                                         |referenziert.             |
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Sendet ein Kommando an den|
   |      |                                         |Drucker. Die Sequenz wird |
   |      |                                         |durch Angabe einzelner    |
   |      |                                         |Bytes entweder als Nummer |
   |send  |Sequenz_im_Druckerdefinitionsdatei_Format|oder als durch ""         |
   |      |                                         |eingeschlossene Buchstaben|
   |      |                                         |festgelegt. Die Nummern   |
   |      |                                         |bzw. Buchstaben mssen    |
   |      |                                         |durch "," getrennt werden.|
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Liest eine Ausgabe vom    |
   |      |                                         |Drucker (sofern mglich)  |
   |      |                                         |in die Variable RESPONSE. |
   |      |                                         |0-Werte werden dabei durch|
   |      |                                         |Leerzeichen ersetzt. Die  |
   |      |                                         |Zeichenkette wird am      |
   |      |                                         |Endezeichen terminiert.   |
   |      |                                         |Wenn als Endezeichen ein  |
   |      |                                         |negativer Wert angegeben  |
   |get   |hexadezimales_Endezeichen                |wird, so signalisiert     |
   |      |                                         |dies, da der Drucker die |
   |      |                                         |Lnge der Zeichenkette am |
   |      |                                         |Anfang mitbertrgt (als  |
   |      |                                         |Big Endian und in soviel  |
   |      |                                         |Bytes, wie als            |
   |      |                                         |Absolutbetrag des         |
   |      |                                         |negativen Wertes          |
   |      |                                         |angegeben). Diese Bytes   |
   |      |                                         |werden nicht in RESPONSE  |
   |      |                                         |bertragen.               |
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Ldt eine DRAW-Datei zur  |
   |      |                                         |Darstellung an die        |
   |      |                                         |angegebene Position in der|
   |      |                                         |Darstellungsreihenfolge.  |
   |      |                                         |Eine evt. vorhandene Datei|
   |show  |Darstellungsposition Dateiname           |an der Position wird      |
   |      |                                         |berschrieben. Beim Laden |
   |      |                                         |werden entsprechend       |
   |      |                                         |markierte Objekte skaliert|
   |      |                                         |bzw. mit dem Text aus den |
   |      |                                         |angegebenen               |
   |      |                                         |PrtInfo-Variablen gefllt.|
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Lscht die DRAW-Datei an  |
   |      |                                         |der angegeben             |
   |hide  |Darstellungsposition [upwards]           |Darstellungsposition und  |
   |      |                                         |bei Angabe von "upwards"  |
   |      |                                         |auch alle nachfolgenden   |
   |      |                                         |DRAW-Dateien.             |
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Stoppt die                |
   |      |                                         |Aktionsausfhrung und     |
   |      |                                         |aktualisiert das          |
   |      |                                         |Statusfenster entsprechend|
   |      |[Beschriftung_Knopf_1]                   |den Variablen. Nach       |
   |ask   |[Beschriftung_Knopf_2]                   |Drcken eines der Knpfe  |
   |      |[Beschriftung_Knopf_3]                   |wird die Aktionsausfhrung|
   |      |                                         |fortgesetzt. Die          |
   |      |                                         |Knopfbeschriftungen knnen|
   |      |                                         |vorab per Programmcode    |
   |      |                                         |gefllt werden.           |
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Zerlegt den Inhalt der als|
   |      |                                         |Quelle angegebenen        |
   |      |Quellvariable Zielvariable_1[            |PrtInfo-Textvariablen     |
   |split |Zielvariable_2 ...[ Zielvariable_n]] #   |gem des angegebenen     |
   |      |scanf_term                               |scanf-Term und weist die  |
   |      |                                         |einzelnen Teile den       |
   |      |                                         |angebenen Zielvariablen   |
   |      |                                         |zu.                       |
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Wertet den Ausdruck aus   |
   |      |                                         |und legt das Ergebnis in  |
   |      |                                         |der angegebenen           |
   |      |                                         |PrtInfo-Variablen ab. Der |
   |      |                                         |RISC OS Eval-Ausdruck kann|
   |      |                                         |auf RISC OS               |
   |eval  |Zielvariable[ Quellvariable_1 ...[       |Systemvariablen zugreifen,|
   |      |Quellvariable_n]] # RISC_OS_Eval_Ausdruck|z.B. Territory. Auf die   |
   |      |                                         |PrtInfo-Variablen kann    |
   |      |                                         |zugegriffen werden, in dem|
   |      |                                         |man sie vor dem Ausdruck  |
   |      |                                         |deklariert und im Ausdruck|
   |      |                                         |als Parameter (%0 ... %9) |
   |      |                                         |referenziert.             |
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Fhrt ein RISC OS Kommando|
   |      |                                         |aus. Auf die              |
   |      |                                         |PrtInfo-Variablen kann    |
   |system|[ Quellvariable_1 ...[ Quellvariable_n]] |zugegriffen werden, in dem|
   |      |# RISC_OS_Command                        |man sie vor dem Kommando  |
   |      |                                         |deklariert und im Kommando|
   |      |                                         |als Parameter (%0 ... %9) |
   |      |                                         |referenziert.             |
   |------+-----------------------------------------+--------------------------|
   |      |                                         |Fhrt eine andere Aktion  |
   |      |                                         |als Unterprogramm aus,    |
   |      |                                         |dies kann neben den       |
   |      |                                         |blichen Druckeraktionen  |
   |      |                                         |auch eines der            |
   |action|Aktionsname:[ Parameter]                 |"Procedure"-Unterprogramme|
   |      |                                         |sein. Bei                 |
   |      |                                         |verbindungstypabhngigen  |
   |      |                                         |Aktionen darf die         |
   |      |                                         |Verbindungsart nicht mit  |
   |      |                                         |angegeben werden.         |
   +---------------------------------------------------------------------------+

  Variablen

   Variablen geben Programmen die ntige Flexibilitt. Bestimmte Variablen
   sind an bestimmte Elemente im Statusfenster bzw. Funktionen gekoppelt.

   Textvariablen knnen alle Zeichen auer dem Zeichen 0 enthalten. Werden
   Textvariablen an einen RISC OS eval Ausdruck bzw. ein RISC OS Kommando
   bergeben, so werden Kontrollzeichen und "<" in <> geklammerte
   Sonderzeichen bersetzt. Aus einem " wird "". CR und NL werden durch
   Leerzeichen ersetzt. Damit ist sichergestellt, da die Zeichen die
   Auswertung nicht beeinflussen.

+------------------------------------------------------------------------------------------------+
|  Variable   | Arrayindizes  |  Typ  |                       Beschreibung                       |
|-------------+---------------+-------+----------------------------------------------------------|
|             |               |       |Programme sollten hier den Fllstand der Patronen bezogen |
|COL_         |hexadezimale   |Integer|auf den Wert 1024 als Maximalstand (=100%) ablegen. Wird  |
|             |Cartridgeangabe|       |die Variable in DRAW-Dateien als Gruppenname verwendet, so|
|             |               |       |werden die zugehrigen Objekte entsprechend skaliert.     |
|-------------+---------------+-------+----------------------------------------------------------|
|CTRMAN       |               |49     |Patronenhersteller. Wird vom Benutzer gewhlt.            |
|             |               |Zeichen|                                                          |
|-------------+---------------+-------+----------------------------------------------------------|
|             |hexadezimale   |19     |Wird von PrtInfo gem der Partonentabelle und dem        |
|CTRTYP_      |Cartridgeangabe|Zeichen|gewhlten Patronenhersteller gefllt und enthlt die      |
|             |               |       |Patronenbezeichnung.                                      |
|-------------+---------------+-------+----------------------------------------------------------|
|             |hexadezimale   |39     |Wird vom PrtInfo gem der Partonentabelle und dem        |
|RMRK_        |Cartridgeangabe|Zeichen|gewhlten Patronenhersteller gefllt und enthlt einen    |
|             |               |       |Hinweis.                                                  |
|-------------+---------------+-------+----------------------------------------------------------|
|MESSAGE      |               |49     |Wird im Feld unter den drei Optionskstchen im            |
|             |               |Zeichen|Statusfenster dargestellt.                                |
|-------------+---------------+-------+----------------------------------------------------------|
|DIALOGMESSAGE|               |49     |Wird im Feld ber den drei Knpfen im Statusfenster im    |
|             |               |Zeichen|Dialogmodus dargestellt und danach automatisch gelscht.  |
|-------------+---------------+-------+----------------------------------------------------------|
|             |               |       |Im Dialogmodus wird der Inhalt dieser Felder in den drei  |
|             |               |       |Knpfen am unteren Ende des Statusfensters dargestellt und|
|             |               |       |danach automatisch gelscht. Die Variablen knnen mit der |
|             |               |       |Funktion "ask" geladen werden, oder auch per Evaluation   |
|             |               |       |gesetzt werden. Die Zuordnung zu den Knpfen geschieht    |
|             |               |       |nach folgendem Schema:                                    |
|             |               |       |                                                          |
|             |               |       |+--------------------------------------------------------+|
|             |               |       || Maximaler | Arrayelement | Arrayelement | Arrayelement ||
|             |               |19     || Arraywert |  Zuordnung   |  Zuordnung   |  Zuordnung   ||
|DIALOGBUTTON_|0-2            |Zeichen|| ungleich  | linker Knopf |  mittlerer   |   rechter    ||
|             |               |       ||   leer    |              |    Knopf     |    Knopf     ||
|             |               |       ||-----------+--------------+--------------+--------------||
|             |               |       || 0         |              |              |              ||
|             |               |       ||-----------+--------------+--------------+--------------||
|             |               |       || 1         |              | 0            |              ||
|             |               |       ||-----------+--------------+--------------+--------------||
|             |               |       || 2         | 0            |              | 1            ||
|             |               |       ||-----------+--------------+--------------+--------------||
|             |               |       || 3         | 0            | 1            | 2            ||
|             |               |       |+--------------------------------------------------------+|
|-------------+---------------+-------+----------------------------------------------------------|
|             |               |       |Enthlt nach Beendigung des Dialogmodus den Knopf, der zur|
|             |               |       |Beendigung des Dialogmodus gedrckt wurde. Bei Aufruf des |
|             |               |       |Dialogmodus wird der Wert auf 0 gesetzt.                  |
|DIALOGRESULT |               |Integer|                                                          |
|             |               |       |  * linker Knopf setzt Bit 0                              |
|             |               |       |  * mittlerer Knopf setzt Bit 1                           |
|             |               |       |  * rechter Knopf setzt Bit 2                             |
|-------------+---------------+-------+----------------------------------------------------------|
|             |               |255    |Nimmt das Resultat der Funktion "get", d.h. Rckmeldungen |
|RESPONSE     |               |Zeichen|vom Drucker auf. 0-Werte werden dabei durch Leerzeichen   |
|             |               |       |ersetzt.                                                  |
|-------------+---------------+-------+----------------------------------------------------------|
|MANUFACTURER |               |49     |Druckerhersteller, nicht eine evt. vorhandene             |
|             |               |Zeichen|Alias-Zuordnung. Wird von PrtInfo gesetzt.                |
|-------------+---------------+-------+----------------------------------------------------------|
|PRINTERTYPE  |               |49     |Druckertyp, nicht eine evt. vorhandene Alias-Zuordnung.   |
|             |               |Zeichen|Wird von PrtInfo gesetzt.                                 |
|-------------+---------------+-------+----------------------------------------------------------|
|             |               |       |Enthlt die Schnittstelle, die der Drucker nutzt. Mgliche|
|             |               |       |Werte sind:                                               |
|             |               |       |                                                          |
|INTERFACE    |               |255    |  * Arbitrary                                             |
|             |               |Zeichen|  * Parallel                                              |
|             |               |       |  * USB                                                   |
|             |               |       |                                                          |
|             |               |       |Wird von PrtInfo gesetzt.                                 |
|-------------+---------------+-------+----------------------------------------------------------|
|             |               |       |Enthlt das Protokoll, das die Druckerschnittstelle nutzt.|
|             |               |       |Mgliche Werte sind:                                      |
|             |               |       |                                                          |
|             |               |255    |  * Leer, wenn beliebige Ein- und Ausgabe mglich.        |
|PROTOCOL     |               |Zeichen|  * Output, wenn nur Ausgabe                              |
|             |               |       |  * Nibble, bei Parallel                                  |
|             |               |       |  * ECP, bei Parallel                                     |
|             |               |       |                                                          |
|             |               |       |Wird von PrtInfo gesetzt.                                 |
|-------------+---------------+-------+----------------------------------------------------------|
|             |               |       |Enthlt die gewnschte Reinigungsstufe. Der Treiber whlt |
|CLEANINGLEVEL|               |Integer|anhand dieser Information die entsprechenden              |
|             |               |1-6    |Steuersequenzen. Ist keine Auswahl zwischen verschiedenen |
|             |               |       |Stufen mglich, so enthlt die Variable den Wert 1.       |
|-------------+---------------+-------+----------------------------------------------------------|
|             |               |       |Die Aktion "GetStatus" legt hier bei USB oder             |
|             |               |       |Parallel-Schnittstelle den Standarddruckerzustand ab. Der |
|             |               |       |Wert kann auch durch Funktionen gendert werden. Die Bits |
|             |               |       |sind den Zustandsanzeigen im Statusfenster zugeordnet.    |
|             |               |       |                                                          |
|             |               |       |+--------------+                                          |
|ERROR        |               |Integer|| Bit |        |                                          |
|             |               |       ||-----+--------|                                          |
|             |               |       || 3   | Fehler |                                          |
|             |               |       ||-----+--------|                                          |
|             |               |       || 4   | Aktiv  |                                          |
|             |               |       ||-----+--------|                                          |
|             |               |       || 5   | Papier |                                          |
|             |               |       |+--------------+                                          |
|-------------+---------------+-------+----------------------------------------------------------|
|TEXT_        |0-3            |255    |Textvariablen zur freien Verwendung durch die Programme.  |
|             |               |Zeichen|                                                          |
|-------------+---------------+-------+----------------------------------------------------------|
|INT_         |0-3            |Integer|Integervariablen zur freien Verwendung durch die          |
|             |               |       |Programme.                                                |
+------------------------------------------------------------------------------------------------+

DRAW-Dateien

   Zur Veranschaulichung knnen in den einzelnen Aktionen ber die
   "show"-Funktion DRAW-Dateien im Statusfenster dargestellt werden. Bis zu
   10 solcher Dateien knnen im Statusfenster bereinander gelegt werden.
   Anwendungsmglichenkeiten sind z.B. die schematische Darstellung von
   manuell am Drucker durchzufhrenden Arbeiten oder die Darstellung von
   Patronenfllstnden.

   Beim Laden wird die Datei auf Gruppen untersucht. Sind diese Gruppen
   benannt, so wird untersucht, ob der Gruppenname einer PrtInfo-Variablen
   entspricht. Wenn ja, dann geschieht Folgendes. Jeder Text innerhalb der
   Gruppe wird mit dem Inhalt der Variable gefllt. Integervariablen werden
   konvertiert. Beginnt ein Gruppenname mit "SC_" gefolgt von einer
   Orientierung und nach einem "_" vom Namen einer Integervariable so werden
   alle Pfad-Objekte innerhalb der Gruppe skaliert. Ein Integerwert von von
   1024 entspricht 100%, d.h. die Objekte werden in Originalgre
   dargestellt. Die Skalierungen werden auf jedem Pfad separat durchgefhrt.
   Die Orientierung besteht aus zwei Buchstaben. Der erste bezieht sich auf
   die X-Koordinaten und der zweite auf die Y-Koordinaten des Pfades. Als
   Orientierungen sind folgende Werte zulssig:

   +------------------------------------------------------------------------+
   | Buchstabe |     Skalierungsbeschreibung      |                         |
   |-----------+----------------------------------+-------------------------|
   |           |                                  |   | Als Bezugspunkt der |
   |           | Als Bezugspunkt der Skalierung   |   | Skalierung wird die |
   | P         | wird die rechte bzw. obere Ecke  | N | linke bzw. untere   |
   |           | der Boundingbox verwendet.       |   | Ecke der            |
   |           |                                  |   | Boundingbox         |
   |           |                                  |   | verwendet.          |
   |-----------+----------------------------------+-------------------------|
   |           | Als Bezugspunkt der Skalierung   |                         |
   | M         | wird die Mitte der Boundingbox   |                         |
   |           | verwendet.                       |                         |
   |-----------+----------------------------------|                         |
   | K         | Die Objekte werden in dieser     |                         |
   |           | Richtung nicht skaliert.         |                         |
   +------------------------------------------------------------------------+

   Die DRAW-Dateien selbst werden 1:1 im Statusfenster dargestellt. Die
   Zeichnungen mssen also am linken unteren Rand liegen. Man kann sich bzgl.
   der Abmasse grob behelfen, in dem man das DRAW-Fenster beim Entwurf ber
   ein Statusfenster schiebt. Man beachte, da DRAW-Dateien von Natur aus
   einen transparenten Hintergrund besitzen. Was sehr ntzlich ist, da man
   sie so mhelos berlagern kann. Dies kann z.B. zur Einblendung von
   Warnhinweisen in der Patronenfllzustandsanzeige nutzen, wenn die Patronen
   einen bestimmten Tintenstand unterschritten haben. Auch ist es mglich,
   eine Anleitung zum Partonenwechsel zu erzeugen, bei der die unterste
   Anzeigeebene einen Drucker ohne Deckel und ohne Patronen zeigt. Der Deckel
   bzw. die Patronen werden dann bei Bedarf per berlagerung eingeblendet.

   Das Benennen von Gruppen in DRAW-Dateien ist meines Wissens nach in !Draw
   nicht mglich. !Artworks erlaubt zwar das Benennen von solchen Gruppen,
   speichert diese Information aber nicht beim DRAW-Export, wie brigens die
   von Artworks erzeugten DRAW-Dateien in Verwendung mit dem RISC OS
   DRAW-Modul zu den letzten groen Abenteuern unserer Zeit gehren. Ich wei
   nicht, was es ist, aber es fhrt das Redraw-Handling gegen die Wand. So
   kann man Gruppennamen letztlich erstellen, indem man die DRAW-Datei in
   einen besseren Texteditor, wie !Zap oder !StrongEd ldt und die 12
   Leerzeichen jeder Gruppe entsprechend berschreibt. Rein theoretisch kann
   man so auch die Gruppe auf ein Objekt beschrnken, dies ist aber ein
   zeimlicher Aufwand, so da man jedem Objekt, das als Gruppe genutzt werden
   soll, ein passendes unsichtbares Dummy-Objekt mitgeben sollte.

Sonstiges

   Moderne Tintenstrahldrucker werden kostenoptimiert hergestellt. Der in
   alten Modellen noch vorhandene Papierendesensor entfllt deshalb
   ersatzlos. Man bekommt deshalb immer erst mit, da kein Papier im Drucker
   ist, nachdem man den Druckauftrag gestartet hat und nicht wie es sinnvoll
   gewesen wre, schon vorher.

   Die meisten Modelle der Firma Canon verzichten darauf im Drucker
   mitzuschreiben, wieviel Tinte schon aus einer Patrone verbraucht wurde.
   Dafr hat Canon einen echten Messsensor, der unterhalb einer bestimmten
   Fllmenge signalisiert, ob die Patrone bald leer ist. Canon liefert unter
   Windows zwar ebenfalls kontinuierliche Fllstandanzeigen, diese werden
   aber direkt durch den Druckertreiber verwaltet und sind deshalb auf
   anderen Maschinen nicht zugnglich. Betreibt man solche Drucker ber
   Umschalter an mehreren Rechnern, ist die Windows-Anzeige wahrscheinlich
   prinzipbedingt falsch. EPSON hingegen verwaltet die Tintenstnde
   druckerintern, allerdings wohl hauptschlich dazu, um die Kunden vom
   preiswerten Befllen gebrauchten Patronen abzuhalten. Die entsprechenden
   Kommandos zum Zurcksetzen der Tintenstandseinheiten sind jedenfalls nicht
   dokumentiert. Konsequenterweise haben die EPSON-Drucker kostenoptimiert
   keine absoluten Tintenstandssenoren.
