home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / TEKST / TEXDISK / MFWARE2.ZIP / EMTEX / DOC / GERMAN / MFJOB.DOC
Text File  |  1990-09-24  |  14KB  |  361 lines

  1. ==============================================================================
  2. MFJOB.DOC für MFjob 1.1f                                   VERSION: 25.09.1990
  3. ==============================================================================
  4.  
  5. Programm zum automatischen Ausrechnen von Zeichensätzen mit METAFONT,
  6. GFtoPXL und GFtoPK. In einer Datei (mfj-Datei) wird angegeben, welche
  7. Zeichensätze in welchen Größen für welche Geräte zu erzeugen sind.
  8.  
  9.  
  10. Aufruf
  11. ======
  12.  
  13. mfjob <mfj-Datei> [<Optionen>] [<makro>=<definition>]
  14. mfjob /s [<Optionen>]
  15.  
  16.  
  17. <mfj-Datei>:
  18.         Name der mfj-Datei (Standarderweiterung: mfj).
  19.  
  20. <Optionen>:
  21.  
  22. /2      Es wird die METAFONT-Version für 80286-Prozessor aufgerufen
  23.         (mf286.exe oder bmf286.exe statt mf.exe oder bmf.exe). Diese
  24.         Option kann nicht unter OS/2 verwendet werden. Siehe auch /b.
  25.  
  26. /a      Alle Zeichensätze erzeugen (Voreinstellung: nur nicht-existierende
  27.         erzeugen).
  28.  
  29. /b      Es wird bigMETAFONT statt der Standardversion aufgerufen
  30.         (bmf.exe, bmf286.exe oder bmfp.exe statt mf.exe, mf286.exe oder
  31.         mfp.exe). Siehe auch /2.
  32.  
  33. /d      Expanded Memory wird nicht verwendet (nur unter DOS). 
  34.         Diese Option wird an METAFONT weitergereicht.
  35.  
  36. /i      Von METAFONT gelieferte Fehler ignorieren. Wenn METAFONT einen Fehler
  37.         erkennt, liefert es einen Fehlercode, der von 0 verschieden ist.
  38.         Ohne Angabe von /i wird dann auch MFjob beendet. Bei kleinen
  39.         Auflösungen treten jedoch Fehler häufiger auf, z.B. `strange path'
  40.         oder `Bad pos'. Um MFjob unbeaufsichtigt arbeiten zu lassen,
  41.         sollte deshalb /i angegeben werden. Wenn bei Verwendung von /i
  42.         METAFONT einen Fehlercode liefert, der von 0 verschieden ist,
  43.         wird die von METAFONT erzeugte Datei an die Datei mfjob.log im
  44.         Arbeitsverzeichnis angehängt und weitergemacht. Wenn Sie MFjob
  45.         abbrechen wollen, während METAFONT läuft, müssen Sie zunächst mit ^C
  46.         METAFONT unterbrechen, mit X beenden und dann mit ^C MFjob abbrechen.
  47.         Ohne /i geht es einfacher, da METAFONT bei Abbruch mit ^C und X
  48.         den Fehlercode 2 liefert und damit auch MFjob beendet.
  49.  
  50. /l      Low priority (nur OS/2). Diese Option wird an METAFONT weitergereicht.
  51.  
  52. /m      Master (für Netzwerk).                          [nicht implementiert]
  53.  
  54. /n      Keine Zeichensätze erzeugen, nur Liste der Kommandos ausgeben.
  55.  
  56. /pv[:][=]<Laufwerk>
  57.         Laufwerksbuchstabe für voreingestellte Verzeichnisse. Wird außerdem
  58.         an METAFONT weitergereicht.
  59.  
  60. /s      Slave (für Netzwerk).                           [nicht implementiert]
  61.  
  62. <makro>=<definition>:
  63.         Makro definieren. Siehe unten.
  64.  
  65.  
  66. Aufbau der mfj-Datei
  67. ====================
  68.  
  69. Es können Kommentare verwendet werden, diese werden mit einem % eingeleitet.
  70. Der Rest der Zeile wird dann ignoriert. Ausnahme: Innerhalb von eckigen
  71. Klammern [...] wird durch % kein Kommentar eingeleitet.
  72.  
  73. Eine minimale mfj-Datei kann wie folgt aussehen:
  74.  
  75. -------------------------------------------------------------------------------
  76. %
  77. % minimal.mfj
  78. %
  79. {
  80. font=cmr10;
  81. mag=1;
  82. mode=hplaser[300];
  83. output=pk[c:\emtex\pixel.lj\$rdpi];
  84. }
  85. -------------------------------------------------------------------------------
  86.  
  87. Diese Datei enthält einen BLOCK, der durch eine öffnende geschweifte
  88. Klammer begonnen wird und durch eine schließende beendet wird.
  89. Außerhalb eines Blockes können keine DEKLARATIONEN (außer Makro-Definition)
  90. angegeben werden. Blöcke dürfen geschachtelt werden. Alle Deklarationen
  91. innerhalb eines Blocks wirken sich nicht auf außerhalb aus, werden jedoch an
  92. weiter innen liegende Blöcke vererbt. Nun zu den Deklarationen:
  93.  
  94.     font=
  95.     fonts=
  96.         Hiermit werden die Namen der Zeichensätze angegeben, die berechnet
  97.         werden sollen. Die einzelnen Namen werden durch Leerzeichen
  98.         (oder Zeilenende) getrennt. Am Ende muß ein Semikolon angegeben werden.
  99.         Die font-Deklaration fügt die angeführten Zeichensätze zu den
  100.         auszurechnenden hinzu. In den Zeichensatznamen können folgende
  101.         Spezialzeichen verwendet werden:
  102.                 ?           Paßt auf ein beliebiges Zeichen.
  103.                 *           Paßt auf den Rest des Namens.
  104.                 #           Paßt auf eine bis beliebig viele Ziffern.
  105.  
  106.     mag=
  107.     mags=
  108.         Hiermit wird eingestellt, in welchen Vergrößerungen (magnifications)
  109.         die Zeichensätze berechnet werden sollen. Es können Gleitpunktzahlen
  110.         zwischen 0.1 und 1000 angegeben werden. Für die üblicherweise
  111.         verwendeten Vergrößerungsstufen (magsteps) stehen Abkürzungen
  112.         zur Verfügung: s0 bedeutet 1.0, s1 bedeutet 1.2, s2 bedeutet 1.44,
  113.         usw. bis s9=5.159780352. Außerdem steht sh für 1.095445115.
  114.         Die einzelnen Vergrößerungen werden durch Leerzeichen getrennt,
  115.         am Ende der Liste muß ein Semikolon stehen. Die mag-Deklaration
  116.         fügt die Vergrößerungen zu den bisher angegebenen hinzu.
  117.  
  118.     mode=
  119.         Hiermit wird eingestellt, für welches Gerät die Zeichensätze
  120.         ausgerechnet werden sollen. Hierzu ist der mode-Name (wie in
  121.         local.mf definiert) gefolgt von der horizontalen Auflösung (in DPI)
  122.         in eckigen Klammern anzugeben. Ein Semikolon schließt die
  123.         Deklaration ab. Die mode-Deklaration ersetzt die vorige
  124.         mode-Einstellung. Pro Block können also nur für ein Gerät
  125.         Zeichensätze erzeugt werden (jedoch können Blöcke geschachtelt
  126.         werden, siehe unten).
  127.  
  128.     output=
  129.         Hiermit wird eingestellt, welche Dateitypen erzeugt werden sollen
  130.         und wohin diese Dateien geschrieben werden sollen. Es gibt die
  131.         folgenden Dateitypen:
  132.             pxl             pxl-Datei (mit GFtoPXL erzeugt).
  133.             pk              pk-Datei (mit GFtoPK erzeugt).
  134.             gf              gf-Datei (von METAFONT erzeugt).
  135.             log             log-Datei (von METAFONT erzeugt).
  136.             tfm             tfm-Datei (von METAFONT erzeugt).
  137.         Nach dem Dateityp ist in eckigen Klammern anzugeben, in welches
  138.         Verzeichnis die Dateien dieses Typs zu schreiben sind. Dabei können
  139.         folgende Spezialsequenzen benutzt werden:
  140.             %r oder $r      Auflösung des Gerätes (mode) in DPI.
  141.             %s oder $s      PXL-Zeichensatzgröße (Auflösung*5).
  142.         Mehrere Dateitypen werden durch Leerzeichen getrennt, am Ende
  143.         der Liste steht ein Semikolon.
  144.         Es werden nur die Dateien erzeugt, die in einer output-Deklaration
  145.         aufgeführt sind (oder vielmehr: tfm-, gf-, und log-Dateien werden
  146.         gelöscht, falls nicht in einer output-Deklaration aufgeführt).
  147.         Die output-Deklaration ersetzt die alten Angaben für die einzelnen
  148.         Dateitypen.
  149.  
  150.     base=
  151.         Hiermit wird für die FOLGENDEN font-Deklarationen eingestellt,
  152.         welche METAFONT base benutzt werden soll. Üblicherweise wird
  153.         base=cm oder base=plain verwendet, zu Beginn der äußersten
  154.         Blöcke ist base=cm eingestellt. Die base-Deklaration ersetzt
  155.         die vorige Einstellung. Die Deklaration wird durch ein Semikolon
  156.         abgeschlossen.
  157.  
  158. Am Ende eines jeden Blockes, der keine weiteren Blöcke enthält,
  159. werden die eingestellten Zeichensätze mit den eingestellten
  160. METAFONT bases in den eingestellten Vergrößerungen für das
  161. eingestellte Gerät für die Erzeugung der eingestellten Dateitypen
  162. vorgemerkt. Nach dem Lesen der mfj-Datei beginnt dann die Erzeugung
  163. aller vorgemerkten Zeichensätze. Wenn die A-Option nicht verwendet
  164. wird, werden nur die Zeichensätze erzeugt, die noch nicht existieren
  165. (wenn nur die log-Datei fehlt, wird ein Zeichensatz nicht ausgerechnet).
  166.  
  167. Das folgende Beispiel erzeugt die Zeichensätze cmr10 und cmbx10
  168. (nur pk-Dateien) in den Vergrößerungen 1 und 1.2 für den HP LaserJet+
  169. und den EPSON FX-80.
  170.  
  171. -------------------------------------------------------------------------------
  172. %
  173. % beispiel.mfj
  174. %
  175. {
  176. fonts=cmr10 cmbx10;
  177. mags=s0 s1;
  178.     {
  179.     mode=hplaser[300];
  180.     output=pk[c:\emtex\pixel.lj\pxl$s];
  181.     }
  182.     {
  183.     mode=epsonfx[240];
  184.     output=pk[c:\emtex\pixel.fx\pxl$s];
  185.     }
  186. }
  187. -------------------------------------------------------------------------------
  188.  
  189.  
  190. Einfügen von Dateien
  191. ====================
  192.  
  193. Mit
  194.     input [name];
  195. Wird die mfj-Datei `name' an dieser Stelle eingefügt.
  196.  
  197.  
  198. Makros
  199. ======
  200.  
  201. Makros werden über die Kommandozeile (siehe oben) oder durch
  202.     def makro=[definition];
  203.     redef makro=[definition];
  204. definiert. Bei mehrfacher Definition eines Makros durch `def' wird
  205. die allererste Definition (z.B. in der Kommandozeile) benutzt.
  206. Makrodefinitionen mit `redef' ersetzen immer die alte Definition,
  207. wobei die alte Version erst dann weggeworfen wird,
  208. wenn sie nicht mehr gebraucht wird. Beispiel:
  209.     def x=[mag=2;redef x=[mag=4;];mag=3;x;mag=5];
  210.     x;
  211. Dies expandiert zu: mag=2;mag=3;mag=4;mag=5
  212.  
  213. Makros werden nur außerhalb [...] expandiert. Da über die Kommandozeile
  214. keine Makros definiert werden können, die Leerzeichen enthalten, werden
  215. Kommata bei Makrodefinitionen in der Kommandozeile in Leerzeichen umgewandelt.
  216.  
  217. Beispiel:
  218.  
  219. -------------------------------------------------------------------------------
  220. %
  221. % x.mfj
  222. %
  223. input [modes];
  224. def s=[1];
  225. def f=[cmr10];
  226.     {
  227.     fonts=f; mags=s; m;
  228.     }
  229. -------------------------------------------------------------------------------
  230.  
  231. -------------------------------------------------------------------------------
  232. %
  233. % modes.mfj
  234. %
  235. def lj=[mode=hplaser[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
  236. def fx=[mode=epsonfx[240]; output=pk[c:\newfonts\pixel.fx\%rdpi]; tfmlog];
  237. def mx=[mode=epsonmx[120]; output=pk[c:\newfonts\pixel.mx\%rdpi]; tfmlog];
  238. def lql=[mode=lqlores[180]; output=pk[c:\newfonts\pixel.p6l\%rdpi]; tfmlog];
  239. def lqm=[mode=lqmedres[360]; output=pk[c:\newfonts\pixel.p6m\%rdpi]; tfmlog];
  240. def lqh=[mode=lqhires[360]; output=pk[c:\newfonts\pixel.p6h\%rdpi]; tfmlog];
  241. def ito=[mode=itoh[160]; output=pk[c:\newfonts\pixel.ito\%rdpi]; tfmlog];
  242. def kyo=[mode=kyocera[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
  243. def FAX=[mode=fax[204]; output=pk[c:\newfonts\pixel.fax\%rdpi]; tfmlog];
  244. def qj=[mode=hpquiet[192]; output=pk[c:\newfonts\pixel.qj\%rdpi]; tfmlog];
  245. def m=[lj];
  246. def tfmlog=[output=tfm[c:\newfonts\tfm] log[c:\newfonts\log];];
  247. -------------------------------------------------------------------------------
  248.  
  249. Aufruf:
  250.     mfjob x s=s0,s1 f=cmbx10,cmti10 m=fx
  251.  
  252. Beachten Sie, daß in modes.mfj `fax' und `FAX' unterschieden werden!
  253.  
  254.  
  255. Hinweise
  256. ========
  257.  
  258. Die Optionen /m und /s (für Netzwerk) sind noch nicht implementiert.
  259. Die Bedeutung soll folgende sein: Auf genau einem Rechner wird
  260. MFjob mit /m gestartet, auf allen anderen mit /s. Die Arbeit wird
  261. dann auf alle beteiligten Rechner verteilt. Die MFjob-Programme mit
  262. /s lesen nicht die mfj-Datei sondern nur die von MFjob mit /m
  263. erzeugte temporäre Datei.
  264.  
  265. Die Zeichensatzdateien werden zuerst im Arbeitsverzeichnis,
  266. dann in den durch die Environment-Variable MFINPUT definierten
  267. Verzeichnissen gesucht. Wenn die Environment-Variable MFINPUT nicht
  268. gesetzt ist, wird zusätzlich zum Arbeitsverzeichnis das Verzeichnis
  269. `\emtex\mfinput' durchsucht. Mit der Environment-Variablen EMTEXDRV
  270. oder der Kommandozeilenoption /pv kann ein Laufwerk für \emtex\mfinput
  271. eingestellt werden: Bei Angabe von
  272.         set emtexdrv=e
  273. oder
  274.         mfjob /pv:e ...
  275. wird e:\emtex\mfinput und e:\emtex\mfjob verwendet. Ohne diese Angaben
  276. wird \emtex\mfinput und \emtex\mfjob (auf dem selektierten Laufwerk)
  277. durchsucht.
  278.  
  279. MFjob besteht aus drei Programmen: mfjob.exe, mfjob1.ovl, mfjob2.ovl.
  280. Zusätzlich zu METAFONT werden gftopk.exe und gftopxl.exe benötigt. Für
  281. METAFONT wird die folgende Datei benutzt:
  282.  
  283.     MFjob-Aufruf      | DOS        | OS/2
  284.     ------------------+------------+-------------
  285.     MFjob             | mf.exe     | mfp.exe
  286.     MFjob /2          | mf286.exe  | --
  287.     MFjob /b          | bmf.exe    | bmfp.exe
  288.     MFjob /2 /b       | bmf286.exe | --
  289.  
  290. METAFONT schreibt die Ausgabedateien ins Arbeitsverzeichnis.
  291. Außerdem benutzt MFjob eine temporäre Datei im Arbeitsverzeichnis.
  292. Deshalb ist vor dem Start von MFjob in ein geeignetes temporäres Verzeichnis
  293. zu wechseln. Gleichzeitig aktive MFjob-Programme (Netzwerk oder OS/2)
  294. müssen in verschiedenen Verzeichnissen laufen.
  295.  
  296. Die mfj-Dateien werden zuerst im angegebenen Verzeichnis
  297. (falls vorhanden) gesucht, dann im Arbeitsverzeichnis, dann
  298. in den mit der Environment-Variable MFJOB eingestellten
  299. Verzeichnissen (mehrere Verzeichnisse werden durch Strichpunkte getrennt)
  300. und schließlich in \emtex\mfmjob (mit dem mit EMTEXDRV oder /pv
  301. eingestellten Laufwerksbuchstaben) gesucht.
  302.  
  303. Bei Verwendung von /i werden METAFONT-log-Dateien im Fehlerfalle an
  304. die Datei mfjob.log im Arbeitsverzeichnis angehängt. Falls diese
  305. Datei noch nicht existiert, wird sie angelegt.
  306.  
  307.  
  308. Änderungen
  309. ==========
  310.  
  311. Version 1.1a:
  312. -------------
  313.  
  314. -   Fehler bei `input' beseitigt.
  315.  
  316. -   Environment-Variable MFJOB.
  317.  
  318.  
  319. Version 1.1b:
  320. -------------
  321.  
  322. -   Das Verzeichnis \emtex\mfinput wird nicht mehr durchsucht, wenn
  323.     die Environment-Variable MFINPUT gesetzt ist.
  324.  
  325.  
  326. Version 1.1c (21.02.90):
  327. ------------------------
  328.  
  329. -   Das Zeichen `_' kann nun verwendet werden (z.B. bei mode=).
  330.  
  331.  
  332. Version 1.1d (05.06.90):
  333. ------------------------
  334.  
  335. -   Neue Option: /i zum Ignorieren der METAFONT-Fehlercodes.
  336.  
  337. -   Neue Option: /2 bewirkt Verwendung der 286-Version von METAFONT.
  338.  
  339. -   Neue Option: /b bewirkt Verwendung von bigMETAFONT.
  340.  
  341. -   Neue Option: /d wird an METAFONT weitergegeben.
  342.  
  343. -   mfjob1.exe und mfjob2.exe wurden in mfjob1.ovl und mfjob2.ovl umbenannt.
  344.  
  345.  
  346. Version 1.1e (16.07.90):
  347. ------------------------
  348.  
  349. -   mfj-Dateien werden zusätzlich in \emtex\mfjob gesucht.
  350.  
  351. -   Neue Option: /pv (Laufwerk für \emtex\mfinput und \emtex\mfjob).
  352.  
  353. -   Die Environment-Variable EMTEXDRV wird beachtet (Laufwerk für
  354.     \emtex\mfinput und \emtex\mfjob).
  355.  
  356.  
  357. Version 1.1f (25.09.90):
  358. ------------------------
  359.  
  360. -   Ausgabe von `======...' nach der Bearbeitung eines Zeichensatzes.
  361.