Définitions de macros

Cette section d'un PDF contient des macros définies par l'utilisateur. Une macro est un mnémonique unique qui représente un code de contrôle ou une séquence de codes de contrôle. Un mnémonique simplifie la définition des séquences de contrôle pour les imprimantes PC et facilite la lecture des informations dans le PDF.

Le tableau suivant montre la structure d'une instruction de définition de macro. Une définition de macro est composée de quatre parties :

1 2 3 4
nom EQU Codes de contrôle de l'imprimante PC Commentaires

Par exemple :

 FFF EQU 0C /* Form Feed */

La première partie est le mnémonique ou le nom de la macro défini par l'utilisateur. Ce nom doit comporter exactement trois caractères et ne doit pas commencer par un chiffre. Il est utile de définir un mnémonique significatif, tel que P17 pour pas 17,1.

La deuxième partie, EQU, signifie equate (équivaut) et doit être codée comme EQU.

La troisième partie est le code de contrôle hexadécimal, spécifique à une imprimante PC. Chaque fabricant d'imprimante PC peut définir différents codes de contrôle pour la même fonction d'imprimante. Par exemple, l'IBM® 4019 LaserPrinter utilise des codes de contrôle définis par l'IBM® Personal Printer Data Stream (PPDS). Les imprimantes Hewlett-Packard utilisent des codes de contrôle définis par le langage de contrôle d'imprimante (PCL) Hewlett-Packard. Ces codes de contrôle sont généralement définis dans le manuel fourni avec l'imprimante.

Certains manuels d'imprimantes PC décrivent les séquences de contrôle comme une chaîne de symboles ASCII, tels que ESC J 1 K, d'autres utilisent des nombres hexadécimaux, tels que 1B 57 01, tandis que d'autres utilisent des valeurs décimales, telles que 27 28 1. Le compilateur de table de définition d'imprimante accepte n'importe lequel de ces formats.

Les codes de contrôle dans la section des définitions de macro peuvent être les suivants :

  • Caractères uniques interprétés comme leur valeur ASCII
  • Nombres à deux chiffres interprétés comme des valeurs hexadécimales
  • Nombres à trois chiffres interprétés comme des valeurs décimales

Si vous laissez la section du code de contrôle vide ou si vous la supprimez, le caractère ou le code de contrôle est interprété comme une chaîne nulle. Si un caractère ou un code de contrôle est défini plusieurs fois dans le fichier, la dernière définition est utilisée.

La quatrième partie est la section commentaires. Les symboles /* indiquent le début d'un commentaire et les symboles */ indiquent la fin d'un commentaire. Les commentaires peuvent être codés à tout moment dans le fichier de définition d'imprimante et sont ignorés par le compilateur de la table de définition d'imprimante.

Voici un exemple d'instructions de définition de macro spécifiques à l'IBM® 4019 LaserPrinter.

LFF EQU 0A /* Line Feed */ VTB EQU 0B /* Vertical Tab */ FFF EQU 0C /* Form Feed */ CRR EQU 0D /* Carriage Return */ P05 EQU 1B 57 01 /* 5 Pitch-Characters/inch */ P10 EQU 12 /* 10 Pitch-Characters/inch */ CDW EQU 1B 57 00 /* Cancel Double Wide contin. */ P17 EQU 12 0F /* 17.1 Pitch-Character/inch */ LL8 EQU 1B 41 09 1B 32 /* Set line length 8 lines/inch*/ P12 EQU 1B 3A /* 12 Pitch-characters/inch */ RES EQU 1B 5B 4B 07 00 05 31 01 A4 00 00 90 /* The above macro resets the */ /* printer using the factory */ /* defaults. See the IBM Laser*/ /* Printer Technical Reference */ /* manual. */

Pour illustrer comment les macros sont codées, considérons cet exemple. Pour que le travail d'impression hôte soit imprimé en caractères double largeur, vous devez savoir quel code de contrôle active l'impression double largeur sur votre imprimante PC. Sur l'IBM® 4019 LaserPrinter, le code de contrôle permettant d'activer l'impression double largeur est X'1B5701'. Cela serait codé comme suit :

BDW EQU 1B 57 01

où BDW signifie Begin Double Wide (Commencer double largeur).

Cela seul n’entraînerait pas l’impression hôte 3270 à envoyer ce contrôle à l’imprimante. Le mnémonique devra être inclus dans une instruction de code de contrôle, telle que START_JOB qui est décrite dans la section des codes de contrôle du fichier.

Note : Le fichier de définition d'imprimante IBM® 4019 LaserPrinter fourni avec HCLZ and I Emulator for Windows a ce code de contrôle déjà défini comme macro P05. Référez-vous à la ligne 9 de l'exemple d'instructions de définition de macro IBM® 4019 LaserPrinter (Contenu du fichier IBM4019.PDF).