Dec 082017
MFWARE package, Part 2/2. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
EMTEX | 0 | 0 | stored |
DOC | 0 | 0 | stored |
ENGLISH | 0 | 0 | stored |
MFJOB.DOC | 12824 | 4129 | deflated |
GERMAN | 0 | 0 | stored |
MFJOB.DOC | 14229 | 4577 | deflated |
MFINPUT | 0 | 0 | stored |
BLACKFX.MF | 244 | 177 | deflated |
BLACKLJ.MF | 254 | 185 | deflated |
CMBASE.MFT | 3886 | 1607 | deflated |
E.MFT | 2138 | 929 | deflated |
GRAYFX.MF | 271 | 197 | deflated |
GRAYLJ.MF | 274 | 193 | deflated |
PLAIN.MFT | 1752 | 755 | deflated |
SLANTFX.MF | 227 | 167 | deflated |
SLANTLJ.MF | 227 | 166 | deflated |
MFJOB | 0 | 0 | stored |
MFJOB.EXE | 50123 | 30632 | deflated |
MFJOB1.OVL | 52067 | 32054 | deflated |
MFJOB2.OVL | 37367 | 23470 | deflated |
ALL.MFJ | 614 | 313 | deflated |
AMSFONTS.MFJ | 402 | 238 | deflated |
CYRILLIC.MFJ | 195 | 153 | deflated |
EULER.MFJ | 200 | 159 | deflated |
EXTRACM.MFJ | 184 | 152 | deflated |
GFTODVI.MFJ | 324 | 189 | deflated |
LATEX.MFJ | 120 | 99 | deflated |
MODES.MFJ | 862 | 244 | deflated |
SLITEX.MFJ | 195 | 123 | deflated |
SYMBOLS.MFJ | 169 | 143 | deflated |
TEXBOOK.MFJ | 198 | 111 | deflated |
MFT.EXE | 54249 | 27236 | deflated |
TEXINPUT | 0 | 0 | stored |
MFTMAC.TEX | 2240 | 1040 | deflated |
Download File MFWARE2.ZIP Here
Contents of the MFJOB.DOC file
==============================================================================
MFjob 1.1f VERSION: 25.09.1990
==============================================================================
A program to automate the generation of fonts with METAFONT, GFtoPXL and
GFtoPK. The fonts to be generated, their magnifications and the device
for which they are intended are supplied in an input file (mfj file).
Usage
=====
mfjob [] [=]
mfjob /s []
mfj_file:
Name of the mfj file (default extension: mfj).
options:
/2 Call the version of METAFONT for the 80286-processor (mf286.exe or
bmf286.exe instead of mf.exe or bmf.exe). This option cannot be used
under OS/2. See also /b.
/a Create all fonts. (Default: create only those which do not exist.)
/b Call bigMETAFONT instead of the default version (bmf.exe, bmf286.exe
or bmfp.exe instead of mf.exe, mf286.exe or mfp.exe). See also /2.
/d Do not use expanded memory (DOS). This option is handed down to
METAFONT.
/i Ignore errors produced by METAFONT. When METAFONT recognizes an
error, a non-zero error code is returned. If /i is not used, MFjob
will be aborted as well. When working with low resolutions, however,
errors like `strange path' or `Bad pos' will occur more frequently.
To let MFjob work without supervision, you should use /i. If, when
using /i, METAFONT returns a non-zero error code, the log file written
by METAFONT is appended to the file mfjob.log in the current
directory, and work is continued. If you want to abort MFjob while
METAFONT is running, you should interrupt METAFONT with ^C, end
METAFONT with X and then abort MFjob with ^C. This will be easier
without /i, as METAFONT returns an error code of 2 when interrupted
with ^C and X; this will stop MFjob as well.
/l Low priority (OS/2 only). This option is handed down to METAFONT.
/m Master (for network). [not implemented yet]
/n Don't make fonts, just list commands.
/pv[:][=]
Set drive for default directories. This option is also handed down
to METAFONT.
/s Slave (for network). [not implemented yet]
=:
Define a macro. See below.
mfj file format
===============
The file can contain comments which start with `%', this character and all
other characters to the end of the line being ignored.
However, a `%' within brackets `[' `]' does not start a comment.
Here is a small mfj file as an example:
-------------------------------------------------------------------------------
%
% minimal.mfj
%
{
font=cmr10;
mag=1;
mode=hplaser[300];
output=pk[c:\emtex\pixel.lj\$rdpi];
}
-------------------------------------------------------------------------------
This file contains a BLOCK, which starts with an open brace and ends with the
matching closing brace. DECLARATIONs (other than macro definitions) can only
appear within a block. Blocks can be nested.
A definition within a block has no effect outside this block but is inherited
by blocks nested within it. Now for declarations:
font=
fonts=
This lists the names of the fonts which are to be computed. Each
name must be separated from the next by a blank or the end of the
line. A semicolon terminates the list. The font declaration adds the
fonts listed to the set of fonts to be generated. The font names can
include the following special characters:
? matches any character
* matches the rest of the name
# matches one or more digits
mag=
mags=
This declaration list the magnifications for which the fonts are to be
generated. The numbers must lie in the range 0.1 to 1000 and may
contain a decimal point. The usual magsteps can be abbreviated to s0
(1.0), s1 (1.2), s2 (1.44) and so on to s9 (5.159780352). The
abbreviation for magstep 0.5 is sh (1.095445115). Each magnification
must be separated from the next by a space, the list ends with a
semicolon. This declaration adds the list of magnifications to those
already declared.
mode=
This declares the device for which the fonts are to be generated. The
mode name (as defined in local.mf) is followed by the horizontal
resolution (in DPI) in brackets. The declaration ends with a
semicolon. Each block can only contain one mode declaration.
However, blocks can be nested: see below.
output=
This selects the output files to be generated and the directory in
which they are to be stored. The following output file types can be
generated:
pxl pxl file (created by GFtoPXL).
pk pk file (created by GFtoPK).
gf gf file (created by METAFONT).
log log file (created by METAFONT).
tfm tfm file (created by METAFONT).
The directory, in brackets, follows the file type. The following
special sequences can be used in the directory name:
%r or $r the resolution of the device in DPI
%s or $s the PXL font size (5*resolution)
Each file type/directory combination is separated from the next by a
space and the list ends with a semicolon.
Only the file types listed in this declaration will be generated, or
rather, all tfm, gf and log files not given in an output declaration
will be deleted. The output declaration replaces previous entries
for the separate file types.
base=
This selects the METAFONT base to be used for the generation
of the fonts which FOLLOW it. The usual declarations are base=cm or
base=plain; at the beginning of the outermost block base=cm has been
set. The base declaration replaces the preceding one. The
declaration is followed by a semicolon.
At the end of every block which does not contain a nested block the selected
fonts with the selected bases in the selected magnifications for the selected
device are set to generate the selected file types. The generation of these
fonts start after the mfj file has been read. If the /a option is not used,
only those of the selected fonts which do not already exist will be generated
-- if only the log file is missing, however, the font will not be generated.
The following example generates cmr10 and cmbx10 as pk files in magnifications
1 and 1.2 for the HP LaserJet+ and the Epson FX-80.
-------------------------------------------------------------------------------
%
% example.mfj
%
{
fonts=cmr10 cmbx10;
mags=s0 s1;
{
mode=hplaser[300];
output=pk[c:\emtex\pixel.lj\pxl$s];
}
{
mode=epsonfx[240];
output=pk[c:\emtex\pixel.fx\pxl$s];
}
}
-------------------------------------------------------------------------------
Included data files
===================
Files containing mfj declarations can be included with the command
input [name];
Macros
======
Macros can be defined either in the command line (see above) or in the mfj
file with the commands
def macro=[definition];
redef macro=[definition];
If a macro is defined more than once then only the first definition (for
instance, in the command line) will be used. Macros can be redefined with
`redef' in which case the old definition will be replaced when it is no longer
used. Example:
def x=[mag=2;redef x=[mag=4;];mag=3;x;mag=5];
x;
This expands to: mag=2;mag=3;mag=4;mag=5
Macros are only expanded outside brackets (`[...]'). As macros containing
blanks cannot be defined in the command line, any commas in a command line
macro definition will be replaced by spaces.
Example:
-------------------------------------------------------------------------------
%
% x.mfj
%
input [modes];
def s=[1];
def f=[cmr10];
{
fonts=f; mags=s; m;
}
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
%
% modes.mfj
%
def lj=[mode=hplaser[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
def fx=[mode=epsonfx[240]; output=pk[c:\newfonts\pixel.fx\%rdpi]; tfmlog];
def mx=[mode=epsonmx[120]; output=pk[c:\newfonts\pixel.mx\%rdpi]; tfmlog];
def lql=[mode=lqlores[180]; output=pk[c:\newfonts\pixel.p6l\%rdpi]; tfmlog];
def lqm=[mode=lqmedres[360]; output=pk[c:\newfonts\pixel.p6m\%rdpi]; tfmlog];
def lqh=[mode=lqhires[360]; output=pk[c:\newfonts\pixel.p6h\%rdpi]; tfmlog];
def ito=[mode=itoh[160]; output=pk[c:\newfonts\pixel.ito\%rdpi]; tfmlog];
def kyo=[mode=kyocera[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
def FAX=[mode=fax[204]; output=pk[c:\newfonts\pixel.fax\%rdpi]; tfmlog];
def qj=[mode=hpquiet[192]; output=pk[c:\newfonts\pixel.qj\%rdpi]; tfmlog];
def m=[lj];
def tfmlog=[output=tfm[c:\newfonts\tfm] log[c:\newfonts\log];];
-------------------------------------------------------------------------------
Call:
mfjob x s=s0,s1 f=cmbx10,cmti10 m=fx
Note: `fax' isn't the same as 'FAX'.
Notes
=====
The /m and /s options (for networks) are not yet implemented. They will have
the following effect: the MFjob is started on one (and only one) workstation
on the network with the /m option, on all the other machines it is started
with the /s option. By this means the job can be shared between all the
workstations on the network. The MFjob programs started with /s do not read
the main mfj file but only the temporary file created by the MFjob started
with /m.
The font files are first sought in the current directory and, if not
found, the search is extended to the directories listed in the environment
variable MFINPUT. If MFINPUT is not set then the default directory
\emtex\mfinput (on the drive set by /pv or EMTEXDRV) is searched. Use
set emtexdrv=e
or
mfjob /pv:e ...
to make MFjob search e:\emtex\mfinput (for font files) and e:\emtex\mfjob
(for mfj files). If you don't use EMTEXDRV and /pv, the dircetories
\emtex\mfinput and \emtex\mfjob on the current drive will be searched.
MFjob consists of three programs: mfjob.exe, mfjob1.ovl, mfjob2.ovl.
Besides METAFONT, gftopk.exe and gftopxl.exe are needed. For METAFONT,
the following file is used:
MFjob call | DOS | OS/2
------------------+------------+-------------
MFjob | mf.exe | mfp.exe
MFjob /2 | mf286.exe | --
MFjob /b | bmf.exe | bmfp.exe
MFjob /2 /b | bmf286.exe | --
METAFONT writes its output into the current directory and MFjob needs a
temporary file in this directory. It is therefore recommended that MFjob is
started in a suitable working directory. MFjob programs running concurrently
(network or OS/2) must run in different directories.
The mfj files are sought first in the directory given (if it exists), then in
the current directory, then in the directories listed in the MFJOB
environment variable (the directories in the list must be separated from one
another with a semicolon), and finally in \emtex\mfjob (on the drive
set by EMTEXDRV or /pv).
History
=======
Version 1.1a:
-------------
- Error in `input' corrected.
- Environment variable `MFJOB'.
Version 1.1b:
-------------
- The directory \emtex\mfinput is no longer searched if the
environment variable `MFINPUT' is set.
Version 1.1c (21.02.90):
------------------------
- The `_' character can be used (for instance in mode=).
Version 1.1d (30.04.90):
------------------------
- New option /i to ignore METAFONT error codes.
- New option /2 results in using METAFONT's 286 version.
- New option /b results in using bigMETAFONT.
- New option /d is handed down to METAFONT.
- mfjob1.exe and mfjob2.exe renamed to mfjob1.ovl and mfjob2.ovl.
Version 1.1e (16.07.90):
------------------------
- Default directory for mfj files: \emtex\mfjob.
- New option: /pv (set drive for default directories).
- New environment variable: EMTEXDRV (drive for default directories).
Version 1.1f (25.09.90):
------------------------
- Display '======...' after generating of a font.
==============================================================================
MFJOB.DOC fr MFjob 1.1f VERSION: 25.09.1990
==============================================================================
Programm zum automatischen Ausrechnen von Zeichenstzen mit METAFONT,
GFtoPXL und GFtoPK. In einer Datei (mfj-Datei) wird angegeben, welche
Zeichenstze in welchen Gren fr welche Gerte zu erzeugen sind.
Aufruf
======
mfjob [] [=]
mfjob /s []
:
Name der mfj-Datei (Standarderweiterung: mfj).
:
/2 Es wird die METAFONT-Version fr 80286-Prozessor aufgerufen
(mf286.exe oder bmf286.exe statt mf.exe oder bmf.exe). Diese
Option kann nicht unter OS/2 verwendet werden. Siehe auch /b.
/a Alle Zeichenstze erzeugen (Voreinstellung: nur nicht-existierende
erzeugen).
/b Es wird bigMETAFONT statt der Standardversion aufgerufen
(bmf.exe, bmf286.exe oder bmfp.exe statt mf.exe, mf286.exe oder
mfp.exe). Siehe auch /2.
/d Expanded Memory wird nicht verwendet (nur unter DOS).
Diese Option wird an METAFONT weitergereicht.
/i Von METAFONT gelieferte Fehler ignorieren. Wenn METAFONT einen Fehler
erkennt, liefert es einen Fehlercode, der von 0 verschieden ist.
Ohne Angabe von /i wird dann auch MFjob beendet. Bei kleinen
Auflsungen treten jedoch Fehler hufiger auf, z.B. `strange path'
oder `Bad pos'. Um MFjob unbeaufsichtigt arbeiten zu lassen,
sollte deshalb /i angegeben werden. Wenn bei Verwendung von /i
METAFONT einen Fehlercode liefert, der von 0 verschieden ist,
wird die von METAFONT erzeugte Datei an die Datei mfjob.log im
Arbeitsverzeichnis angehngt und weitergemacht. Wenn Sie MFjob
abbrechen wollen, whrend METAFONT luft, mssen Sie zunchst mit ^C
METAFONT unterbrechen, mit X beenden und dann mit ^C MFjob abbrechen.
Ohne /i geht es einfacher, da METAFONT bei Abbruch mit ^C und X
den Fehlercode 2 liefert und damit auch MFjob beendet.
/l Low priority (nur OS/2). Diese Option wird an METAFONT weitergereicht.
/m Master (fr Netzwerk). [nicht implementiert]
/n Keine Zeichenstze erzeugen, nur Liste der Kommandos ausgeben.
/pv[:][=]
Laufwerksbuchstabe fr voreingestellte Verzeichnisse. Wird auerdem
an METAFONT weitergereicht.
/s Slave (fr Netzwerk). [nicht implementiert]
=:
Makro definieren. Siehe unten.
Aufbau der mfj-Datei
====================
Es knnen Kommentare verwendet werden, diese werden mit einem % eingeleitet.
Der Rest der Zeile wird dann ignoriert. Ausnahme: Innerhalb von eckigen
Klammern [...] wird durch % kein Kommentar eingeleitet.
Eine minimale mfj-Datei kann wie folgt aussehen:
-------------------------------------------------------------------------------
%
% minimal.mfj
%
{
font=cmr10;
mag=1;
mode=hplaser[300];
output=pk[c:\emtex\pixel.lj\$rdpi];
}
-------------------------------------------------------------------------------
Diese Datei enthlt einen BLOCK, der durch eine ffnende geschweifte
Klammer begonnen wird und durch eine schlieende beendet wird.
Auerhalb eines Blockes knnen keine DEKLARATIONEN (auer Makro-Definition)
angegeben werden. Blcke drfen geschachtelt werden. Alle Deklarationen
innerhalb eines Blocks wirken sich nicht auf auerhalb aus, werden jedoch an
weiter innen liegende Blcke vererbt. Nun zu den Deklarationen:
font=
fonts=
Hiermit werden die Namen der Zeichenstze angegeben, die berechnet
werden sollen. Die einzelnen Namen werden durch Leerzeichen
(oder Zeilenende) getrennt. Am Ende mu ein Semikolon angegeben werden.
Die font-Deklaration fgt die angefhrten Zeichenstze zu den
auszurechnenden hinzu. In den Zeichensatznamen knnen folgende
Spezialzeichen verwendet werden:
? Pat auf ein beliebiges Zeichen.
* Pat auf den Rest des Namens.
# Pat auf eine bis beliebig viele Ziffern.
mag=
mags=
Hiermit wird eingestellt, in welchen Vergrerungen (magnifications)
die Zeichenstze berechnet werden sollen. Es knnen Gleitpunktzahlen
zwischen 0.1 und 1000 angegeben werden. Fr die blicherweise
verwendeten Vergrerungsstufen (magsteps) stehen Abkrzungen
zur Verfgung: s0 bedeutet 1.0, s1 bedeutet 1.2, s2 bedeutet 1.44,
usw. bis s9=5.159780352. Auerdem steht sh fr 1.095445115.
Die einzelnen Vergrerungen werden durch Leerzeichen getrennt,
am Ende der Liste mu ein Semikolon stehen. Die mag-Deklaration
fgt die Vergrerungen zu den bisher angegebenen hinzu.
mode=
Hiermit wird eingestellt, fr welches Gert die Zeichenstze
ausgerechnet werden sollen. Hierzu ist der mode-Name (wie in
local.mf definiert) gefolgt von der horizontalen Auflsung (in DPI)
in eckigen Klammern anzugeben. Ein Semikolon schliet die
Deklaration ab. Die mode-Deklaration ersetzt die vorige
mode-Einstellung. Pro Block knnen also nur fr ein Gert
Zeichenstze erzeugt werden (jedoch knnen Blcke geschachtelt
werden, siehe unten).
output=
Hiermit wird eingestellt, welche Dateitypen erzeugt werden sollen
und wohin diese Dateien geschrieben werden sollen. Es gibt die
folgenden Dateitypen:
pxl pxl-Datei (mit GFtoPXL erzeugt).
pk pk-Datei (mit GFtoPK erzeugt).
gf gf-Datei (von METAFONT erzeugt).
log log-Datei (von METAFONT erzeugt).
tfm tfm-Datei (von METAFONT erzeugt).
Nach dem Dateityp ist in eckigen Klammern anzugeben, in welches
Verzeichnis die Dateien dieses Typs zu schreiben sind. Dabei knnen
folgende Spezialsequenzen benutzt werden:
%r oder $r Auflsung des Gertes (mode) in DPI.
%s oder $s PXL-Zeichensatzgre (Auflsung*5).
Mehrere Dateitypen werden durch Leerzeichen getrennt, am Ende
der Liste steht ein Semikolon.
Es werden nur die Dateien erzeugt, die in einer output-Deklaration
aufgefhrt sind (oder vielmehr: tfm-, gf-, und log-Dateien werden
gelscht, falls nicht in einer output-Deklaration aufgefhrt).
Die output-Deklaration ersetzt die alten Angaben fr die einzelnen
Dateitypen.
base=
Hiermit wird fr die FOLGENDEN font-Deklarationen eingestellt,
welche METAFONT base benutzt werden soll. blicherweise wird
base=cm oder base=plain verwendet, zu Beginn der uersten
Blcke ist base=cm eingestellt. Die base-Deklaration ersetzt
die vorige Einstellung. Die Deklaration wird durch ein Semikolon
abgeschlossen.
Am Ende eines jeden Blockes, der keine weiteren Blcke enthlt,
werden die eingestellten Zeichenstze mit den eingestellten
METAFONT bases in den eingestellten Vergrerungen fr das
eingestellte Gert fr die Erzeugung der eingestellten Dateitypen
vorgemerkt. Nach dem Lesen der mfj-Datei beginnt dann die Erzeugung
aller vorgemerkten Zeichenstze. Wenn die A-Option nicht verwendet
wird, werden nur die Zeichenstze erzeugt, die noch nicht existieren
(wenn nur die log-Datei fehlt, wird ein Zeichensatz nicht ausgerechnet).
Das folgende Beispiel erzeugt die Zeichenstze cmr10 und cmbx10
(nur pk-Dateien) in den Vergrerungen 1 und 1.2 fr den HP LaserJet+
und den EPSON FX-80.
-------------------------------------------------------------------------------
%
% beispiel.mfj
%
{
fonts=cmr10 cmbx10;
mags=s0 s1;
{
mode=hplaser[300];
output=pk[c:\emtex\pixel.lj\pxl$s];
}
{
mode=epsonfx[240];
output=pk[c:\emtex\pixel.fx\pxl$s];
}
}
-------------------------------------------------------------------------------
Einfgen von Dateien
====================
Mit
input [name];
Wird die mfj-Datei `name' an dieser Stelle eingefgt.
Makros
======
Makros werden ber die Kommandozeile (siehe oben) oder durch
def makro=[definition];
redef makro=[definition];
definiert. Bei mehrfacher Definition eines Makros durch `def' wird
die allererste Definition (z.B. in der Kommandozeile) benutzt.
Makrodefinitionen mit `redef' ersetzen immer die alte Definition,
wobei die alte Version erst dann weggeworfen wird,
wenn sie nicht mehr gebraucht wird. Beispiel:
def x=[mag=2;redef x=[mag=4;];mag=3;x;mag=5];
x;
Dies expandiert zu: mag=2;mag=3;mag=4;mag=5
Makros werden nur auerhalb [...] expandiert. Da ber die Kommandozeile
keine Makros definiert werden knnen, die Leerzeichen enthalten, werden
Kommata bei Makrodefinitionen in der Kommandozeile in Leerzeichen umgewandelt.
Beispiel:
-------------------------------------------------------------------------------
%
% x.mfj
%
input [modes];
def s=[1];
def f=[cmr10];
{
fonts=f; mags=s; m;
}
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
%
% modes.mfj
%
def lj=[mode=hplaser[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
def fx=[mode=epsonfx[240]; output=pk[c:\newfonts\pixel.fx\%rdpi]; tfmlog];
def mx=[mode=epsonmx[120]; output=pk[c:\newfonts\pixel.mx\%rdpi]; tfmlog];
def lql=[mode=lqlores[180]; output=pk[c:\newfonts\pixel.p6l\%rdpi]; tfmlog];
def lqm=[mode=lqmedres[360]; output=pk[c:\newfonts\pixel.p6m\%rdpi]; tfmlog];
def lqh=[mode=lqhires[360]; output=pk[c:\newfonts\pixel.p6h\%rdpi]; tfmlog];
def ito=[mode=itoh[160]; output=pk[c:\newfonts\pixel.ito\%rdpi]; tfmlog];
def kyo=[mode=kyocera[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
def FAX=[mode=fax[204]; output=pk[c:\newfonts\pixel.fax\%rdpi]; tfmlog];
def qj=[mode=hpquiet[192]; output=pk[c:\newfonts\pixel.qj\%rdpi]; tfmlog];
def m=[lj];
def tfmlog=[output=tfm[c:\newfonts\tfm] log[c:\newfonts\log];];
-------------------------------------------------------------------------------
Aufruf:
mfjob x s=s0,s1 f=cmbx10,cmti10 m=fx
Beachten Sie, da in modes.mfj `fax' und `FAX' unterschieden werden!
Hinweise
========
Die Optionen /m und /s (fr Netzwerk) sind noch nicht implementiert.
Die Bedeutung soll folgende sein: Auf genau einem Rechner wird
MFjob mit /m gestartet, auf allen anderen mit /s. Die Arbeit wird
dann auf alle beteiligten Rechner verteilt. Die MFjob-Programme mit
/s lesen nicht die mfj-Datei sondern nur die von MFjob mit /m
erzeugte temporre Datei.
Die Zeichensatzdateien werden zuerst im Arbeitsverzeichnis,
dann in den durch die Environment-Variable MFINPUT definierten
Verzeichnissen gesucht. Wenn die Environment-Variable MFINPUT nicht
gesetzt ist, wird zustzlich zum Arbeitsverzeichnis das Verzeichnis
`\emtex\mfinput' durchsucht. Mit der Environment-Variablen EMTEXDRV
oder der Kommandozeilenoption /pv kann ein Laufwerk fr \emtex\mfinput
eingestellt werden: Bei Angabe von
set emtexdrv=e
oder
mfjob /pv:e ...
wird e:\emtex\mfinput und e:\emtex\mfjob verwendet. Ohne diese Angaben
wird \emtex\mfinput und \emtex\mfjob (auf dem selektierten Laufwerk)
durchsucht.
MFjob besteht aus drei Programmen: mfjob.exe, mfjob1.ovl, mfjob2.ovl.
Zustzlich zu METAFONT werden gftopk.exe und gftopxl.exe bentigt. Fr
METAFONT wird die folgende Datei benutzt:
MFjob-Aufruf | DOS | OS/2
------------------+------------+-------------
MFjob | mf.exe | mfp.exe
MFjob /2 | mf286.exe | --
MFjob /b | bmf.exe | bmfp.exe
MFjob /2 /b | bmf286.exe | --
METAFONT schreibt die Ausgabedateien ins Arbeitsverzeichnis.
Auerdem benutzt MFjob eine temporre Datei im Arbeitsverzeichnis.
Deshalb ist vor dem Start von MFjob in ein geeignetes temporres Verzeichnis
zu wechseln. Gleichzeitig aktive MFjob-Programme (Netzwerk oder OS/2)
mssen in verschiedenen Verzeichnissen laufen.
Die mfj-Dateien werden zuerst im angegebenen Verzeichnis
(falls vorhanden) gesucht, dann im Arbeitsverzeichnis, dann
in den mit der Environment-Variable MFJOB eingestellten
Verzeichnissen (mehrere Verzeichnisse werden durch Strichpunkte getrennt)
und schlielich in \emtex\mfmjob (mit dem mit EMTEXDRV oder /pv
eingestellten Laufwerksbuchstaben) gesucht.
Bei Verwendung von /i werden METAFONT-log-Dateien im Fehlerfalle an
die Datei mfjob.log im Arbeitsverzeichnis angehngt. Falls diese
Datei noch nicht existiert, wird sie angelegt.
nderungen
==========
Version 1.1a:
-------------
- Fehler bei `input' beseitigt.
- Environment-Variable MFJOB.
Version 1.1b:
-------------
- Das Verzeichnis \emtex\mfinput wird nicht mehr durchsucht, wenn
die Environment-Variable MFINPUT gesetzt ist.
Version 1.1c (21.02.90):
------------------------
- Das Zeichen `_' kann nun verwendet werden (z.B. bei mode=).
Version 1.1d (05.06.90):
------------------------
- Neue Option: /i zum Ignorieren der METAFONT-Fehlercodes.
- Neue Option: /2 bewirkt Verwendung der 286-Version von METAFONT.
- Neue Option: /b bewirkt Verwendung von bigMETAFONT.
- Neue Option: /d wird an METAFONT weitergegeben.
- mfjob1.exe und mfjob2.exe wurden in mfjob1.ovl und mfjob2.ovl umbenannt.
Version 1.1e (16.07.90):
------------------------
- mfj-Dateien werden zustzlich in \emtex\mfjob gesucht.
- Neue Option: /pv (Laufwerk fr \emtex\mfinput und \emtex\mfjob).
- Die Environment-Variable EMTEXDRV wird beachtet (Laufwerk fr
\emtex\mfinput und \emtex\mfjob).
Version 1.1f (25.09.90):
------------------------
- Ausgabe von `======...' nach der Bearbeitung eines Zeichensatzes.
MFjob 1.1f VERSION: 25.09.1990
==============================================================================
A program to automate the generation of fonts with METAFONT, GFtoPXL and
GFtoPK. The fonts to be generated, their magnifications and the device
for which they are intended are supplied in an input file (mfj file).
Usage
=====
mfjob
mfjob /s [
mfj_file:
Name of the mfj file (default extension: mfj).
options:
/2 Call the version of METAFONT for the 80286-processor (mf286.exe or
bmf286.exe instead of mf.exe or bmf.exe). This option cannot be used
under OS/2. See also /b.
/a Create all fonts. (Default: create only those which do not exist.)
/b Call bigMETAFONT instead of the default version (bmf.exe, bmf286.exe
or bmfp.exe instead of mf.exe, mf286.exe or mfp.exe). See also /2.
/d Do not use expanded memory (DOS). This option is handed down to
METAFONT.
/i Ignore errors produced by METAFONT. When METAFONT recognizes an
error, a non-zero error code is returned. If /i is not used, MFjob
will be aborted as well. When working with low resolutions, however,
errors like `strange path' or `Bad pos' will occur more frequently.
To let MFjob work without supervision, you should use /i. If, when
using /i, METAFONT returns a non-zero error code, the log file written
by METAFONT is appended to the file mfjob.log in the current
directory, and work is continued. If you want to abort MFjob while
METAFONT is running, you should interrupt METAFONT with ^C, end
METAFONT with X and then abort MFjob with ^C. This will be easier
without /i, as METAFONT returns an error code of 2 when interrupted
with ^C and X; this will stop MFjob as well.
/l Low priority (OS/2 only). This option is handed down to METAFONT.
/m Master (for network). [not implemented yet]
/n Don't make fonts, just list commands.
/pv[:][=]
Set drive for default directories. This option is also handed down
to METAFONT.
/s Slave (for network). [not implemented yet]
Define a macro. See below.
mfj file format
===============
The file can contain comments which start with `%', this character and all
other characters to the end of the line being ignored.
However, a `%' within brackets `[' `]' does not start a comment.
Here is a small mfj file as an example:
-------------------------------------------------------------------------------
%
% minimal.mfj
%
{
font=cmr10;
mag=1;
mode=hplaser[300];
output=pk[c:\emtex\pixel.lj\$rdpi];
}
-------------------------------------------------------------------------------
This file contains a BLOCK, which starts with an open brace and ends with the
matching closing brace. DECLARATIONs (other than macro definitions) can only
appear within a block. Blocks can be nested.
A definition within a block has no effect outside this block but is inherited
by blocks nested within it. Now for declarations:
font=
fonts=
This lists the names of the fonts which are to be computed. Each
name must be separated from the next by a blank or the end of the
line. A semicolon terminates the list. The font declaration adds the
fonts listed to the set of fonts to be generated. The font names can
include the following special characters:
? matches any character
* matches the rest of the name
# matches one or more digits
mag=
mags=
This declaration list the magnifications for which the fonts are to be
generated. The numbers must lie in the range 0.1 to 1000 and may
contain a decimal point. The usual magsteps can be abbreviated to s0
(1.0), s1 (1.2), s2 (1.44) and so on to s9 (5.159780352). The
abbreviation for magstep 0.5 is sh (1.095445115). Each magnification
must be separated from the next by a space, the list ends with a
semicolon. This declaration adds the list of magnifications to those
already declared.
mode=
This declares the device for which the fonts are to be generated. The
mode name (as defined in local.mf) is followed by the horizontal
resolution (in DPI) in brackets. The declaration ends with a
semicolon. Each block can only contain one mode declaration.
However, blocks can be nested: see below.
output=
This selects the output files to be generated and the directory in
which they are to be stored. The following output file types can be
generated:
pxl pxl file (created by GFtoPXL).
pk pk file (created by GFtoPK).
gf gf file (created by METAFONT).
log log file (created by METAFONT).
tfm tfm file (created by METAFONT).
The directory, in brackets, follows the file type. The following
special sequences can be used in the directory name:
%r or $r the resolution of the device in DPI
%s or $s the PXL font size (5*resolution)
Each file type/directory combination is separated from the next by a
space and the list ends with a semicolon.
Only the file types listed in this declaration will be generated, or
rather, all tfm, gf and log files not given in an output declaration
will be deleted. The output declaration replaces previous entries
for the separate file types.
base=
This selects the METAFONT base to be used for the generation
of the fonts which FOLLOW it. The usual declarations are base=cm or
base=plain; at the beginning of the outermost block base=cm has been
set. The base declaration replaces the preceding one. The
declaration is followed by a semicolon.
At the end of every block which does not contain a nested block the selected
fonts with the selected bases in the selected magnifications for the selected
device are set to generate the selected file types. The generation of these
fonts start after the mfj file has been read. If the /a option is not used,
only those of the selected fonts which do not already exist will be generated
-- if only the log file is missing, however, the font will not be generated.
The following example generates cmr10 and cmbx10 as pk files in magnifications
1 and 1.2 for the HP LaserJet+ and the Epson FX-80.
-------------------------------------------------------------------------------
%
% example.mfj
%
{
fonts=cmr10 cmbx10;
mags=s0 s1;
{
mode=hplaser[300];
output=pk[c:\emtex\pixel.lj\pxl$s];
}
{
mode=epsonfx[240];
output=pk[c:\emtex\pixel.fx\pxl$s];
}
}
-------------------------------------------------------------------------------
Included data files
===================
Files containing mfj declarations can be included with the command
input [name];
Macros
======
Macros can be defined either in the command line (see above) or in the mfj
file with the commands
def macro=[definition];
redef macro=[definition];
If a macro is defined more than once then only the first definition (for
instance, in the command line) will be used. Macros can be redefined with
`redef' in which case the old definition will be replaced when it is no longer
used. Example:
def x=[mag=2;redef x=[mag=4;];mag=3;x;mag=5];
x;
This expands to: mag=2;mag=3;mag=4;mag=5
Macros are only expanded outside brackets (`[...]'). As macros containing
blanks cannot be defined in the command line, any commas in a command line
macro definition will be replaced by spaces.
Example:
-------------------------------------------------------------------------------
%
% x.mfj
%
input [modes];
def s=[1];
def f=[cmr10];
{
fonts=f; mags=s; m;
}
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
%
% modes.mfj
%
def lj=[mode=hplaser[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
def fx=[mode=epsonfx[240]; output=pk[c:\newfonts\pixel.fx\%rdpi]; tfmlog];
def mx=[mode=epsonmx[120]; output=pk[c:\newfonts\pixel.mx\%rdpi]; tfmlog];
def lql=[mode=lqlores[180]; output=pk[c:\newfonts\pixel.p6l\%rdpi]; tfmlog];
def lqm=[mode=lqmedres[360]; output=pk[c:\newfonts\pixel.p6m\%rdpi]; tfmlog];
def lqh=[mode=lqhires[360]; output=pk[c:\newfonts\pixel.p6h\%rdpi]; tfmlog];
def ito=[mode=itoh[160]; output=pk[c:\newfonts\pixel.ito\%rdpi]; tfmlog];
def kyo=[mode=kyocera[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
def FAX=[mode=fax[204]; output=pk[c:\newfonts\pixel.fax\%rdpi]; tfmlog];
def qj=[mode=hpquiet[192]; output=pk[c:\newfonts\pixel.qj\%rdpi]; tfmlog];
def m=[lj];
def tfmlog=[output=tfm[c:\newfonts\tfm] log[c:\newfonts\log];];
-------------------------------------------------------------------------------
Call:
mfjob x s=s0,s1 f=cmbx10,cmti10 m=fx
Note: `fax' isn't the same as 'FAX'.
Notes
=====
The /m and /s options (for networks) are not yet implemented. They will have
the following effect: the MFjob is started on one (and only one) workstation
on the network with the /m option, on all the other machines it is started
with the /s option. By this means the job can be shared between all the
workstations on the network. The MFjob programs started with /s do not read
the main mfj file but only the temporary file created by the MFjob started
with /m.
The font files are first sought in the current directory and, if not
found, the search is extended to the directories listed in the environment
variable MFINPUT. If MFINPUT is not set then the default directory
\emtex\mfinput (on the drive set by /pv or EMTEXDRV) is searched. Use
set emtexdrv=e
or
mfjob /pv:e ...
to make MFjob search e:\emtex\mfinput (for font files) and e:\emtex\mfjob
(for mfj files). If you don't use EMTEXDRV and /pv, the dircetories
\emtex\mfinput and \emtex\mfjob on the current drive will be searched.
MFjob consists of three programs: mfjob.exe, mfjob1.ovl, mfjob2.ovl.
Besides METAFONT, gftopk.exe and gftopxl.exe are needed. For METAFONT,
the following file is used:
MFjob call | DOS | OS/2
------------------+------------+-------------
MFjob | mf.exe | mfp.exe
MFjob /2 | mf286.exe | --
MFjob /b | bmf.exe | bmfp.exe
MFjob /2 /b | bmf286.exe | --
METAFONT writes its output into the current directory and MFjob needs a
temporary file in this directory. It is therefore recommended that MFjob is
started in a suitable working directory. MFjob programs running concurrently
(network or OS/2) must run in different directories.
The mfj files are sought first in the directory given (if it exists), then in
the current directory, then in the directories listed in the MFJOB
environment variable (the directories in the list must be separated from one
another with a semicolon), and finally in \emtex\mfjob (on the drive
set by EMTEXDRV or /pv).
History
=======
Version 1.1a:
-------------
- Error in `input' corrected.
- Environment variable `MFJOB'.
Version 1.1b:
-------------
- The directory \emtex\mfinput is no longer searched if the
environment variable `MFINPUT' is set.
Version 1.1c (21.02.90):
------------------------
- The `_' character can be used (for instance in mode=).
Version 1.1d (30.04.90):
------------------------
- New option /i to ignore METAFONT error codes.
- New option /2 results in using METAFONT's 286 version.
- New option /b results in using bigMETAFONT.
- New option /d is handed down to METAFONT.
- mfjob1.exe and mfjob2.exe renamed to mfjob1.ovl and mfjob2.ovl.
Version 1.1e (16.07.90):
------------------------
- Default directory for mfj files: \emtex\mfjob.
- New option: /pv (set drive for default directories).
- New environment variable: EMTEXDRV (drive for default directories).
Version 1.1f (25.09.90):
------------------------
- Display '======...' after generating of a font.
==============================================================================
MFJOB.DOC fr MFjob 1.1f VERSION: 25.09.1990
==============================================================================
Programm zum automatischen Ausrechnen von Zeichenstzen mit METAFONT,
GFtoPXL und GFtoPK. In einer Datei (mfj-Datei) wird angegeben, welche
Zeichenstze in welchen Gren fr welche Gerte zu erzeugen sind.
Aufruf
======
mfjob
mfjob /s [
Name der mfj-Datei (Standarderweiterung: mfj).
/2 Es wird die METAFONT-Version fr 80286-Prozessor aufgerufen
(mf286.exe oder bmf286.exe statt mf.exe oder bmf.exe). Diese
Option kann nicht unter OS/2 verwendet werden. Siehe auch /b.
/a Alle Zeichenstze erzeugen (Voreinstellung: nur nicht-existierende
erzeugen).
/b Es wird bigMETAFONT statt der Standardversion aufgerufen
(bmf.exe, bmf286.exe oder bmfp.exe statt mf.exe, mf286.exe oder
mfp.exe). Siehe auch /2.
/d Expanded Memory wird nicht verwendet (nur unter DOS).
Diese Option wird an METAFONT weitergereicht.
/i Von METAFONT gelieferte Fehler ignorieren. Wenn METAFONT einen Fehler
erkennt, liefert es einen Fehlercode, der von 0 verschieden ist.
Ohne Angabe von /i wird dann auch MFjob beendet. Bei kleinen
Auflsungen treten jedoch Fehler hufiger auf, z.B. `strange path'
oder `Bad pos'. Um MFjob unbeaufsichtigt arbeiten zu lassen,
sollte deshalb /i angegeben werden. Wenn bei Verwendung von /i
METAFONT einen Fehlercode liefert, der von 0 verschieden ist,
wird die von METAFONT erzeugte Datei an die Datei mfjob.log im
Arbeitsverzeichnis angehngt und weitergemacht. Wenn Sie MFjob
abbrechen wollen, whrend METAFONT luft, mssen Sie zunchst mit ^C
METAFONT unterbrechen, mit X beenden und dann mit ^C MFjob abbrechen.
Ohne /i geht es einfacher, da METAFONT bei Abbruch mit ^C und X
den Fehlercode 2 liefert und damit auch MFjob beendet.
/l Low priority (nur OS/2). Diese Option wird an METAFONT weitergereicht.
/m Master (fr Netzwerk). [nicht implementiert]
/n Keine Zeichenstze erzeugen, nur Liste der Kommandos ausgeben.
/pv[:][=]
Laufwerksbuchstabe fr voreingestellte Verzeichnisse. Wird auerdem
an METAFONT weitergereicht.
/s Slave (fr Netzwerk). [nicht implementiert]
Makro definieren. Siehe unten.
Aufbau der mfj-Datei
====================
Es knnen Kommentare verwendet werden, diese werden mit einem % eingeleitet.
Der Rest der Zeile wird dann ignoriert. Ausnahme: Innerhalb von eckigen
Klammern [...] wird durch % kein Kommentar eingeleitet.
Eine minimale mfj-Datei kann wie folgt aussehen:
-------------------------------------------------------------------------------
%
% minimal.mfj
%
{
font=cmr10;
mag=1;
mode=hplaser[300];
output=pk[c:\emtex\pixel.lj\$rdpi];
}
-------------------------------------------------------------------------------
Diese Datei enthlt einen BLOCK, der durch eine ffnende geschweifte
Klammer begonnen wird und durch eine schlieende beendet wird.
Auerhalb eines Blockes knnen keine DEKLARATIONEN (auer Makro-Definition)
angegeben werden. Blcke drfen geschachtelt werden. Alle Deklarationen
innerhalb eines Blocks wirken sich nicht auf auerhalb aus, werden jedoch an
weiter innen liegende Blcke vererbt. Nun zu den Deklarationen:
font=
fonts=
Hiermit werden die Namen der Zeichenstze angegeben, die berechnet
werden sollen. Die einzelnen Namen werden durch Leerzeichen
(oder Zeilenende) getrennt. Am Ende mu ein Semikolon angegeben werden.
Die font-Deklaration fgt die angefhrten Zeichenstze zu den
auszurechnenden hinzu. In den Zeichensatznamen knnen folgende
Spezialzeichen verwendet werden:
? Pat auf ein beliebiges Zeichen.
* Pat auf den Rest des Namens.
# Pat auf eine bis beliebig viele Ziffern.
mag=
mags=
Hiermit wird eingestellt, in welchen Vergrerungen (magnifications)
die Zeichenstze berechnet werden sollen. Es knnen Gleitpunktzahlen
zwischen 0.1 und 1000 angegeben werden. Fr die blicherweise
verwendeten Vergrerungsstufen (magsteps) stehen Abkrzungen
zur Verfgung: s0 bedeutet 1.0, s1 bedeutet 1.2, s2 bedeutet 1.44,
usw. bis s9=5.159780352. Auerdem steht sh fr 1.095445115.
Die einzelnen Vergrerungen werden durch Leerzeichen getrennt,
am Ende der Liste mu ein Semikolon stehen. Die mag-Deklaration
fgt die Vergrerungen zu den bisher angegebenen hinzu.
mode=
Hiermit wird eingestellt, fr welches Gert die Zeichenstze
ausgerechnet werden sollen. Hierzu ist der mode-Name (wie in
local.mf definiert) gefolgt von der horizontalen Auflsung (in DPI)
in eckigen Klammern anzugeben. Ein Semikolon schliet die
Deklaration ab. Die mode-Deklaration ersetzt die vorige
mode-Einstellung. Pro Block knnen also nur fr ein Gert
Zeichenstze erzeugt werden (jedoch knnen Blcke geschachtelt
werden, siehe unten).
output=
Hiermit wird eingestellt, welche Dateitypen erzeugt werden sollen
und wohin diese Dateien geschrieben werden sollen. Es gibt die
folgenden Dateitypen:
pxl pxl-Datei (mit GFtoPXL erzeugt).
pk pk-Datei (mit GFtoPK erzeugt).
gf gf-Datei (von METAFONT erzeugt).
log log-Datei (von METAFONT erzeugt).
tfm tfm-Datei (von METAFONT erzeugt).
Nach dem Dateityp ist in eckigen Klammern anzugeben, in welches
Verzeichnis die Dateien dieses Typs zu schreiben sind. Dabei knnen
folgende Spezialsequenzen benutzt werden:
%r oder $r Auflsung des Gertes (mode) in DPI.
%s oder $s PXL-Zeichensatzgre (Auflsung*5).
Mehrere Dateitypen werden durch Leerzeichen getrennt, am Ende
der Liste steht ein Semikolon.
Es werden nur die Dateien erzeugt, die in einer output-Deklaration
aufgefhrt sind (oder vielmehr: tfm-, gf-, und log-Dateien werden
gelscht, falls nicht in einer output-Deklaration aufgefhrt).
Die output-Deklaration ersetzt die alten Angaben fr die einzelnen
Dateitypen.
base=
Hiermit wird fr die FOLGENDEN font-Deklarationen eingestellt,
welche METAFONT base benutzt werden soll. blicherweise wird
base=cm oder base=plain verwendet, zu Beginn der uersten
Blcke ist base=cm eingestellt. Die base-Deklaration ersetzt
die vorige Einstellung. Die Deklaration wird durch ein Semikolon
abgeschlossen.
Am Ende eines jeden Blockes, der keine weiteren Blcke enthlt,
werden die eingestellten Zeichenstze mit den eingestellten
METAFONT bases in den eingestellten Vergrerungen fr das
eingestellte Gert fr die Erzeugung der eingestellten Dateitypen
vorgemerkt. Nach dem Lesen der mfj-Datei beginnt dann die Erzeugung
aller vorgemerkten Zeichenstze. Wenn die A-Option nicht verwendet
wird, werden nur die Zeichenstze erzeugt, die noch nicht existieren
(wenn nur die log-Datei fehlt, wird ein Zeichensatz nicht ausgerechnet).
Das folgende Beispiel erzeugt die Zeichenstze cmr10 und cmbx10
(nur pk-Dateien) in den Vergrerungen 1 und 1.2 fr den HP LaserJet+
und den EPSON FX-80.
-------------------------------------------------------------------------------
%
% beispiel.mfj
%
{
fonts=cmr10 cmbx10;
mags=s0 s1;
{
mode=hplaser[300];
output=pk[c:\emtex\pixel.lj\pxl$s];
}
{
mode=epsonfx[240];
output=pk[c:\emtex\pixel.fx\pxl$s];
}
}
-------------------------------------------------------------------------------
Einfgen von Dateien
====================
Mit
input [name];
Wird die mfj-Datei `name' an dieser Stelle eingefgt.
Makros
======
Makros werden ber die Kommandozeile (siehe oben) oder durch
def makro=[definition];
redef makro=[definition];
definiert. Bei mehrfacher Definition eines Makros durch `def' wird
die allererste Definition (z.B. in der Kommandozeile) benutzt.
Makrodefinitionen mit `redef' ersetzen immer die alte Definition,
wobei die alte Version erst dann weggeworfen wird,
wenn sie nicht mehr gebraucht wird. Beispiel:
def x=[mag=2;redef x=[mag=4;];mag=3;x;mag=5];
x;
Dies expandiert zu: mag=2;mag=3;mag=4;mag=5
Makros werden nur auerhalb [...] expandiert. Da ber die Kommandozeile
keine Makros definiert werden knnen, die Leerzeichen enthalten, werden
Kommata bei Makrodefinitionen in der Kommandozeile in Leerzeichen umgewandelt.
Beispiel:
-------------------------------------------------------------------------------
%
% x.mfj
%
input [modes];
def s=[1];
def f=[cmr10];
{
fonts=f; mags=s; m;
}
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
%
% modes.mfj
%
def lj=[mode=hplaser[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
def fx=[mode=epsonfx[240]; output=pk[c:\newfonts\pixel.fx\%rdpi]; tfmlog];
def mx=[mode=epsonmx[120]; output=pk[c:\newfonts\pixel.mx\%rdpi]; tfmlog];
def lql=[mode=lqlores[180]; output=pk[c:\newfonts\pixel.p6l\%rdpi]; tfmlog];
def lqm=[mode=lqmedres[360]; output=pk[c:\newfonts\pixel.p6m\%rdpi]; tfmlog];
def lqh=[mode=lqhires[360]; output=pk[c:\newfonts\pixel.p6h\%rdpi]; tfmlog];
def ito=[mode=itoh[160]; output=pk[c:\newfonts\pixel.ito\%rdpi]; tfmlog];
def kyo=[mode=kyocera[300]; output=pk[c:\newfonts\pixel.lj\%rdpi]; tfmlog];
def FAX=[mode=fax[204]; output=pk[c:\newfonts\pixel.fax\%rdpi]; tfmlog];
def qj=[mode=hpquiet[192]; output=pk[c:\newfonts\pixel.qj\%rdpi]; tfmlog];
def m=[lj];
def tfmlog=[output=tfm[c:\newfonts\tfm] log[c:\newfonts\log];];
-------------------------------------------------------------------------------
Aufruf:
mfjob x s=s0,s1 f=cmbx10,cmti10 m=fx
Beachten Sie, da in modes.mfj `fax' und `FAX' unterschieden werden!
Hinweise
========
Die Optionen /m und /s (fr Netzwerk) sind noch nicht implementiert.
Die Bedeutung soll folgende sein: Auf genau einem Rechner wird
MFjob mit /m gestartet, auf allen anderen mit /s. Die Arbeit wird
dann auf alle beteiligten Rechner verteilt. Die MFjob-Programme mit
/s lesen nicht die mfj-Datei sondern nur die von MFjob mit /m
erzeugte temporre Datei.
Die Zeichensatzdateien werden zuerst im Arbeitsverzeichnis,
dann in den durch die Environment-Variable MFINPUT definierten
Verzeichnissen gesucht. Wenn die Environment-Variable MFINPUT nicht
gesetzt ist, wird zustzlich zum Arbeitsverzeichnis das Verzeichnis
`\emtex\mfinput' durchsucht. Mit der Environment-Variablen EMTEXDRV
oder der Kommandozeilenoption /pv kann ein Laufwerk fr \emtex\mfinput
eingestellt werden: Bei Angabe von
set emtexdrv=e
oder
mfjob /pv:e ...
wird e:\emtex\mfinput und e:\emtex\mfjob verwendet. Ohne diese Angaben
wird \emtex\mfinput und \emtex\mfjob (auf dem selektierten Laufwerk)
durchsucht.
MFjob besteht aus drei Programmen: mfjob.exe, mfjob1.ovl, mfjob2.ovl.
Zustzlich zu METAFONT werden gftopk.exe und gftopxl.exe bentigt. Fr
METAFONT wird die folgende Datei benutzt:
MFjob-Aufruf | DOS | OS/2
------------------+------------+-------------
MFjob | mf.exe | mfp.exe
MFjob /2 | mf286.exe | --
MFjob /b | bmf.exe | bmfp.exe
MFjob /2 /b | bmf286.exe | --
METAFONT schreibt die Ausgabedateien ins Arbeitsverzeichnis.
Auerdem benutzt MFjob eine temporre Datei im Arbeitsverzeichnis.
Deshalb ist vor dem Start von MFjob in ein geeignetes temporres Verzeichnis
zu wechseln. Gleichzeitig aktive MFjob-Programme (Netzwerk oder OS/2)
mssen in verschiedenen Verzeichnissen laufen.
Die mfj-Dateien werden zuerst im angegebenen Verzeichnis
(falls vorhanden) gesucht, dann im Arbeitsverzeichnis, dann
in den mit der Environment-Variable MFJOB eingestellten
Verzeichnissen (mehrere Verzeichnisse werden durch Strichpunkte getrennt)
und schlielich in \emtex\mfmjob (mit dem mit EMTEXDRV oder /pv
eingestellten Laufwerksbuchstaben) gesucht.
Bei Verwendung von /i werden METAFONT-log-Dateien im Fehlerfalle an
die Datei mfjob.log im Arbeitsverzeichnis angehngt. Falls diese
Datei noch nicht existiert, wird sie angelegt.
nderungen
==========
Version 1.1a:
-------------
- Fehler bei `input' beseitigt.
- Environment-Variable MFJOB.
Version 1.1b:
-------------
- Das Verzeichnis \emtex\mfinput wird nicht mehr durchsucht, wenn
die Environment-Variable MFINPUT gesetzt ist.
Version 1.1c (21.02.90):
------------------------
- Das Zeichen `_' kann nun verwendet werden (z.B. bei mode=).
Version 1.1d (05.06.90):
------------------------
- Neue Option: /i zum Ignorieren der METAFONT-Fehlercodes.
- Neue Option: /2 bewirkt Verwendung der 286-Version von METAFONT.
- Neue Option: /b bewirkt Verwendung von bigMETAFONT.
- Neue Option: /d wird an METAFONT weitergegeben.
- mfjob1.exe und mfjob2.exe wurden in mfjob1.ovl und mfjob2.ovl umbenannt.
Version 1.1e (16.07.90):
------------------------
- mfj-Dateien werden zustzlich in \emtex\mfjob gesucht.
- Neue Option: /pv (Laufwerk fr \emtex\mfinput und \emtex\mfjob).
- Die Environment-Variable EMTEXDRV wird beachtet (Laufwerk fr
\emtex\mfinput und \emtex\mfjob).
Version 1.1f (25.09.90):
------------------------
- Ausgabe von `======...' nach der Bearbeitung eines Zeichensatzes.
December 8, 2017
Add comments