SuivantPrec.Bas prec.BasNiv. sup.

4.2 Format des fichiers de substitution de fonte 

Un fichier de substitution de fonte donne une liste de fontes pouvant être utilisées pour remplacer celles appelées par un fichier DVI: les noms des fichiers de substitution de fonte peuvent être fixés par l'option +font-subst-files bien que les pilotes puissent s'en passer. Un fichier de substitution de fonte peut contenir des commentaires qui sont des lignes commençant par %.

4.2.1 Substitution avec et sans mode batch 

Un fichier de substitution de fonte a deux parties dont seule l'une est requise. La première remplace TOUTES les fontes correspondantes alors que la seconde décrit ce qui doit être fait quand un fichier de fonte ne peut être trouvé lorsque +batch-mode est actif. Les deux parties sont séparées par la ligne

$b

Si le fichier de substitution de fonte contient seulement la première partie, $b peut être omise.

TOUTES les règles de la première partie sont appliquées l'une après l'autre avec pour résultat qu'une règle est passée à la suivante. Les règles qui ne concordent pas restent inutilisées.

La seconde partie n'a d'effet que si +batch-mode est actif puis seulement quand une fonte ne peut être trouvée. Les substitutions dans cette partie sont appliquées à leur tour au nom et à la taille d'origine de la fonte avec le résultat qu'une substitution n'est pas transmise à la suivante. Après chaque tentative de substitution les nom et taille résultants sont recherchés et le processus se termine quand la recherche aboutit. Si la recherche n'aboutit pas alors la règle suivante est essayée; si toutes les règles échouent le programme se termine avec un message d'erreur.

4.2.2 Lignes de règles 

Chaque ligne d'un fichier de substitution de fonte contient une seule règle de substitution si ce n'est pas une ligne de commentaire ou la ligne $b: le nom du fichier de fonte ou la taille (ou les deux) apparaît à gauche de -> alors que le nom ou la taille à substituer sont à droite; ceci peut être suivi d'une option. Pour utiliser les polices intégrées d'une imprimante, => est utilisé à la place de ->, voir ci-dessous pour les détails. Vous pouvez choisir l'un des formats suivants:

fonte -> fonte [option] [commentaire]
taille -> taille [option] [commentaire]
fonte taille -> fonte taille [option] [commentaire]

Les noms de fonte peuvent contenir des caractères spéciaux, voir plus loin. La taille est spécifiée en points par pouce (DPI); vous pouvez utiliser un pas d'agrandissement précédé d'un deux-points, par exemple, :2 ou 300:1. Le caractère * représente une taille arbitraire s'il est utilisé à gauche de ->. A droite de ->, * représente la taille de la fonte d'origine.

4.2.3 Options dans les règles de substitution de fontes 

Au plus l'une des options suivantes peut être utilisée dans chaque règle de substitution:

/b Tous les caractères de la fonte seront remplacés par des rectangles noirs. S'il n'y a pas de fichier de fonte, un fichier TFM sera suffisant.
/r Tous les caractères de la fonte seront remplacés par des contours rectangulaires noirs. S'il n'y a pas de fichier de fonte, un fichier TFM sera suffisant. Dvidot et Dvihplj traitent /r comme /b et impriment des rectangles noirs pleins à la place.
/w La fonte est rendue invisible, c-à-d., un fichier de fonte est encore requis (un fichier TFM est suffisant) mais les caractères de la fonte seront remplacés par un espace blanc. Cette particularité peut être utilisée pour les fontes SliTeX invisibles.
/d Tous les caractères de la fonte sont complètement écartés, il n'y aura pas d'espace blanc pour les caractères. Ceci a pour résultat une mauvaise position des autres objets. En conséquence, un message d'avertissement 1211 sera affiché. Aucun fichier de fonte n'est requis.
Les règles ne comportant pas d'option ne changent pas le mode défini par les options correspondantes des règles précédentes. C'est à dire, vous ne pouvez pas remettre une fonte dans le mode par défaut (impression des caractères) après avoir appliqué une option.

4.2.4 Faire correspondre les noms de fontes 

Trois caractères spéciaux peuvent être utilisés dans les noms de fontes: * doit être donné à la fin du nom d'une fonte et fait ignorer les caractères restant du nom. * dans le nom de remplacement est remplacé par les caractères qui correspondaient à * dans le nom d'origine de la fonte. @ remplace (dans le nom d'origine de la fonte) tout caractère simple. Vous ne pouvez utiliser @ dans le nom de remplacement. ? remplace aussi (dans le nom d'origine de la fonte) tout caractère simple. Dans le nom de remplacement de la font, ? est remplacé par le caractère correspondant au ? du nom d'origine de la fonte (le nom de remplacement doit contenir le même nombre de points d'interrogation que le nom d'origine). Notez qu'alors que @ et ? peuvent être suivis de noms de caractères, * ne peut apparaître que comme dernier caractère. Voici un exemple élaboré montrant l'effet de chaque caractère:

aaa?bb@cc?dd* -> x?y?z*

Cette règle remplacera le nom de fonte aaa1bb2cc3dd456 par x1y3z456. Ceci ne correspond PAS au nom de fonte aaabb2cc3dd456.

4.2.5 Utiliser les fontes résidantes d'une imprimante 

Dvihplj peut utiliser les polices résidantes d'une imprimante. Un fichier de substitution de fonte est utilisé pour appliquer les polices TeX aux polices résidantes. Pour faire correspondre une police TeX à une police résidante, une ligne de règle différente est utilisée:

font [size] => pcl:<sélection>

Suivant le mot clé pcl:, les commandes PCL de sélection de police résidante sont énumérées, séparées par des blancs. Le préfixe `Esc (' ou `Esc )' utilisé dans les commandes de sélection de police doit être omis.

Vous pouvez mettre une * à la place d'une taille spécifique à gauche de la partie => pcl: de la règle. Si * est utilisé pour la taille, elle peut aussi être utilisée dans une valeur de sélection. Dans ce cas, la partie numérique de la valeur de sélection sera multipliée par l'agrandissement de la police. Exemple:

 trr10u * => pcl: 10U s1P s*10V s0S s0B s5T
Cette règle oblige Dvihplj à remplacer toutes les occurrences de la police trr10u par une police résidante sélectionnée par
 <ESC>(10U<ESC>(s1p??v0s0b5T
La hauteur de la police (désignée par ??) est remplacée par 10 fois l'agrandissement de trr10u dans le fichier DVI. Ceci n'a de sens que pour les polices vectorielles.

Notez qu'un fichier TFM est requis pour toute police résidante. Les polices résidantes d'une imprimante ne peuvent être utilisées qu'avec +transformation:0. Pour la HP LaserJet III et les modèles ultérieurs (telle que la HP LaserJet 4), +transformation:0 à +transformation:3 sont reconnus. +full-page-bitmap:on désactive aussi les polices résidantes de l'imprimante.

Si le fichier TFM contient des paramètres de sélection d'une police PCL, ces paramètres sont utilisés en premier. Puis les commandes de sélection de police du fichier de substitution de fonte sont utilisées.

Dvihplj peut utiliser des polices sans fichier de substitution de fonte si les fichiers TFM contiennent des informations PCL de sélection de police.

4.2.6 Exemple 

Ce fichier exemple montre certaines applications des fichiers de substitution de fonte:

 %
 % Fichier exemple de substitution de fonte
 %
 am* -> cm*           % remplace les fontes am par les fontes cm
 longfontname -> lfn  % change le nom
 305 -> 300           % change la taille
 600 -> 300:4         % change la taille
 cmr12 :0 -> cmr10 :1 % cmr12 \'echelle 1000 -$>$ cmr10 \'echelle 1200
 i* -> * /w           % polices Sli\TeX{} invisibles
 fancy -> fancy /b    % remplace les caract\`eres par des rectangles
 dummy -> dummy /d    % se d\'ebarrasse des caract\`eres
 
 $b                   % les r\`egles pour +batch-mode suivent
 
 * * -> * :0          % garde le nom, taille := +font-resolution
 * * -> cmr10 :0      % nom := cmr10, taille := +font-resolution
 * * -> * * /r        % remplac\'e par des rectangles, appelle MFjob
SuivantPrec.Bas prec.HautNiv. sup.