home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / TEKST / DVID15G1 / EMTEX / DOC / GERMAN / MAKEDOT.DOC < prev   
Text File  |  1994-09-01  |  40KB  |  1,258 lines

  1. ==============================================================================
  2. MAKEDOT.DOC für makedot 1.2d                              VERSION: 01-Sep-1994
  3. ==============================================================================
  4.  
  5.  
  6. Inhalt
  7. ======
  8.  
  9. 1      Einleitung
  10. 2      Aufruf
  11. 2.1      Umwandlung einer Textdatei in eine Parameterdatei
  12. 2.2      Umwandlung einer Parameterdatei in eine Textdatei
  13. 2.3      Konvertierung zwischen verschiedenen DOT-Dateiformaten
  14. 2.4      Umwandlung einer Textdatei in eine Binärdatei
  15. 2.5      Umwandlung einer Binärdatei in eine Textdatei
  16. 3      Aufbau der Textdatei für eine Parameterdatei
  17. 3.1      Schlüsselwörter
  18. 3.1.1      Schlüsselwörter für alle Parameterdateitypen
  19. 3.1.2      Schlüsselwörter für TYPE=DOT
  20. 3.1.3      Schlüsselwörter für TYPE=DOT_HORZ
  21. 3.1.4      Schlüsselwörter für TYPE=BITMAP
  22. 3.2      Codesequenzen
  23. 3.3      Beispiele für Codesequenzen
  24. 4      Aufbau der Textdatei für eine Binärdatei
  25. 5      Hinweise
  26. 6      Anhang: Alte Methode für Parameter in Codesequenzen
  27. 7      Entstehungsgeschichte
  28.  
  29.  
  30. 1 Einleitung
  31. ============
  32.  
  33. Das Programm makedot wird zur Erzeugung von Parameterdateien für
  34. dvidot verwendet. Es hat hierfür zwei Funktionen:
  35.  
  36. - Umwandlung einer Textdatei in eine Parameterdatei (DOT-Datei).
  37.  
  38. - Umwandlung einer Parameterdatei (DOT-Datei) in eine Textdatei.
  39.  
  40. Wenn Sie eine Parameterdatei ändern wollen, müssen Sie diese zunächst
  41. in eine Textdatei umwandeln lassen. Diese Textdatei können Sie dann
  42. mit einem Texteditor ändern. Anschließend kann aus dieser Textdatei
  43. eine Parameterdatei erzeugt werden.
  44.  
  45. makedot kann aber auch zur Erstellung von Binärdateien wie sie z.B.
  46. für die Option +init-files von dvihplj und dvidot benötigt werden ver-
  47. wendet werden.
  48.  
  49.  
  50. 2 Aufruf
  51. ========
  52.  
  53.  
  54. 2.1 Umwandlung einer Textdatei in eine Parameterdatei
  55. -----------------------------------------------------
  56.  
  57. Der Aufruf
  58.  
  59.     makedot -c [<Optionen>] <eingabe_datei> [<ausgabe_datei>]
  60.  
  61. erzeugt aus der Textdatei <eingabe_datei> die DOT-Datei
  62. <ausgabe_datei>. Die Standarderweiterung für die Ausgabedatei ist DOT.
  63. Wenn keine Ausgabedatei angegeben wird, wird der Name der Eingabedatei
  64. (mit .dot) verwendet. Wenn für die Eingabedatei `-' angegeben wird, so
  65. wird von der Standardeingabe (stdin) gelesen.
  66.  
  67.  
  68. 2.2 Umwandlung einer Parameterdatei in eine Textdatei
  69. -----------------------------------------------------
  70.  
  71. Der Aufruf
  72.  
  73.     makedot -d [<Optionen>] <eingabe_datei> [<ausgabe_datei>]
  74.  
  75. erzeugt aus der DOT-Datei <eingabe_datei> die Textdatei
  76. <ausgabe_datei>. Die Standarderweiterung für die Eingabedatei ist DOT.
  77. Wenn keine Ausgabedatei angegeben wird, wird der Name der Eingabedatei
  78. (ohne Erweiterung .dot) verwendet. Wenn für die Ausgabedatei `-' ange-
  79. geben wird, so erfolgt die Ausgabe auf die Standardausgabe (stdout).
  80.  
  81.  
  82. 2.3 Konvertierung zwischen verschiedenen DOT-Dateiformaten
  83. ----------------------------------------------------------
  84.  
  85. dvidot 1.4n und später kann alte DOT-Dateien nicht mehr verwenden.
  86. Diese müssen mit makedot konvertiert werden. Der Aufruf
  87.  
  88.     makedot -r [<Optionen>] <eingabe_datei> [<ausgabe_datei>]
  89.  
  90. konvertiert die DOT-Datei <eingabe_datei> in die DOT-Datei
  91. <ausgabe_datei>. Wenn keine Ausgabedatei angegeben ist, wird die
  92. Eingabedatei mit der konvertierten Datei überschrieben.
  93.  
  94. Wenn `-o' angegeben wird, erzeugt makedot eine Datei, die von älteren
  95. Versionen von makedot und dvidot bearbeitet werden kann -- sofern eine
  96. Umsetzung möglich ist. Um z.B. eine neue DOT-Datei in das alte Format
  97. zu konvertieren, können Sie
  98.  
  99.     makedot -ro <eingabe_date> [<ausgabe_datei>]
  100.  
  101. verwenden.
  102.  
  103. Wenn `-q' angegeben wird, gibt makedot nicht seine Titelzeile aus.
  104.  
  105.  
  106. 2.4 Umwandlung einer Textdatei in eine Binärdatei
  107. -------------------------------------------------
  108.  
  109. Der Aufruf
  110.  
  111.     makedot -b [<Optionen>] <eingabe_datei> <ausgabe_datei>
  112.  
  113. wandelt die Textdatei <eingabe_datei> in die Binärdatei
  114. <ausgabe_datei> um. Wenn für die Eingabedatei `-' angegeben wird, so
  115. wird von der Standardeingabe (stdin) gelesen.
  116.  
  117. Wenn `-q' angegeben wird, gibt makedot nicht seine Titelzeile aus.
  118.  
  119.  
  120. 2.5 Umwandlung einer Binärdatei in eine Textdatei
  121. -------------------------------------------------
  122.  
  123. Der Aufruf
  124.  
  125.     makedot -a [<Optionen>] <eingabe_datei> <ausgabe_datei>
  126.  
  127. wandelt die Binärdatei <eingabe_datei> in die Textdatei
  128. <ausgabe_datei> um. Wenn für die Ausgabedatei `-' angegeben wird, so
  129. erfolgt die Ausgabe auf die Standardausgabe (stdout).
  130.  
  131. Wenn `-q' angegeben wird, gibt makedot nicht seine Titelzeile aus.
  132.  
  133.  
  134. 3 Aufbau der Textdatei für eine Parameterdatei
  135. ==============================================
  136.  
  137. Eine Textdatei kann Kommentarzeilen enthalten. Diese beginnen mit
  138. einem `*' oder `%'. Alle darauffolgenden Zeichen dieser Zeilen werden
  139. dann ignoriert. Auch Leerzeilen werden ignoriert.
  140.  
  141. Alle anderen Zeilen enthalten ein Schlüsselwort nach dem ein
  142. Gleichheitszeichen stehen muß. Nach dem Gleichheitszeichen folgen die
  143. Parameter für dieses Schlüsselwort. (Die Parameter können bei manchen
  144. Schlüsselwörtern auch fehlen.)
  145.  
  146.  
  147. 3.1 Schlüsselwörter
  148. -------------------
  149.  
  150. In den folgenden Listen sind alle Schlüsselwörter aufgeführt. Sie
  151. müssen alle hier gezeigten Schlüsselwörter (außer den in eckigen
  152. Klammern eingeschlossenen) benutzen, die Reihenfolge ist beliebig.
  153. Optionale Teile einer Zeile sind in eckige Klammern eingeschlossen,
  154. Alternativen durch senkrechte Striche getrennt und in runde Klammern
  155. eingeschlossen. Für die verschiedenen Sorten von Argumenten werden
  156. diese Abkürzungen benutzt:
  157.  
  158. <d>     Längenangabe (dimension): Zahl und TeX-Einheit (auch px)
  159.  
  160. <e>     <Ausdruck>
  161.  
  162. <n>     Zahl
  163.  
  164. <s>     Codesequenz
  165.  
  166. <t>     Text
  167.  
  168. Diese Argumenttypen sind weiter unten erklärt. Je nach Einstellung von
  169. TYPE= können verschiedene Schlüsselwörter verwendet werden.
  170.  
  171.  
  172. 3.1.1 Schlüsselwörter für alle Parameterdateitypen
  173. --------------------------------------------------
  174.  
  175. Die folgenden Schlüsselwörter können für beide Arten von
  176. Parameterdateien verwendet werden.
  177.  
  178. [COMMENT=[<t>]]
  179.  
  180.     Kommentar. Der Kommentar wird in der Parameterdatei gespeichert
  181.     aber ignoriert.
  182.  
  183. ENV_NAME=<t>
  184.  
  185.     Name einer Environment-Variablen, aus der dvidot Optionen
  186.     entnehmen soll.
  187.  
  188. FONT_PATH=<t>
  189.  
  190.     Pfad für Zeichensatzdateien. Dies ist die Voreinstellung für
  191.     +font-files.
  192.  
  193. LOG_NAME=<t>
  194.  
  195.     Name der Protokolldatei.
  196.  
  197. PAGE_HEIGHT=<d>
  198.  
  199.     Seitenhöhe. Voreinstellung für +height.
  200.  
  201. PAGE_WIDTH=<d>
  202.  
  203.     Seitenbreite. Voreinstellung für +width.
  204.  
  205. RESOLUTION=<n1> <n2>
  206.  
  207.     Auflösung. <n1> ist die Voreinstellung für +resolution-x, <n2> ist
  208.     die Voreinstellung für +resolution-y.
  209.  
  210. [TYPE=[(DOT | DOT_HORZ | BITMAP)]]
  211.  
  212.     Typ der Parameterdatei. Die Typen DOT und DOT_HORZ erzeugen eine
  213.     Parameterdatei für Matrixdrucker. Der Typ BITMAP erzeugt eine
  214.     Parameterdatei für die Erzeugung einer Grafikdatei. Bei TYPE= ohne
  215.     Argument oder bei Fehlen von TYPE= wird TYPE=DOT angenommen.
  216.  
  217. [VF_PATH=<t>]
  218.  
  219.     Pfad für VF-Dateien. Dies ist die Voreinstellung für
  220.     +virtual-fonts und sollte leergelassen werden.
  221.  
  222.  
  223. 3.1.2 Schlüsselwörter für TYPE=DOT
  224. ----------------------------------
  225.  
  226. Die folgenden Schlüsselwörter können nur in Parameterdateien verwendet
  227. werden, die TYPE=DOT enthalten.
  228.  
  229. BLANK_WIDTH=[<n>]
  230.  
  231.     Breite eines Leerzeichens. Leerzeichen werden am linken Rand
  232.     benutzt, um den Druckkopf nach rechts zu bewegen. Hierzu wird die
  233.     Breite eines Leerzeichens in Grafikpunkten benötigt. Sollen keine
  234.     Leerzeichen zum Einrücken benutzt werden, so ist das Argument leer
  235.     zu lassen.
  236.  
  237. COLUMNS=<n>
  238.  
  239.     Maximale Anzahl der Druckspalten im Grafikmodus. Dieser Wert ist
  240.     eine obere Grenze für +width.
  241.  
  242. [DOUBLE_SIDED_LONG=[<s>]]
  243.  
  244.     Mit dieser Codesequenz wird der Drucker so eingestellt, daß er
  245.     automatisch zweiseitig druckt, d.h., die erste Ausgabeseite wird
  246.     auf die Vorderseite, die zweite auf die Rückseite der ersten
  247.     Blattes gedruckt; die dritte auf die Vorderseite des zweiten
  248.     Blattes usw. wobei entlang der längeren Kante gebunden wird. Wenn
  249.     hier eine Codesequenz angegeben ist, wird die Kommandozeilenoption
  250.     +double-sided:long verfügbar.
  251.  
  252. [DOUBLE_SIDED_SHORT=[<s>]]
  253.  
  254.     Mit dieser Codesequenz wird der Drucker so eingestellt, daß er
  255.     automatisch zweiseitig druckt, d.h., die erste Ausgabeseite wird
  256.     auf die Vorderseite, die zweite auf die Rückseite der ersten
  257.     Blattes gedruckt; die dritte auf die Vorderseite des zweiten
  258.     Blattes usw. wobei entlang der kürzeren Kante gebunden wird. Wenn
  259.     hier eine Codesequenz angegeben ist, wird die Kommandozeilenoption
  260.     +double-sided:short verfügbar.
  261.  
  262. EXIT=[<s>]
  263.  
  264.     Die Codesequenz, die am Ende des Drucks an den Drucker geschickt
  265.     wird.
  266.  
  267. FF_METHOD=(FF | LF)
  268.  
  269.     Seitenvorschub mit der Codesequenz FORM_FEED (siehe unten) oder
  270.     mit vielen Zeilenvorschüben (siehe FORM_LENGTH).
  271.  
  272. FORM_FEED=[<s>]
  273.  
  274.     Codesequenz zum Erzeugen eines Blattvorschubs. Wird
  275.     bei FF_METHOD=FF benötigt. Die Länge des Vorschubs in
  276.     Vorschub-Einheiten (Grafikpunkte für VMU=1) ist in der Variablen
  277.     `form_feed' verfügbar.
  278.  
  279. FORM_LENGTH=[<d>]
  280.  
  281.     Blattlänge. Voreinstellung für +form-length. Wird nur bei
  282.     FF_METHOD=LF benötigt.  Wenn <d> nicht angegeben ist, verwendet
  283.     dvidot die eingestellte Seitenhöhe als Blatthöhe.
  284.  
  285. GRAPH_END=[<s>]
  286.  
  287.     Codesequenz, die unmittelbar nach den Grafikdaten an den Drucker
  288.     geschickt wird. Üblicherweise leer.
  289.  
  290. GRAPH_MODE=[<s>]
  291.  
  292.     Die Codesequenz, die den Grafikmodus einleitet. Auf diese Sequenz
  293.     folgen unmittelbar die binären Grafikdaten. Die Breite der Grafik
  294.     (Grafikpunkte) ist in der Variablen `pixels' verfügbar.
  295.  
  296. INIT1=[<s>]
  297.  
  298.     Die Codesequenz, die zu Beginn an den Drucker geschickt wird,
  299.     falls +slow:off (Voreinstellung) eingestellt ist.
  300.  
  301. INIT2=[<s>]
  302.  
  303.     Die Codesequenz, die zu Beginn an den Drucker geschickt wird,
  304.     falls +slow:on eingestellt ist.
  305.  
  306. LINE_FEED=[<s>]
  307.  
  308.     Die Codesequenz zum Erzeugen eines Zeilenvorschubs. Außerdem
  309.     wird diese Codesequenz bei FF_METHOD=LF verwendet. Die Größe
  310.     des Zeilenvorschubs (Vorschub-Einheiten oder Grafikpunkte für
  311.     VMU=1) ist in der Variablen `line_feed' verfügbar.  Falls eine
  312.     POS_Y-Sequenz definiert ist, wird LINE_FEED nicht verwendet, außer
  313.     für den Seitenvorschub falls FF_METHOD=LF eingestellt ist.
  314.  
  315. MAX_LF=<n>
  316.  
  317.     Dies ist die der größte mit einer Druckersteuersequenz (siehe
  318.     LINE_FEED) erzielbare Zeilenvorschub in Vorschub-Einheiten
  319.     (Grafikpunkte für VMU=1). Größere Zeilenvorschübe werden von
  320.     dvidot aus mehreren kleineren Zeilenvorschüben zusammengesetzt.
  321.  
  322. MAX_WIDTH=[<n1> [<n2>]]
  323.  
  324.     Wenn die Seitenbreite (in Grafikpunkte umgerechnet) auf einen
  325.     dieser Werte eingestellt wird, so wird die Seitenbreite um eins
  326.     verringert, damit der Drucker keinen Zeilenvorschub erzeugt, wenn
  327.     der rechte Rand erreicht wird. Auf diese Weise wird am rechten
  328.     Rand ein Grafikpunkt leergelassen.
  329.  
  330. METHOD=<n1> <n2>
  331.  
  332.     Druckmethode. Der Wert <n1> gibt an, wieviele Bytes pro
  333.     Grafikspalte an den Drucker geschickt werden müssen (1 bis 8). Der
  334.     Wert <n2> gibt an, wie oft eine Zeile überdruckt werden soll (mit
  335.     kleinstem Zeilenabstand dazwischen). Wenn z.B. der Nadelabstand
  336.     1/72 Zoll beträgt und der Drucker halbwegs zuverlässig
  337.     1/216-Zoll-Papervorschübe ausführen kann, sollte für <n2> 3 angege-
  338.     ben werden. Damit wird in diesem Beispiel eine vertikale Auflösung
  339.     von 216 DPI erzielt. Für <n2> können Werte von 1 bis 6 verwendet
  340.     werden.
  341.  
  342. ONE_LINE_FEED=[<n>]
  343.  
  344.     Dieser Wert wird bei INIT1 und INIT2 zum Programmieren des
  345.     Zeilenabstandes des Druckers verwendet. Wenn bei LINE_FEED (siehe
  346.     unten) der Zeilenabstand umprogrammiert wird, so muß das Argument
  347.     bei ONE_LINE_FEED leer bleiben. Der Drucker muß beim Empfang des
  348.     Zeichens LF den mit ONE_LINE_FEED eingestellten Zeilenvorschub
  349.     erzeugen.
  350.  
  351. PINS=<n1> <n2>
  352.  
  353.     Bitnummern der Nadeln. <n1> ist das Bit, das für die oberste
  354.     Nadel zuständig ist, <n2> ist das Bit, das für die unterste Nadel
  355.     zuständig ist (meistens PINS=0 7 oder PINS=7 0). Es können Werte
  356.     von 0 bis 7 angegeben werden.
  357.  
  358. POS_X=[<s>]
  359.  
  360.     Codesequenz zum direkten horizontalen Positionieren des
  361.     Druckkopfs. Die horizontale Position in Grafikpunkten ist in der
  362.     Variablen `pos_x' verfügbar.
  363.  
  364. [POS_Y=[<s>]]
  365.  
  366.     Codesequenz zum direkten vertikalen Positionieren des Druckkopfs.
  367.     Die vertikale Position in Grafikpunkten ist in der Variablen
  368.     `pos_y' verfügbar.  Falls eine POS_Y-Sequenz definiert ist, wird
  369.     LINE_FEED nicht verwendet, außer für den Seitenvorschub falls
  370.     FF_METHOD=LF eingestellt ist.
  371.  
  372. S_OPTION=(OFF | SLOW | DOUBLE_STRIKE)
  373.  
  374.     Bedeutung der Option +slow. Bei Einstellung von OFF gibt es
  375.     +slow überhaupt nicht. Bei SLOW bewirkt +slow:on die Verwendung
  376.     von INIT2 statt INIT1. Bei DOUBLE_STRIKE bewirkt +slow:on die
  377.     Verwendung von INIT2 statt INIT1 sowie das Drucken mit zwei
  378.     Durchläufen pro Zeile. Wenn mit zwei Durchläufen pro Zeile
  379.     gedruckt wird, werden beim ersten Durchlauf nur die 1., 3., usw.
  380.     Grafikspalte bedruckt, beim zweiten Durchlauf nur die 2., 4., usw.
  381.     Grafikspalte. Dies ist für Drucker gedacht, die eine Nadel nicht
  382.     zweimal in Folge abfeuern können.
  383.  
  384. [VMU=<n>]
  385.  
  386.     Vertical Motion Unit.  Dies ist die Anzahl der Grafikpunkte pro
  387.     Vorschub-Einheit. Falls der Drucker z.B. 360 DPI vertikal drucken
  388.     kann, aber das Papier nur in 1/180"-Schritten transportieren
  389.     kann, ist VMU=2 einzustellen. Wenn nichts oder 0 für VMU einge-
  390.     stellt ist, wird VMU=1 angenommen. Bei VMU=1 entsprechen die
  391.     Vorschub-Einheiten den Grafikpunkten.
  392.  
  393.  
  394. 3.1.3 Schlüsselwörter für TYPE=DOT_HORZ
  395. ---------------------------------------
  396.  
  397. Die folgenden Schlüsselwörter können nur in Parameterdateien verwendet
  398. werden, die TYPE=DOT_HORZ enthalten.
  399.  
  400. BITS=<n1> <n2>
  401.  
  402.     Bitanordnung innerhalb der Grafikbytes. Bit <n1> ist links, Bit
  403.     <n2> ist rechts. Es kann nur `BITS=7 0' oder `BITS=0 7' verwendet
  404.     werden.
  405.  
  406. COLUMNS=<n>
  407.  
  408.     Maximale Anzahl der Druckspalten im Grafikmodus. Dieser Wert ist
  409.     eine obere Grenze für +width.
  410.  
  411. [DOUBLE_SIDED_LONG=[<s>]]
  412.  
  413.     Mit dieser Codesequenz wird der Drucker so eingestellt, daß er
  414.     automatisch zweiseitig druckt, d.h., die erste Ausgabeseite wird
  415.     auf die Vorderseite, die zweite auf die Rückseite der ersten
  416.     Blattes gedruckt; die dritte auf die Vorderseite des zweiten
  417.     Blattes usw. wobei entlang der längeren Kante gebunden wird. Wenn
  418.     hier eine Codesequenz angegeben ist, wird die Kommandozeilenoption
  419.     +double-sided:long verfügbar.
  420.  
  421. [DOUBLE_SIDED_SHORT=[<s>]]
  422.  
  423.     Mit dieser Codesequenz wird der Drucker so eingestellt, daß er
  424.     automatisch zweiseitig druckt, d.h., die erste Ausgabeseite wird
  425.     auf die Vorderseite, die zweite auf die Rückseite der ersten
  426.     Blattes gedruckt; die dritte auf die Vorderseite des zweiten
  427.     Blattes usw. wobei entlang der kürzeren Kante gebunden wird. Wenn
  428.     hier eine Codesequenz angegeben ist, wird die Kommandozeilenoption
  429.     +double-sided:short verfügbar.
  430.  
  431. EXIT=[<s>]
  432.  
  433.     Die Codesequenz, die am Ende des Drucks an den Drucker geschickt
  434.     wird.
  435.  
  436. FF_METHOD=(FF | LF)
  437.  
  438.     Seitenvorschub mit der Codesequenz FORM_FEED (siehe unten) oder
  439.     mit vielen Zeilenvorschüben (siehe FORM_LENGTH).
  440.  
  441. FIRST_BYTE=(TOP | BOTTOM) (LEFT | RIGHT)
  442.  
  443.     Hiermit wird eingestellt, welcher Ecke der Grafik das erste Byte
  444.     der zu druckenden Grafikdaten entspricht. Mit TOP wird die oberste
  445.     Zeile zuerst gedruckt, mit BOTTOM wird die unterste Zeile zuerst
  446.     gedruckt. Mit LEFT kommt die linke Spalte jeder Zeile zuerst, mit
  447.     RIGHT kommt die rechte Spalte jeder Zeile zuerst. Die Einstellung
  448.  
  449.         FIRST_BYTE=TOP LEFT
  450.  
  451.     kommt am häufigsten vor.
  452.  
  453. FORM_FEED=[<s>]
  454.  
  455.     Codesequenz zum Erzeugen eines Blattvorschubs. Wird
  456.     bei FF_METHOD=FF benötigt. Die Länge des Vorschubs in
  457.     Vorschub-Einheiten (Grafikpunkte für VMU=1) ist in der Variablen
  458.     `form_feed' verfügbar.
  459.  
  460. FORM_LENGTH=[<d>]
  461.  
  462.     Blattlänge. Voreinstellung für +form-length. Wird nur bei
  463.     FF_METHOD=LF benötigt.  Wenn <d> nicht angegeben ist, verwendet
  464.     dvidot die eingestellte Seitenhöhe als Blatthöhe.
  465.  
  466. INIT1=[<s>]
  467.  
  468.     Die Codesequenz, die zu Beginn an den Drucker geschickt wird,
  469.     falls +slow:off (Voreinstellung) eingestellt ist.
  470.  
  471. INIT2=[<s>]
  472.  
  473.     Die Codesequenz, die zu Beginn an den Drucker geschickt wird,
  474.     falls +slow:on eingestellt ist.
  475.  
  476. LINE_FEED=[<s>]
  477.  
  478.     Die Codesequenz zum Erzeugen eines Zeilenvorschubs. Außerdem
  479.     wird diese Codesequenz bei FF_METHOD=LF verwendet. Die Größe
  480.     des Zeilenvorschubs (Vorschub-Einheiten oder Grafikpunkte für
  481.     VMU=1) ist in der Variablen `line_feed' verfügbar.  Falls eine
  482.     POS_Y-Sequenz definiert ist, wird LINE_FEED nicht verwendet, außer
  483.     für den Seitenvorschub falls FF_METHOD=LF eingestellt ist.
  484.  
  485. MAX_LF=<n>
  486.  
  487.     Dies ist die der größte mit einer Druckersteuersequenz (siehe
  488.     LINE_FEED) erzielbare Zeilenvorschub in Vorschub-Einheiten
  489.     (Grafikpunkte für VMU=1). Größere Zeilenvorschübe werden von
  490.     dvidot aus mehreren kleineren Zeilenvorschüben zusammengesetzt.
  491.  
  492. MAX_WIDTH=[<n1> [<n2>]]
  493.  
  494.     Wenn die Seitenbreite (in Grafikpunkte umgerechnet) auf einen
  495.     dieser Werte eingestellt wird, so wird die Seitenbreite um eins
  496.     verringert, damit der Drucker keinen Zeilenvorschub erzeugt, wenn
  497.     der rechte Rand erreicht wird. Auf diese Weise wird am rechten
  498.     Rand ein Grafikpunkt leergelassen.
  499.  
  500. ONE_LINE_FEED=[<n>]
  501.  
  502.     Dieser Wert wird bei INIT1 und INIT2 zum Programmieren des
  503.     Zeilenabstandes des Druckers verwendet. Wenn bei LINE_FEED (siehe
  504.     unten) der Zeilenabstand umprogrammiert wird, so muß das Argument
  505.     bei ONE_LINE_FEED leer bleiben. Der Drucker muß beim Empfang des
  506.     Zeichens LF den mit ONE_LINE_FEED eingestellten Zeilenvorschub
  507.     erzeugen.
  508.  
  509. POS_X=[<s>]
  510.  
  511.     Codesequenz zum direkten horizontalen Positionieren des
  512.     Druckkopfs. Die horizontale Position in Grafikpunkten ist in der
  513.     Variablen `pos_x' verfügbar.
  514.  
  515. [POS_Y=[<s>]]
  516.  
  517.     Codesequenz zum direkten vertikalen Positionieren des Druckkopfs.
  518.     Die vertikale Position in Grafikpunkten ist in der Variablen
  519.     `pos_y' verfügbar.  Falls eine POS_Y-Sequenz definiert ist, wird
  520.     LINE_FEED nicht verwendet, außer für den Seitenvorschub falls
  521.     FF_METHOD=LF eingestellt ist.
  522.  
  523. ROW_BEGIN=[<s>]
  524.  
  525.     Die Codesequenz, die eine Grafikzeile einleitet. Auf diese Sequenz
  526.     folgen unmittelbar die binären Grafikdaten. Die Breite der Grafik
  527.     (Grafikpunkte) ist in der Variablen `pixels' verfügbar.
  528.  
  529. ROW_END=[<s>]
  530.  
  531.     Die Codesequenz, die unmittelbar nach einer Grafikzeile geschickt
  532.     wird.  Die horizontale Position darf durch ROW_END verändert wer-
  533.     den, jedoch wird angenommen, daß der Cursor durch ROW_END in die
  534.     nächste Grafikzeile gestellt wird.
  535.  
  536. S_OPTION=(OFF | SLOW)
  537.  
  538.     Bedeutung der Option +slow. Bei Einstellung von OFF gibt es +slow
  539.     überhaupt nicht. Bei SLOW bewirkt +slow:on die Verwendung von
  540.     INIT2 statt INIT1.
  541.  
  542. [VMU=<n>]
  543.  
  544.     Vertical Motion Unit.  Dies ist die Anzahl der Grafikpunkte pro
  545.     Vorschub-Einheit. Falls der Drucker z.B. 360 DPI vertikal drucken
  546.     kann, aber das Papier nur in 1/180"-Schritten transportieren
  547.     kann, ist VMU=2 einzustellen. Wenn nichts oder 0 für VMU einge-
  548.     stellt ist, wird VMU=1 angenommen. Bei VMU=1 entsprechen die
  549.     Vorschub-Einheiten den Grafikpunkten.
  550.  
  551.  
  552. 3.1.4 Schlüsselwörter für TYPE=BITMAP
  553. -------------------------------------
  554.  
  555. Die folgenden Schlüsselwörter können nur in Parameterdateien verwendet
  556. werden, die TYPE=BITMAP enthalten.
  557.  
  558. ALIGN_WIDTH=<n>
  559.  
  560.     Die Grafikbreite wird auf ein ganzzahlig Vielfaches von <n> Bytes
  561.     gerundet. Für <n> können die Werte 1, 2 und 4 verwendet werden.
  562.  
  563. BITS=<n1> <n2>
  564.  
  565.     Bitanordnung innerhalb der Grafikbytes. Bit <n1> ist links, Bit
  566.     <n2> ist rechts. Es kann nur `BITS=7 0' oder `BITS=0 7' verwendet
  567.     werden.
  568.  
  569. CHECKSUM=<n1> <n2> <t> <n3> <e>
  570.  
  571.     Hiermit wird eingestellt, wie der Wert der Variablen `checksum'
  572.     für die HEADER-Codesequenz zu berechnen ist. Zunächst wird die
  573.     Variable `checksum' auf den Wert <n3> initialisiert. Dann er-
  574.     folgt eine Schleife über die HEADER-Codesequenz ab Byte-Posi-
  575.     tion <n1> mit <n2> Schleifendurchläufen: Je nach <t> werden
  576.     8, 16 oder 32 Bits dem Header entnommen und als Wert für die
  577.     Variable `value' verwendet; der Ausdruck <e> wird ausgewertet
  578.     und der Variablen `checksum' zugewiesen; es wird um 1, 2 oder
  579.     4 Bytes weitergegangen. Der Wert von `checksum' nach <n2>
  580.     Schleifendurchläufen ist der Wert, der für `checksum' bei HEADER
  581.     eingesetzt wird. Im für diese Berechnung verwendeten HEADER wird
  582.     0 für `checksum' und `file_size' eingesetzt. Wenn Sie `file_size'
  583.     für die Prüfsumme benötigen, können Sie versuchen, die Prüfsumme
  584.     beim Einfügen entsprechend zu modifizieren.
  585.  
  586.     Mögliche Angaben für <t> sind:
  587.  
  588.     BYTE    8 Bits
  589.  
  590.     WORD_LH
  591.             16 Bits, niederwertiges Byte zuerst
  592.  
  593.     WORD_HL
  594.             16 Bits, höherwertiges Byte zuerst
  595.  
  596.     LONG_LH
  597.             32 Bits, niedrigstwertiges Byte zuerst
  598.  
  599.     LONG_HL
  600.             32 Bits, höchstwertiges Byte zuerst.
  601.  
  602.     Beispiel:
  603.  
  604.         CHECKSUM=0 16 WORD_LH 0 (checksum^value)
  605.  
  606.     Die Prüfsumme wird durch 16-bitweises Exklusiv-Oder über die
  607.     ersten 32 Bytes gebildet.
  608.  
  609.     Wenn keine Prüfsumme benötigt wird, können Sie
  610.  
  611.         CHECKSUM=0 0 BYTE 0 0
  612.  
  613.     verwenden.
  614.  
  615. COMPRESS=(NO | MSP | PCX)
  616.  
  617.     Kompressionsmethode für die Grafikdaten. Bei COMPRESS=NO
  618.     wird nicht komprimiert, die Grafikdaten werden unverändert
  619.     in die Grafikdatei geschrieben. Bei COMPRESS=MSP wird das
  620.     Kompressionsverfahren wie es im neueren MSP-Dateiformat verwen-
  621.     det wird angewandt, bei COMPRESS=PCX wird ein RLE-Verfahren wie in
  622.     PCX-Dateien angewandt.
  623.  
  624. FIRST_BYTE=(TOP | BOTTOM) (LEFT | RIGHT)
  625.  
  626.     Hiermit wird eingestellt, welcher Ecke der Grafik das erste Byte
  627.     der Grafikdaten entspricht. Mit TOP kommt die oberste Zeile
  628.     zuerst, mit BOTTOM kommt die unterste Zeile zuerst. Mit LEFT kommt
  629.     die linke Spalte jeder Zeile zuerst, mit RIGHT kommt die rechte
  630.     Spalte jeder Zeile zuerst. Die Einstellung
  631.  
  632.         FIRST_BYTE=TOP LEFT
  633.  
  634.     kommt am häufigsten vor.
  635.  
  636. HEADER=[<s>]
  637.  
  638.     Der Kopf der Grafikdatei. Diese Codesequenz leitet die Grafikda-
  639.     tei ein.  Es können die Variablen res_x, res_y, width, height,
  640.     checksum und file_size verwendet werden.
  641.  
  642. ROW_BEGIN=[<s>]
  643.  
  644.     Die Codesequenz, die eine Grafikzeile einleitet. Auf diese Sequenz
  645.     folgen unmittelbar die binären Grafikdaten. Die Breite der
  646.     Grafik (Grafikpunkte) ist in der Variablen `pixels' verfügbar.
  647.     Üblicherweise leer.
  648.  
  649. ROW_END=[<s>]
  650.  
  651.     Die Codesequenz, die unmittelbar nach einer Grafikzeile geschickt
  652.     wird. Üblicherweise leer.
  653.  
  654. TRAILER=[<s>]
  655.  
  656.     Der Nachspann der Grafikdatei. Diese Codesequenz wird am Ende
  657.     der Grafikdatei eingefügt. Es können die Variablen res_x, res_y,
  658.     width, height und checksum verwendet werden.
  659.  
  660.  
  661. 3.2 Codesequenzen
  662. -----------------
  663.  
  664. Codesequenzen bestehen im allgemeinen aus mehreren Kommandos, die
  665. jeweils durch Leerzeichen getrennt werden. Für jedes einzelne Kommando
  666. gibt es die folgenden Möglichkeiten:
  667.  
  668. ASCII-Steuercodenamen und andere Codenamen
  669.  
  670.     Diese Kommandos fügen ein Byte ein:
  671.  
  672.         NUL     Code 00(hex) 0(dez).
  673.         SOH     Code 01(hex) 1(dez).
  674.         STX     Code 02(hex) 2(dez).
  675.         ETX     Code 03(hex) 3(dez).
  676.         EOT     Code 04(hex) 4(dez).
  677.         ENQ     Code 05(hex) 5(dez).
  678.         ACK     Code 06(hex) 6(dez).
  679.         BEL     Code 07(hex) 7(dez).
  680.         BS      Code 08(hex) 8(dez).
  681.         TAB     Code 09(hex) 9(dez).
  682.         HT      Code 09(hex) 9(dez).
  683.         LF      Code 0A(hex) 10(dez).
  684.         VT      Code 0B(hex) 11(dez).
  685.         FF      Code 0C(hex) 12(dez).
  686.         CR      Code 0D(hex) 13(dez).
  687.         SO      Code 0E(hex) 14(dez).
  688.         SI      Code 0F(hex) 15(dez).
  689.         DLE     Code 10(hex) 16(dez).
  690.         DC1     Code 11(hex) 17(dez).
  691.         DC2     Code 12(hex) 18(dez).
  692.         DC3     Code 13(hex) 19(dez).
  693.         DC4     Code 14(hex) 20(dez).
  694.         NAK     Code 15(hex) 21(dez).
  695.         SYN     Code 16(hex) 22(dez).
  696.         ETB     Code 17(hex) 23(dez).
  697.         CAN     Code 18(hex) 24(dez).
  698.         EM      Code 19(hex) 25(dez).
  699.         SUB     Code 1A(hex) 26(dez).
  700.         ESC     Code 1B(hex) 27(dez).
  701.         FS      Code 1C(hex) 28(dez).
  702.         GS      Code 1D(hex) 29(dez).
  703.         RS      Code 1E(hex) 30(dez).
  704.         US      Code 1F(hex) 31(dez).
  705.         DEL     Code 7F(hex) 127(dez).
  706.  
  707. Klartext
  708.  
  709.     Diese Kommandos fügen ein Byte oder mehrere Bytes ein:
  710.  
  711.     'x      Einzelzeichen. Ein beliebiges Zeichen nach dem einfachen
  712.             Anführungszeichen ' wird direkt übernommen.
  713.  
  714.     "xxx"   Mehrere Zeichen. Alle Zeichen zwischen dem doppelten
  715.             Anführungszeichen " und dem nächsten " in derselben Zeile
  716.             werden direkt übernommen.
  717.  
  718. Zahlen
  719.  
  720.     Diese Kommandos fügen ein Byte ein:
  721.  
  722.     0###    Oktalzahl. # sind die einzelnen Ziffern (0-7).
  723.  
  724.     0x##    Hexadezimalzahl. # sind die einzelnen Ziffern (0-9, A-F).
  725.  
  726.     ###     Dezimalzahl. # sind die einzelnen Ziffern (0-9).
  727.             Vorsicht: Bei führender Null wird eine Zahl als Oktalzahl
  728.             interpretiert (siehe 0###).
  729.  
  730. Steuerzeichen
  731.  
  732.     Dieses Kommando fügt ein Byte ein:
  733.  
  734.     ^A      Steuerzeichen: ^a bis ^z und ^A bis ^Z ergeben Codes 1 bis
  735.             26, ^@ ergibt Code 0.
  736.  
  737. Wiederholung
  738.  
  739.     Dieses Kommando führt eine feste Anzahl von Wiederholungen des
  740.     direkt folgenden Kommandos aus.
  741.  
  742.     REP#    Das folgende Kommando wird #-mal (1 bis 256) wiederholt.
  743.             Bei mehreren aufeinanderfolgenden REP-Kommandos wird nur
  744.             das letzte beachtet.
  745.  
  746. Einfügen eines Parameters in die Codesequenz
  747.  
  748.     Diese Kommandos werten einen Ausdruck aus und fügen das Ergebnis
  749.     als Byte, 16-Bit-Wort oder 32-Bit-Wort ein:
  750.  
  751.     DEC# <Ausdruck>
  752.  
  753.         Der Wert wird als Dezimalzahl mit führenden Nullen (# (1-9)
  754.         Stellen) eingefügt.
  755.  
  756.     BYTE <Ausdruck>
  757.  
  758.         Der Wert wird als Byte (untere 8 Bits des Ergebnisses)
  759.         eingefügt.
  760.  
  761.     WORD_LH <Ausdruck>
  762.  
  763.         Der Wert wird als 16-Bit-Wort (untere 16 Bits des Ergebnisses,
  764.         2 Bytes) eingefügt, das niederwertige Byte zuerst, dann das
  765.         höherwertige.
  766.  
  767.     WORD_HL <Ausdruck>
  768.  
  769.         Der Wert wird als 16-Bit-Wort (untere 16 Bits des Ergebnisses,
  770.         2 Bytes) eingefügt, das höherwertige Byte zuerst, dann das
  771.         niederwertige.
  772.  
  773.     LONG_LH <Ausdruck>
  774.  
  775.         Der Wert wird als 32-Bit-Wort (4 Bytes) eingefügt, das
  776.         niedrigstwertige Byte zuerst, das höchstwertige zuletzt.
  777.  
  778.     LONG_HL <Ausdruck>
  779.  
  780.         Der Wert wird als 32-Bit-Wort (4 Bytes) eingefügt, das
  781.         höchstwertige Byte zuerst, das niedrigstwertige zuletzt.
  782.  
  783.     Der <Ausdruck> wird mit 32-Bit-Arithmetik ausgewertet.
  784.     Ein <Ausdruck> ist wie folgt aufgebaut (die Klammern sind
  785.     erforderlich!):
  786.  
  787.     <Dezimalzahl>
  788.  
  789.         Dezimalzahl von 0 bis 2147483647
  790.  
  791.     <Hexadezimalzahl>
  792.  
  793.         Hexadezimalzahl von 0x0 bis 0xffffffff
  794.  
  795.     <Variable>
  796.  
  797.         Siehe unten
  798.  
  799.     ( <Ausdruck> )
  800.  
  801.         Überflüssige Klammerung
  802.  
  803.     - <Ausdruck>
  804.  
  805.         Vorzeichenumkehrung
  806.  
  807.     ~ <Ausdruck>
  808.  
  809.         Bitweise NOT-Verknüpfung (Einerkomplement)
  810.  
  811.     ( <Ausdruck> + <Ausdruck> )
  812.  
  813.         Addition
  814.  
  815.     ( <Ausdruck> - <Ausdruck> )
  816.  
  817.         Subtraktion
  818.  
  819.     ( <Ausdruck> * <Ausdruck> )
  820.  
  821.         Multiplikation
  822.  
  823.     ( <Ausdruck> / <Ausdruck> )
  824.  
  825.         Division
  826.  
  827.     ( <Ausdruck> % <Ausdruck> )
  828.  
  829.         Rest bei Division
  830.  
  831.     ( <Ausdruck> & <Ausdruck> )
  832.  
  833.         Bitweise AND-Verknüpfung (Konjunktion)
  834.  
  835.     ( <Ausdruck> | <Ausdruck> )
  836.  
  837.         Bitweise OR-Verknüpfung (Disjunktion)
  838.  
  839.     ( <Ausdruck> ^ <Ausdruck> )
  840.  
  841.         Bitweise XOR-Verknüpfung
  842.  
  843.     ( <Ausdruck> << <Ausdruck> )
  844.  
  845.         Nach links schieben (1 << 3 ist 8)
  846.  
  847.     ( <Ausdruck> >> <Ausdruck> )
  848.  
  849.         Nach rechts schieben (10 >> 1 ist 5)
  850.  
  851.     ( <Ausdruck> < <Ausdruck> )
  852.  
  853.         Vergleich: 1 falls kleiner als, sonst 0
  854.  
  855.     ( <Ausdruck> = <Ausdruck> )
  856.  
  857.         Vergleich: 1 falls gleich, sonst 0
  858.  
  859.     Nur bei mehrfachem Auftreten DESSELBEN Operators können Klammern
  860.     weggelassen werden, es wird dann Linksklammerung verwendet. Dies
  861.     gilt nicht für die Operatoren `<<', `>>', `<' und `='. Z.B. kann
  862.  
  863.         (((1+2)+3)+4)
  864.  
  865.     auf diese Weise abgekürzt werden:
  866.  
  867.         (1+2+3+4)
  868.  
  869.     Aber z.B. bei ((3*2)+1) können keine Klammern weggelassen werden.
  870.  
  871.     Für <Variable> können die folgenden Namen eingesetzt werden:
  872.  
  873.     res_x   Horizontale Auflösung (DPI, +resolution-x)
  874.  
  875.     res_y   Vertikale Auflösung (DPI, +resolution-y)
  876.  
  877.     width   Blattbreite (Pixels, +width)
  878.  
  879.     height  Blatthöhe (Pixels, +height)
  880.  
  881.     one_lf  Der mit ONE_LINE_FEED= eingestellte Wert
  882.  
  883.     blank   Der mit BLANK_WIDTH= eingestellte Wert
  884.  
  885.     max_lf  Der mit MAX_LF= eingestellte Wert
  886.  
  887.     pixels  Die Breite der Grafik
  888.  
  889.     line_feed
  890.             Die Größe des Zeilenvorschubs
  891.  
  892.     form_feed
  893.             Die Größe des Blattvorschubs
  894.  
  895.     pos_x   X-Position (Grafikpunkte) bei POS_X=
  896.  
  897.     checksum
  898.             Prüfsumme
  899.  
  900.     value   Für Berechnung der Prüfsumme
  901.  
  902.     file_size
  903.             Dateilänge (nur bei HEADER=)
  904.  
  905.     vmu     Vertical Motion Unit (Wert von VMU=). Falls VMU= nicht
  906.             gesetzt oder auf 0 gesetzt ist, wird für vmu der Wert 1
  907.             eingesetzt
  908.  
  909. Fortsetzungszeile
  910.  
  911.     Wenn eine Zeile mit `\' nach einem Leerzeichen endet, wird
  912.     die nächste Zeile (welche keine Kommentarzeile sein darf) als
  913.     Fortsetzungszeile betrachtet. Auf diese Weise können lange
  914.     Codesequenzen besser eingegeben werden. Jedoch muß jeder
  915.     <Ausdruck> vollständig in einer Eingabezeile eingegeben werden.
  916.  
  917.  
  918. 3.3 Beispiele für Codesequenzen
  919. -------------------------------
  920.  
  921. 240-DPI-Grafikmodus des EPSON FX-80:
  922.  
  923.     ESC '* 3 WORD_LH pixels
  924.  
  925. Hexadezimal sieht das so aus: 1B 2A 03 <n1> <n2>, wobei <n1>+256*<n2>
  926. die Breite der Grafik in Grafikpunkten (Spalten) ist.
  927.  
  928. Zeilenvorschub bei NEC P6:
  929.  
  930.     FS '3 BYTE line_feed LF
  931.  
  932. Hexadezimal sieht das so aus: 1C 33 <n1> 0A. Das Papier wird um
  933. <n1>/360 Zoll bewegt.
  934.  
  935. Horizontale Positionierung bei C.ITOH 8510A:
  936.  
  937.     ESC 'F DEC4 pos_x
  938.  
  939. Hexadezimal sieht das so aus: 1B 46 <n1> <n2> <n3> <n4>, wobei <n1>
  940. bis <n4> Ziffern (hexadezimal 30 bis 39) sind, die die horizontale Po-
  941. sition angeben.
  942.  
  943. 24-Nadel-Grafikmodus, bei dem die Anzahl der Bytes + 1 angegeben wird:
  944.  
  945.     ESC "[g" WORD_LH ((pixels*3)+1) 5
  946.  
  947. Wenn z.B. 100 Grafikspalten gedruckt werden, sieht das hexadezimal so
  948. aus:
  949.  
  950.     1B 5B 67 2D 01 05
  951.              ^^^^^
  952.              301 = 3*100+1
  953.  
  954. Sinnloses Beispiel:
  955.  
  956.     ^A "abc" TAB '  010 10 0x10 " ' " REP2 "ab" 0
  957.  
  958. Das ist hexadezimal: 01 61 62 63 09 20 08 0A 10 20 27 20 61 62 61 62
  959. 00.
  960.  
  961. Beispiel für Fortsetzungszeilen:
  962.  
  963.     INIT1=CAN DC2 ESC '5 0 ESC 'F ESC 'H ESC 'I 0 ESC 'T ESC 'U 0 \
  964.           ESC 'X 1 255 ESC "[@" 4 0 0 0 17 1 ESC '_ 0 ESC '- 0 \
  965.           ESC "[\" 4 0 0 0 0x68 0x01 ESC '3 BYTE one_lf CR
  966.  
  967.  
  968. 4 Aufbau der Textdatei für eine Binärdatei
  969. ==========================================
  970.  
  971. Eine Textdatei kann Kommentarzeilen enthalten. Diese beginnen mit
  972. einem `*' oder `%'. Alle darauffolgenden Zeichen dieser Zeilen werden
  973. dann ignoriert. Auch Leerzeilen werden ignoriert.
  974.  
  975. Alle anderen Zeilen enthalten Codesequenzen, die die in die Binärdatei
  976. zu schreibenden Daten angeben. Die hier verwendbaren Codesequenzen
  977. sind eine Teilmenge der bei Erzeugung einer Parameterdatei
  978. verwendbaren Codesequenzen.
  979.  
  980. ASCII-Steuercodenamen und andere Codenamen
  981.  
  982.     Diese Kommandos fügen ein Byte ein:
  983.  
  984.         NUL     Code 00(hex) 0(dez).
  985.         SOH     Code 01(hex) 1(dez).
  986.         STX     Code 02(hex) 2(dez).
  987.         ETX     Code 03(hex) 3(dez).
  988.         EOT     Code 04(hex) 4(dez).
  989.         ENQ     Code 05(hex) 5(dez).
  990.         ACK     Code 06(hex) 6(dez).
  991.         BEL     Code 07(hex) 7(dez).
  992.         BS      Code 08(hex) 8(dez).
  993.         TAB     Code 09(hex) 9(dez).
  994.         HT      Code 09(hex) 9(dez).
  995.         LF      Code 0A(hex) 10(dez).
  996.         VT      Code 0B(hex) 11(dez).
  997.         FF      Code 0C(hex) 12(dez).
  998.         CR      Code 0D(hex) 13(dez).
  999.         SO      Code 0E(hex) 14(dez).
  1000.         SI      Code 0F(hex) 15(dez).
  1001.         DLE     Code 10(hex) 16(dez).
  1002.         DC1     Code 11(hex) 17(dez).
  1003.         DC2     Code 12(hex) 18(dez).
  1004.         DC3     Code 13(hex) 19(dez).
  1005.         DC4     Code 14(hex) 20(dez).
  1006.         NAK     Code 15(hex) 21(dez).
  1007.         SYN     Code 16(hex) 22(dez).
  1008.         ETB     Code 17(hex) 23(dez).
  1009.         CAN     Code 18(hex) 24(dez).
  1010.         EM      Code 19(hex) 25(dez).
  1011.         SUB     Code 1A(hex) 26(dez).
  1012.         ESC     Code 1B(hex) 27(dez).
  1013.         FS      Code 1C(hex) 28(dez).
  1014.         GS      Code 1D(hex) 29(dez).
  1015.         RS      Code 1E(hex) 30(dez).
  1016.         US      Code 1F(hex) 31(dez).
  1017.         DEL     Code 7F(hex) 127(dez).
  1018.  
  1019. Klartext
  1020.  
  1021.     Diese Kommandos fügen ein Byte oder mehrere Bytes ein:
  1022.  
  1023.     'x      Einzelzeichen. Ein beliebiges Zeichen nach dem einfachen
  1024.             Anführungszeichen ' wird direkt übernommen.
  1025.  
  1026.     "xxx"   Mehrere Zeichen. Alle Zeichen zwischen dem doppelten
  1027.             Anführungszeichen " und dem nächsten " in derselben Zeile
  1028.             werden direkt übernommen.
  1029.  
  1030. Zahlen
  1031.  
  1032.     Diese Kommandos fügen ein Byte ein:
  1033.  
  1034.     0###    Oktalzahl. # sind die einzelnen Ziffern (0-7).
  1035.  
  1036.     0x##    Hexadezimalzahl. # sind die einzelnen Ziffern (0-9, A-F).
  1037.  
  1038.     ###     Dezimalzahl. # sind die einzelnen Ziffern (0-9).
  1039.             Vorsicht: Bei führender Null wird eine Zahl als Oktalzahl
  1040.             interpretiert (siehe 0###).
  1041.  
  1042. Steuerzeichen
  1043.  
  1044.     Dieses Kommando fügt ein Byte ein:
  1045.  
  1046.     ^A      Steuerzeichen: ^a bis ^z und ^A bis ^Z ergeben Codes 1 bis
  1047.             26, ^@ ergibt Code 0.
  1048.  
  1049.  
  1050. 5 Hinweise
  1051. ==========
  1052.  
  1053. Einige der Einstellungen können auch über Kommandozeilenoptionen von
  1054. dvidot verstellt werden -- das ist der Weg der vorzuziehen ist. Pro
  1055. Drucker (und Modus) sollte nur eine Parameterdatei verwendet werden.
  1056. Über die Parameterdatei werden für die einstellbaren Dinge, z.B. Pfad
  1057. für Zeichensätze, lediglich halbwegs sinnvolle Werte vorgegeben, die
  1058. eigentliche Einstellung geschieht über die Kommandozeilenoptionen und
  1059. die Konfigurationsdateien.
  1060.  
  1061. Bitte die mitgelieferten Parameterdateien nicht verändern! (Sie können
  1062. diese aber -- unter anderem Namen -- weiterverwerten.)
  1063.  
  1064. Wenn Sie eine neue Parameterdatei erstellt und erfolgreich getestet
  1065. haben, sollten Sie diese an den Autor (Adresse siehe readme.ger)
  1066. schicken, damit auch andere Leute etwas von Ihrer Mühe haben und für
  1067. jeden Drucker ein gewisser Standard gewahrt wird.
  1068.  
  1069. Wenn Sie Ihren Nadeldrucker nicht mit dvidot und makedot betreiben
  1070. können, sollten Sie sich mit dem Autor in Verbindung setzen, so daß
  1071. dvidot und makedot entsprechend erweitert werden können.
  1072.  
  1073.  
  1074. 6 Anhang: Alte Methode für Parameter in Codesequenzen
  1075. =====================================================
  1076.  
  1077. Zum Verständnis alter DOT-Dateien sind ist hier die alte Methode für
  1078. die Einfügung von Parametern in Codesequenzen erklärt. Sie können
  1079. jedoch alte DOT-Dateien mit makedot konvertieren lassen, dabei werden
  1080. auch die Codesequenzen konvertiert.
  1081.  
  1082. Es sind folgende Kommandos möglich (xx siehe unten):
  1083.  
  1084. xx+#
  1085.  
  1086.     Zuvor # zum Parameter addieren
  1087.  
  1088. xx-#
  1089.  
  1090.     Zuvor # vom Parameter subtrahieren
  1091.  
  1092. xx*#+#
  1093.  
  1094.     Zuvor Parameter mit erster Zahl multiplizieren, dann zweite Zahl
  1095.     addieren
  1096.  
  1097. xx*#-#
  1098.  
  1099.     Zuvor Parameter mit erster Zahl multiplizieren, dann zweite Zahl
  1100.     subtrahieren
  1101.  
  1102. Nur xx ist nicht zulässig, Sie sollten stattdessen xx+0 verwenden. Für
  1103. xx gibt es folgende Möglichkeiten:
  1104.  
  1105. D1 bis D9
  1106.  
  1107.     Der Parameter wird als Dezimalzahl (Text) mit führenden Nullen
  1108.     eingefügt (D1: aufgefüllt auf eine Stelle, D9: aufgefüllt auf neun
  1109.     Stellen).
  1110.  
  1111. L
  1112.  
  1113.     Der Parameter wird als Binärzahl (ein Byte) eingefügt. Es wird das
  1114.     niederwertige Byte verwendet.
  1115.  
  1116. H
  1117.  
  1118.     Der Parameter wird als Binärzahl (ein Byte) eingefügt. Es wird das
  1119.     höherwertige Byte verwendet.
  1120.  
  1121. LH
  1122.  
  1123.     Der Parameter wird als Binärzahl in zwei Bytes zerlegt eingefügt
  1124.     (niederwertiges Byte zuerst, dann höherwertiges).
  1125.  
  1126. HL
  1127.  
  1128.     Der Parameter wird als Binärzahl in zwei Bytes zerlegt eingefügt
  1129.     (höherwertiges Byte zuerst, dann niederwertiges).
  1130.  
  1131. Der Parameter hängt davon ab, für welchen Zweck die Codesequenz verwen-
  1132. det wird:
  1133.  
  1134. INIT1   one_line_feed
  1135.  
  1136. INIT2   one_line_feed
  1137.  
  1138. GRAPH_MODE
  1139.         pixels
  1140.  
  1141. LINE_FEED
  1142.         line_feed
  1143.  
  1144. POS_X   pos_x
  1145.  
  1146.  
  1147. 7 Entstehungsgeschichte
  1148. =======================
  1149.  
  1150. Version 1.0a (21-Feb-1990):
  1151. ---------------------------
  1152.  
  1153. Erste Version.
  1154.  
  1155.  
  1156. Version 1.1a (22-Mär-1990):
  1157. ---------------------------
  1158.  
  1159. -   Neues Schlüsselwort: VF_PATH.
  1160.  
  1161. -   METHOD=n1 n2: Nun n1 und n2 von 1 bis 6.
  1162.  
  1163.  
  1164. Version 1.1b (22-Jun-1990):
  1165. ---------------------------
  1166.  
  1167. -   xx*#+# und xx*#-#.
  1168.  
  1169.  
  1170. Version 1.1c (22-Sep-1990):
  1171. ---------------------------
  1172.  
  1173. -   Fehler beseitigt: Die Ausgabe von `makedot -d' bei LH+n und HL+n mit n
  1174.     ungleich 0 war falsch.
  1175.  
  1176.  
  1177. -   Fehler beseitigt: Die Ausgabe von `makedot -d' bei BLANK_WIDTH=<leer>
  1178.     war falsch.
  1179.  
  1180.  
  1181. Version 1.1d (18-Nov-1991):
  1182. ---------------------------
  1183.  
  1184. *** DOT-Dateiformat geändert. Alte DOT-Dateien müssen konvertiert werden.
  1185.  
  1186. *** Neue Syntax für die Einfügung von Parametern in Codesequenzen.
  1187.  
  1188. -   Die Beschreibung von LINE_FEED und ONE_LINE_FEED war falsch.
  1189.  
  1190. -   GRAPH_END wurde ignoriert.
  1191.  
  1192. -   Reihenfolge der Deklarationen nun beliebig.
  1193.  
  1194. -   Kommentarzeilen können auch mit `%' eingeleitet werden.
  1195.  
  1196. -   Fortsetzungszeilen.
  1197.  
  1198. -   Fehler beseitigt: Oktalzahlen wurden mit -d falsch ausgegeben.
  1199.  
  1200. -   Fehler beseitigt: Steuerzeichen wurden mit -d falsch ausgegeben.
  1201.  
  1202. -   REP###.
  1203.  
  1204. -   Keine feste Längenbegrenzung für Codesequenzen.
  1205.  
  1206. -   TYPE=BITMAP für Erzeugung von Grafikdateien.
  1207.  
  1208. -   Kommandozeilenoptionen -r und -o.
  1209.  
  1210. -   Zweiseitiges Drucken auf hierzu fähigen Druckern.
  1211.  
  1212. -   METHOD=8 n2.
  1213.  
  1214.  
  1215. Version 1.1e (18-Nov-1991):
  1216. ---------------------------
  1217.  
  1218. -  Kommandos -a und -b.
  1219.  
  1220.  
  1221. Version 1.1f (17-Okt-1993):
  1222. ---------------------------
  1223.  
  1224. -  DOUBLE_SIDED durch DOUBLE_SIDED_LONG und DOUBLE_SIDED_SHORT ersetzt.
  1225.  
  1226.  
  1227. Version 1.2a (09-Apr-1994):
  1228. ---------------------------
  1229.  
  1230. -  Lange Dateinamen werden nun unter OS/2 (HPFS) unterstützt.
  1231.  
  1232. -  Neues Schlüsselwort: VMU.
  1233.  
  1234. -  Die Anleitung ist nun auch im OS/2-INF-Format (für VIEW) vorhanden.
  1235.  
  1236.  
  1237. Version 1.2b (21-Jun-1994):
  1238. ---------------------------
  1239.  
  1240. -  VMU=0 wird nun akzeptiert.
  1241.  
  1242.  
  1243. Version 1.2c (04-Aug-1994):
  1244. ---------------------------
  1245.  
  1246. -  TYPE=DOT_HORZ für Drucker mit horizontaler Anordnung der Bits.
  1247.  
  1248. -  Neues Schlüsselwort: POS_Y.
  1249.  
  1250.  
  1251. Version 1.2d (01-Sep-1994):
  1252. ---------------------------
  1253.  
  1254. - makedot 1.2c konnte alte DOT-Dateien (d.h. von makedot 1.2b oder älter
  1255.   erzeugte) nicht mit -d umgewandeln.
  1256.  
  1257.                   -------- Ende von MAKEDOT.DOC -------------
  1258.