



Format du fichier mfj Voici, comme exemple, un petit fichier mfj:
|
Une définition dans un bloc est sans effet en dehors de ce bloc mais est héritée par les blocs imbriqués dans celui-ci.
À la fin de chaque bloc qui ne contient pas de bloc imbriqué, la liste des fontes
sélectionnées dans les bases respectives, dans les agrandissements sélectionnés et
pour les périphériques sélectionnés, est établie, afin de créer les types de fichiers
sélectionnés. La création de ces fontes commence après que le fichier mfj ait
été lu. Si l'option /a n'est pas indiquée, seules les fontes qui n'existent pas
déjà sont créées. S'il n'y a que le fichier log qui manque, la fonte ne sera pas
créée.
Les déclarations possibles sont indiquées ci-dessous :
7.3.1 font= (ou fonts=)
Donne la liste des noms de fontes qui doivent être calculées. Chaque nom doit être séparé
du suivant par un blanc ou une fin de la ligne. Un point-virgule termine la liste. La
déclaration font ajoute les fontes listées à l'ensemble des fontes à créer. Les noms de
fontes peuvent inclure les caractères spéciaux suivants:
cmr#', par exemple, représente les noms de fichiers cmr5.mf, cmr6.mf,
cmr7.mf, cmr8.mf, cmr9.mf, cmr10.mf, cmr12.mf et cmr17.mf (et éventuellement
d'autres). Le masque `cmr#0' ne correspond à aucun nom de fichier, parce que `#' fait
sauter tous les chiffres consécutifs dans les noms de fichiers, et donc un 0 ne peut pas
suivre un #.
7.3.2 mag= (ou mags=)
Cette déclaration donne la liste des agrandissements sous lesquels les fontes doivent
être créées. Les nombres doivent se trouver dans les limites 0.1 à 1000 et peuvent
contenir un point décimal. Les pas d'agrandissements courants (magsteps)
peuvent être abrégés en s0 (1.0), s1 (1.2), s2 (1.44) et ainsi de suite jusqu'à s9
(5.159780352). L'abréviation pour l'agrandissement 0.5 est sh (1.095445115). Chaque
agrandissement doit être séparé du suivant par un espace, la liste se termine par un
point-virgule. Cette déclaration ajoute la liste des agrandissements à ceux déjà
déclarés.
7.3.3 mode=
Déclare le périphérique auquel les fontes sont destinées. Le nom du mode (comme défini
dans local.mf) est suivi de la résolution horizontale (en dpi) entre crochets. Si la
résolution verticale diffère de la résolution horizontale, vous devez l'indiquer aussi, en la
séparant de la résolution horizontale par un espace. La déclaration se termine par un
point-virgule. Chaque bloc ne peut contenir qu'une seule déclaration de mode.
Cependant des blocs peuvent être imbriqués.
7.3.4 output=
Cette déclaration sélectionne les fichiers de sortie à créer et indique comment les nommer. Les types de fichiers de sortie suivants peuvent être créés:
pxl | fichier pxl (créé par GFtoPXL). |
pk | fichier pk (créé par GFtoPK). |
gf | fichier gf (créé par Metafont). |
log | fichier log (créé par Metafont). |
tfm | fichier tfm (créé par Metafont). |
Le modèle pour le nom de répertoire est placé entre crochets, et suit le type du fichier. Les séquences spéciales suivantes peuvent être utilisées dans le nom du répertoire:
@Rr | la résolution de la fonte, en dpi (arrondie) |
@f | le nom de la fonte |
S'il n'y a pas d'extension, les extensions usuelles (`pxl', `pk', `@Rrgf', `log', `tfm')
seront utilisées. Chaque combinaison type de fichier/répertoire est séparée de la suivante
par un espace, et la liste se termine par un point-virgule. Seuls les types de fichiers
donnés dans cette déclaration seront créés, ou plus précisement, tous les fichiers
tfm, gf et log non donnés dans une déclaration de sortie seront supprimés. La
déclaration de sortie remplace les entrées précédentes, pour les types de fichiers
séparés.
Exemple: La déclaration
|
font=cmr10, mode=laserjet[300] et mag=1.2 provoque la création des
fichiers :
|
pk, la première expansion devrait donner un nom de fichier qui se
termine par pk.
7.3.5 base=
Sélectionne la base Metafont à utiliser pour la création des fontes qui la suivent. Les
déclarations usuelles sont base=cm ou base=plain; au début du bloc le plus extérieur
base=cm a été défini. La déclaration de la base remplace la déclaration précédente. La
déclaration est suivie d'un point-virgule.
À la fin de tout bloc ne contenant pas un bloc imbriqué les fontes sélectionnées avec les
bases sélectionnées dans les agrandissements sélectionnés pour le pilote sélectionné sont
fixées pour créer les types de fichiers sélectionnés. La création de ces fontes commence dès
que le fichier mfj a été lu. Si l'option /a n'est pas utilisée, seules les fontes sélectionnées
qui n'existent pas déjà seront créées . S'il n'y a que le fichier log qui manque, la fonte ne
sera pas créée.
7.3.6 big=
Sélectionne la version big ou normale de Metafont. Si l'argument est `on', `yes' ou `y',
big Metafont est choisi. Si l'argument est `off', `no' ou `n', la version standard est
choisie. La valeur initiale est définie par l'option /b de la ligne de commande: la valeur
initiale est `big=on' si /b est donnée, `big=off' sinon. Cette déclaration remplace la
valeur précédente de `big' pour le bloc courant. La déclaration doit être suivie d'un
point-virgule.
7.3.7 driver=
Cette déclaration permet de choisir le pilote DVI. Cette valeur est utilisée uniquement
pour remplacer @d dans les modèles. Elle n'a pas d'autre signification. La valeur
initiale est vide. Cette déclaration remplace la valeur précédente de `driver' pour le loc
courant. La déclaration doit être suivie par un point-virgule.
7.3.8 fontlib= (ou fontlibs=)
Indique dans quelles librairies de fontes les recherches doivent être faites. Vous devez
fournir un modèle entre crochets. L'extension par défait est `.fli'. Les librairies de
fontes sont utilisées seulement pour trouver quelles fontes existent déjà. Aucune fonte ne
sera copiée dans les librairies de fontes. La déclaration doit être suivie d'un
point-virgule.
Exemple:
|
7.3.9 size= (ou sizes=)
Cette déclaration liste les tailles (design size en pt) des fontes à créer. Elle est utilisée
conjointement avec name= et command= pour les fontes pour lesquelles la design size
peut être sélectionnée (voir command=). Les nombres doivent se trouver dans
l'intervalle 1 à 10000 et peuvent contenir un point decimal. Chaque taille doit
être séparée de la suivante par un espace, et la liste doit se terminer par un
point-virgule. Cette déclaration ajoute la liste des tailles à celles qui sont déjà
déclarées.
7.3.10 name= (ou names=)
Cette déclaration définit comment construire le nom d'une fonte à créer, à partir du nom
du nom du fichier mf et de la taille. Elle doit être utilisée conjointement avec les
déclarations size= et command=pour les fontes qui disposent d'une design size
séectionnable (voir command=). Vous devez fournir un modèle entre crochets. La première
expansion sera utilisée pour les tailles entières, la seconde pour les tailles non-entières.
S'il y a une seule expansion, elle sera utilisée pour toutes les tailles. @f sera remplacé
par le nom du fichier mf (sans `.mf').
Exemple:
names=[@f@s,@f@Tsp@Fs] |
font=dcr et size=10 fournit le nom `dcr10', font=dcr et size=7.5 fournit le nom
`dcr7p5'.
7.3.11 command= (ou commands=)
Si vous utilisez des fontes avec une design size sélectionnable, un fichier pilote doit être
créé pour chaque paire fonte/taille. Celui-ci définit la design size souhaitée et appelle le
fichier mf. commands= est utilisé pour spécifier ce qui sera écrit dans le fichier pilote.
Vous devez fournir un modèle entre crochets. @f sera remplacé par le nom du fichier mf
(sans `.mf').
Utilisez :
|
|
7.3.12 Exemple
L'exemple suivant génère cmr10 et cmbx10 en fichiers pk aux agrandissements 1 et 1.2
pour les imprimantes HP LaserJet+ et Epson FX-80.
|
7.3.13 Fichiers mfj imbriqués
Des fichiers contenant des déclarations mfj peuvent être inclus avec la commande
input [nom_de_fichier];
L'extension par défaut est .mfj.
7.3.14 Macros
Des macros peuvent être définies soit sur la ligne de commande (voir ci-dessus) soit
dans le fichier mfj avec les commandes
|
|
redef
auquel cas l'ancienne définition sera remplacée lorsqu'elle n'est plus utilisée. Par
exemple:
|
mag=2;mag=3;mag=4;mag=5
Les macros ne sont développées qu'en dehors des crochets ([...]). Comme celles qui
contiennent des blancs ne peuvent être définies sur la ligne de commande, toute virgule
dans la définition d'une macro sur la ligne de commande sera remplacée par des
espaces.
Exemples:
|
|
mfjob
x
s=s0,s1
f=cmbx10,cmti10
m=fx |
fax' n'est pas la même chose que 'FAX'.
7.3.15 Raccourcis pour fonts=, mags= et sizes=
Souvent, on ne souhaite pas créer toutes les fontes dans tous les agrandissments ou toutes les tailles. Dans ces cas, il faut taper quelque chose comme :
|
|
font(sizes) crée (en interne) exactement les blocs et les déclarations
montrés dans le premier exemple. Par analogie, vous pouvez aussi utiliser
size(fonts), font(mags), mag(fonts), size(mags), et mag(sizes). Par exemple,
sizes(mags) liste les tailles, où chaque taille est suivie par une liste d'agrandissements
entre parenthèses. Après une déclaration de ce type, seule une déclaration du même type
ou des groupes appropriés peuvent suivre, jusqu'à ce que la fin du groupe soit
atteinte.
7.3.16 Déclaration des règles pour des fontes de design size arbitraire
Au lieu de définir explicitement des règles avec la déclaration size=, vous pouvez définir
des règles pour traiter automatiquement des fontes qui ont un design size arbitraire.
Ces règles sont appliquées si le fichier source d'une fonte n'est pas trouvé. Dans ce
cas, MFjob essaie de découper le nom de fonte selon une règle donnée, dans
un nom de base et une design size. S'il réussit, la fonte sera créée en utilisant
les valeurs définies dans name= et command=. Chaque règle spécifie un masque
pour les noms de fontes. Ces règles seront utilisées uniquement pour les noms
de fontes qui correspondent. De plus, chaque règle contient des déclarations
name= et command=. Une règle peut éventuellement contenir une déclaration
base=.
Une déclaration `rule' commence avec rule=, suivie par une liste de masques pour les
noms de fontes. Les masques peuvent contenir les caractères spéciaux ?, * et # (voir
font= pour les détails). Juste après la liste, vous devez taper une accolade ouvrante,
suivie des déclarations name=, command= et base=, ou une déclaration `skip'. La
déclaration base= peut être omise. La déclaration rule= doit être terminée par une
accolade fermante. Par exemple:
|
rule= ne peut pas être utilisée à l'intérieur d'un bloc.
Quand il est utilisé avec rule=, le modèle name= est quelque peu restreint, pour
simplifier l'extraction du nom de base et de la design size. Vous pouvez utiliser
seulement les paramètres @f et @s, chacun d'entre eux devant être utilisé exactement
une fois (exception faite de @Fs et @Ts qui peuvent figurer ensemble dans un modèle).
Seuls les caractères F et T sont autorisés, pour modifier un paramètre. Une spécification
de largeur (width) est autorisée seulement pour @s. Elle spécifie la largeur exacte, pas
une largeur minimum.
Si la déclaration donnée ci-dessus est utilisée simultanément avec
|
dcr10.mf soit trouvé. Appliquer la règle a le même
effet qu'utiliser d'une part les déclarations name= et command= de la règle, et utiliser
d'autre part les déclarations
|
font=dcr10.
Un autre exemple : la déclaration
|
|
|
dcr1728.mf n'est pas trouvé.
Cette déclaration définit les exceptions par rapport aux propriétés définies par
name=, et qui sont utilisées dans les règles. Pour certaines fontes, la taille ne
peut pas être déduite directement à partir du nom de la fonte. Par exemple, la
taille de dcr17 est 17.28, pas 17. Pour indiquer cette exception à MFjob,
utilisez :
|
name_size= prend des paires de modèles et de tailles comme arguments.
Vous pouvez donner une ou plusieurs paires. Si un des modèles correspond à un nom de
fonte, le caractères qui correspondent à `@f' seront pris comme nom du fichier mf, la
taille associée au modèle correspondant sera prise comme taille de la fonte. Seuls les
modèles simples peuvent être utilisés avec name_size=. Une seule séquence spéciale,
@f, est autorisée. De plus, le premier caractère après `@f' ne doit pas être une
lettre.
name_size= peut être utilisé seulement avec des règles. Voir dvidrv.mfj pour un
exemple.
name_size= n'est pas utilisé pour construire un nom de fonte à partir du nom d'un
fichier mf et d'une taille.
Si la déclaration `skip' est utilisée, toutes les fontes qui correspondent sont
sautées (c'est-à-dire ne sont pas créées) à moins qu'un fichier d'entrée mf soit trouvé
(si un fichier d'entrée est trouvé pour une fonte, aucune règle n'est prise en
compte). La déclaration `skip' doit être terminée par un point-virgule. Par
exemple :
|



