Metacode
# Metacode

Metacode est un langage d'impression propriétaire créé par Xerox pour ses imprimantes laser de production.

En 1977, Xerox a annoncé la disponibilité de la première imprimante laser de production, la 9700. Le banal flot ligne EBCDIC, éditable à partir d'un lecteur de bandes magnétiques ou en connexion canal type IBM S/370, permettait alors d'imprimer de simples listings, sans aucune valeur ajoutée autre que la superposition d'un fond de page « électronique ».

Xerox a alors développé un langage d'impression, le DJDE (pour Dynamic Job Descriptor Entries, ou Données dynamiques pour la description de travaux), permettant au développeur de l'application en amont (souvent codée en Cobol) d'insérer des commandes dans le flot EBCDIC, pour apporter de la valeur à son document, telle que l'appel aléatoire d'une police, l'insertion d'un logo, l'appel d'un fond de page dynamique, la bascule en portrait ou en paysage, la bascule de recto à recto-verso. Ce langage source des procédures appelées dans le flot EBCDIC, le JSL, est codé dans un simple éditeur de texte, puis compilé sous forme de binaire (JDL) et exploité sur le contrôleur de l'imprimante de production. Les ressources utilisées par le programme (polices - fichiers .FNT, logos - fichiers .LGO, fonds de pages - fichiers compilés FRM provenant de sources codées en FSL) doivent résider sur le disque dur du contrôleur.

Même si le langage DJDE permet de réaliser des documents très avancés par rapport à un simple "listing" (par exemple grâce à la définition de plusieurs pages logiques dans la même feuille), il possède quelques limitations. Xerox a donc décidé de publier de manière extrêmement confidentielle les spécifications du langage binaire sur lequel repose le DJDE : le Metacode. Seuls quelques éditeurs de logiciels y ont eu accès mais les moteurs de composition qu'ils ont développés ont permis à des milliers de clients d'attaquer en Metacode les imprimantes de production Xerox équipées du contrôleur LPS, sans avoir à maîtriser le langage proprement dit (qui était totalement codé en binaire).

Aujourd'hui, toutes les imprimantes de production Xerox en parc encore équipées d'un contrôleur LPS peuvent traiter des flots DJDE ou Metacode (le parc mondial doit en compter encore plusieurs centaines, imprimant à une cadence entre 96 et 180 pages A4 la minute). Toutes imprimantes de production Xerox équipées du nouveau contrôleur EPS avec l'option LCDS le peuvent aussi. Mais entre-temps, la mode des standards est passée par là et, soit en reprenant leurs applications depuis une feuille blanche, soit en passant par des convertisseurs, nombre des clients historiques du DJDE/Metacode ont migré vers le PCL, le PostScript (ou son option Xerox VIPP, qui a beaucoup aidé à la migration DJDE), le PDF, le PPML ou, dans une moindre mesure, vers l'AFP/IPDS.

Xerox accompagne ses clients vers la migration en douceur du Metacode vers des langages non propriétaires ou standards de fait, par du conseil ou des solutions de conversion.

