
DeskJet Tools					     (c) Dietmar Eilert
-----------------------------------------------------------------------
							       8.6.1991
    Teil A: SetFont-Programm
    Teil B: Cartridge-Routine


    Die beschriebenen Programme sowie die Softfonts duerfen privat oder
    im Rahmen der KICKSTART-PD-Serie frei kopiert und weitergegeben
    werden - anderweitige Nutzung verlangt das schriftliche Einverständnis
    des Autors.


TEIL A: SetFont-Programm
------------------------

a)  Allgemeines

    SetFont ist ein Programm, das den Umgang mit Download-Fonts
    fuer Drucker von Hewlett Packard (DeskJet-/LaserJet-Familie) etwas
    vereinfacht:
    Normalerweise werden Download-Fonts ("Softfonts") bei diesen Druckern
    gesetzt, indem die Zeichensatzdateien einzeln an den Drucker geschickt
    werden, begleitet von einigen administrativen Codes (Identifikations-
    nummern des Softfonts, Permanent/Temporaer-Flags).
    SetFont ermoeglicht es nun, meherere Softfonts zu einem "Cartridge"
    zusammenzufassen; dieses Font-Paket kann dann spaeter mit einem
    einfachen Mausklick zum Drucker geschickt und fuer die Ausgabe aktiviert
    werden. Es werden bis zu 16 verschiedene "Soft-Cartridges" verwaltet,
    so dass man sich fuer spezielle Anwendungen auch spezielle Cartridges
    zusammmenstellen kann - denkbar waeren etwa ein BRIEF-Cartridge, ein
    MATHE-Cartridge (mathematische Symbole), ein IBM-Cartridge (IBM-
    kompatible Fonts), ...
    Selbstverstaendlich werden Fonts, die in mehereren Cartridges
    auftauchen, nur einmal abgespeichert; es ist moeglich (aber wohl kaum
    sinnvoll), die Fonts eines Cartridges auf meherere Laufwerke oder
    Partitionen zu verteilen.

    BITTE BEACHTEN SIE: UM SOFTFONTS MIT EINEM DESKJET UEBERHAUPT NUTZEN
    ZU KÖNNEN, BRAUCHEN SIE EINE RAM-ERWEITERUNG FUER IHREN DRUCKER !


b)  Arbeitsweise

    SetFont ist im Grunde lediglich ein Programm zur Script-Erstellung:
    Mit ihm laesst sich relativ komfortabel eine Textdatei erzeugen, die
    die gewuenschten Cartridge-Zusammenstellungen im Klartext enthaelt.
    Die <DOWNLOAD>-Funktion liest dann lediglich diese Liste aus und
    schickt die benoetigten Files zum Drucker.
    Die Cartridge-Konfigurationsdatei wird uebrigens von SetFont automatisch
    im aktuellen S:-Verzeichnis unter dem Namen CARTRIDGES.TXT erzeugt -
    von einem Editieren per Hand ist allerdings abzuraten, da das Programm
    empfindlich auf falsche Eintraege reagiert.
    Die einmal zusammengestellten Cartridges koennen spaeter dann nicht
    nur von dem interaktiven SetFont-Utility genutzt werden - auch der
    (in diesem Paket enthaltene) neue CLI-Befehl CARTRIDGE greift auf die
    Zusammenstellung zu; auf diese Weise koennen Sie den Aufruf eines
    Font-Cartridges bequem in die Startup-Sequenz Ihrer Textverarbeitung
    integrieren.


c)  Bedienung

    Diesem Programm habe ich einige DeskJet-Softfonts beigefuegt.
    Im folgenden werden die noetigen Schritte beschrieben, um Fonts
    zu einem Cartridge zusammenzustellen und zur Ausgabe zu
    aktivieren (die größeren Softfonts können sie u.U. nur auf dem
    DeskJet PLUS bzw. dem 500er Modell benutzen).

    1. Das SetFont-Utilitie ueber CLI oder Workbench starten

       In der oberen Haelfte des SetFont-Fensters werden die 7
       "Slots" eines "Cartridges" angezeigt; jeder Slot kann
       einen Softfont aufnehmen; Betätigen Sie CLR, um den Cartridge
       Nr. 0 zu löschen.

    2. Aktivieren Sie Slot 1 durh Anklicken; dadurch wird erreicht,
       dass sich die folgenden Operationen (Laden, Loeschen) nur auf
       diesen Slot auswirken.

    3. AddFont anwaehlen. Es erscheint eine Fileselect-Box.
       In der Auswahlbox koennen kein Pfadnamen wie RAM: benutzt werden,
       da das Programm nach einem Reset Fonts mit derartigen
       Pfaden nicht wiederfinden wuerde.

    4. Einen der beigefuegten Fonts (im Verzeichnis HP-FONTS) anklicken
       und mit ADD bestaetigen. Die Namen der DeskJet-Softfonts enden
       aus ".DJP".

       Der gewaehlte Zeichensatz wird untersucht und - falls fuer gut
       befunden - in Slot 1 eingetragen (die Fileselect-Box schliesst
       automatisch). Selbstverstaendlich werden nur Files akzeptiert,
       die den HP-Konventionen fuer Softfonts entsprechen.
       Neben dem Namen werden angezeigt:

       - die Font-Groesse (in Points)
       - der Font-Typ (Laser=LSR DeskJet=DJP)
       - bestimmte Stil-Attribute:

	B = BOLD
	I = ITALICS
	U = UPRIGHT
	L = LANDSCAPE
	F = FIXED
	P = PROPORTIONAL
	C = COMPRESSED
	E = EXPANDED

    5. Mit Anwahl eines gueltigen Softfonts wird automatisch die Speicher-
       platz-Berechnung fuer den aktuellen Cartridge korrigiert und
       angezeigt ; bitte beachten Sie die die fuer Sie gueligen Grenzwerte
       (z.B. 128 Kbyte, wenn Sie die 128K-Softfont-Karte besitzen).

    6. Aktivieren Sie Slot Nr.2 und laden Sie Ihn auf die zuvor
       beschriebene Weise mit einem anderen Softfont.

    7. Nun geben wir unserem Cartridge (dessen Nummer, 0, unten links
       angezeigt wird) einen Namen:
       Klicken Sie dazu das Eingabefeld direkt neben der Speicherplatz-
       anzeige an und tragen Sie eine gewuenschte Bezeichnung ein (z.B.
       BRIEF).

    8. Mit Hilfe der angzeigten "+" und "-" Symbole koennen Sie eines
       der uebrigen 16 Cartridges auswaehlen und ebenfalls mit Fonts
       fuellen; die Softfonts duerfen uebrigens auf mehrereren Disketten
       verteilt vorliegen - ueber die jeweilige Herkunft wird Buch
       gefuehrt.

    9. Waehlen Sie <SAVE>, um die Ergebnisse Ihrer Arbeit zu sichern

   10. Die Anwahl des <DOWNLOAD>-Feldes uebertraegt die gerade angezeigten
       Fonts zum Drucker (Printer auf ONLINE !!). Der zuletzt aktivierte
       (umrandete) Slot stellt den Default-Font, mit dem die naechste
       Druckerausgabe erfolgt; die anderen Softfonts werden spaeter ueber
       ihre Nummer ansprechbar sein (s. Abschnitt ESC-Sequenzen).

       Achtung:

  Der Download eines Cartridges gefolgt von einem CLI-Kommando
  (wie LIST df0: TO PRT:) bringt nicht immer den gewuenschten Erfolg,
  da der Amiga vor der Druckerausgabe zunaechst einen RESET-Code
  sendet - und der schaltet den Drucker wieder auf normale Schrift.
  Abhilfe:

  - Erst irgend etwas am Drucker ausgeben z.B. ECHO >PRT: ""

  - Danach mit SetFont den Download durchfuehren

  - Dann erst die gewuenschten Daten ausgeben


  Selbstverstaendlich ist diese Art der Ausgabe viel zu umstaendlich
  und unbequem (ganz davon abgesehen, dass nur der Default-Font des
  Cartridges ansprechbar ist). Um Softfonts wirklich sinnvoll zu
  nutzen MUESSEN Sie mit einem Textsystem (z.B. BeckerText von Data
  Becker) arbeiten (s.u.) !


d) Bedeutung der Tasten

    AddFont .... den aktuellen Slot mit einem neuen Font laden
    Remove ..... den im aktuellen Slot gespeicherten Font loeschen
    CLR ........ den aktuellen Font-Cartridge loeschen
    Save ....... alle aktuellen Einstellungen speichern
    Download ... die Fonts im aktuellen Cartridge zum Drucker schicken
		 (Drucker vorher auf ONLINE stellen !)
    Test ....... Druckerselbsttest - alle im Drucker vorhandenen Fonts
		 werden in einer Uebersicht gedruckt; Drucker vorher auf
		 ONLINE !
    Stop ....... Programm beenden


e)  ESC-Sequencen

    Der DeskJet (LaserJet) bietet zwei grundsaetzlich verschiedene
    Moeglichkeiten an, um einen (im Druckerspeicher vorhandenen) Font
    zu aktivieren:

    -  Auswahl ueber Attribute

       Sie waehlen die gewuenschten Eigenschaften des Fonts (z.B. Fettdruck,
       Proportional, PICA) - der Drucker sucht dann fuer Sie einen passenden
       Font aus.
       Diese Art der Fonselektion ist flexibel und sicher (besonders in
       Multiuser-Umgebungen), aber leider ziemlich umstaendlich.

    -  Auswahl ueber die Font-Nummer (nur bei Softfonts)

       Jedem Softfont wird waehrend des Download-Vorganges eine Nummer
       zugeordnet (entspricht bei Benutzung des SetFont-Utilities der
       Slotnummer); ein Softfont kann dann spaeter einfach unter Angabe
       dieser Nummer ausgewaehlt werden.
       Die Escape-Sequenz zur Font-Auswahl lautet:

       ESC ( # X    (#=Fontnummer im KLARTEXT)

       Ein kleines Basic-Programm zum Drucken des Wortes "TEST" mit dem
       Zeichensatz in Slot Nr.5 koennte also wie folgt aussehen:

       OPEN "o",1,"PAR:"
       PRINT #1,CHR$(27)+"(5X";"TEST";
       CLOSE 1


    Andere ESC-Sequenzen im Zusammenhang mit Download-Fonts:

    ESC * c 0 F ...... loescht alle Fonts im Druckerspeicher
    ESC * c 5 F ...... macht den zuletzt uebertragenen Font "permanent"
		       (permanente Fonts ueberleben einen Drucker-Reset)
    ESC * c 2 F ...... Loescht den zuletzt uebertragenen Font



f) Integration von Softfonts in Ihre Textverarbeitung

    Um Softfonts in einer Textverarbeitung gezielt ansprechen zu koennen,
    muessen die eben vorgestellten ESC-Sequenzen benutzt werden - dies
    geht, falls Escape-Sequenzen nicht direkt eingegeben werden koennen,
    nur ueber die Druckertreiber.
    Ich moechte dies hier einmal am Beispiel von BeckerText demonstrieren:


    1. Den Druckertrieber als Text laden - es handelt sich dabei um
       Klartext-Files im Verteichnis PRT der BeckerText-Diskette.

    2. Einige "zu eruebrigende" Zeichen durch unsere ESC-Sequenzen
       ersetzen - etwa:

       {    27,40
       }    88
       §    27,40,51,64


       Damit wuerde in Zukunft die in der Textverarbeitung im Klartext
       geschriebene Zeichenfolge {3} den Softfont Nr.3 einschalten -
       die Zeichenfolge selbst wird nicht gedruckt. Das Paragraphen-
       Zeichen schaltet auf Standard-Schrift um.

    3. Den veraenderten Druckertreiber (als ASCII-Text) sichern und an-
       schliessend ueber LADEN/DRUCKER fuer die Ausgabe aktivieren.





TEIL B: CARTRIDGE - ein neuer CLI-Befehl
----------------------------------------

a)  Allgemeines

    Eine einfache Erklaerung fuer die Arbeitsweise der CARTRIDGE-Routine
    waere, dass es sich hier um eine reduzierte Version von SetFont
    handelt: es koennen zwar einfach Cartridges ausgewaehlt und
    aktiviert werden, das Zusammenstellen neuer Cartridges ist aber
    Setfont vorbehalten.

    MERKE: Solange mit dem SetFont-Utility keine Softfont-Cartridges
    zusammengestellt wurden, kann mit CARTRIDGE nicht gearbeitet
    werden.


a)  Arbeitsweise

    CARTRIDGE ist ein CLI-Befehl, der NICHT ueber die Workbench verwendet
    werden kann. Ein Anwendungsgebiet, an das ich bei der Entwicklung
    dieser Routine gedacht habe, waere das automatische Laden von
    Softfonts in der Startup-Sequenz:
    Diskette einlegen, Rechner an - fertig: Die benoetigten Softfonts
    werden automatisch aktiviert, die Textverarbeitung gestartet.


b)  Syntax

    Mit der im AmigaDos-Handbuch eingefuehrten Schreibweise lautet die
    Syntax von CARTRIDGE wie folgt:

    CARTRIDGE [CLR] [SET <name>] [FROM <script>] [LIST] [USE <#>]

    <name>   = Name oder Nummer des gewuenschten Cartridges
    <script> = Pfad des Script-Files (CARTRIDGES.TXT)
    CLR      = Loeschbefehl fuer das Drucker-RAM
    LIST     = Liste der verfuegbaren Cartridges anzeigen
    <#>      = Default-Font


    Zur Verdeutlichung hier einige Beipiele samt Kommentar:

    a) CARTRIDGE ?

       .... zeigt den Syntax des Befehls an

    b) CARTRIDGE LIST

       .... zeigt alle mit SetFont angelegten und zusammengestellten
       Cartridges an. Wenn Sie die in der obigen Anleitung beschriebenen
       Schritte nachvollzogen haben, so wuerde nun der Inhalt (die Fonts)
       des Cartridges BRIEF am Bildschirm angezeigt.
       Wurden mit dem Setfont-Utility noch keine Cartridges zusammen-
       gestellt, so erfolgt eine "script file not found"-Fehlermeldung.

    c) CARTRIDGE CLR

       ... loescht alle Softfonts, die sich im Druckerspeicher befinden.

    d) CARTRIDGE LIST FROM Df0:S/

       ... hat den selben Effekt wie CARTRIDGE LIST - allerdings wird
       jetzt in dem explizit angegebenen Verzeichnis nach dem Script-
       File (CARTRIDGES.TXT) gesucht.; das Script-File enthaelt
       Informationen ueber saemtliche Cartrige-Zusammenstellungen.

    e) CARTRIDGE SET BRIEF

       ... fuehrt einen Download mit den im Cartridge BRIEF enthaltenen
       Softfonts durch. Sie koennen die Cartridges neben dem jeweiligen
       Namen auch ueber ihre Nummer (wie bei CARTRIDGE LIST angezeigt)
       ansprechen - also z.B. CARTRIDGE SET 0
       Die Option FROM XY (vgl. d) kann hier ebenfalls verwendet werden,
       um den Pfad des Script-Files anzugeben.
       Als Default-Font (der Font, mit dem die naechste Druckerausgabe
       erfolgt) wird der mit SetFont zuletzt aktivierte Slot gewaehlt.


    f) CARTRIDGE SET MATHE FROM DH0:S/ USE 2

       ... aktiviert die Softfonts des MATHE-Cartridges, wobei die
       Information ueber die Cartridge-Zusammenstellung aus dem File
       DH0:S/CARTRIDGES.TXT ausgelesen wird. Als Default-Font wird
       explizit der Slot Nr. 2 gewaehlt.





  Meine Adresse:
  -------------

  Dietmar Eilert
  Mies-van0-der-Rohe-Str.
  D-5100 Aachen
  Telefon (0241) 81665





