Metacode

Exemple d'un flux formaté en Metacode...

Format utilisé par Up ! Metacode

Le Metacode est le format natif des fichiers des imprimantes Xerox.

Le format Metacode est une succession d'enregistrements chacun composé de :

Les enregistrements sont indépendants les uns des autres, en particulier pour le positionnement du stylo, la sélection de la police, l'orientation, etc.

Chaque octet du flux d'un enregistrement est soit une commande ou un texte, cela dépendant de sa valeur.

Les imprimantes Xerox ne supportant que le Metacode ont généralement une résolution de 300 Dot Per Inch (DPI).

Codes utilisés par Up ! Metacode

Couleur

Le basculement de l'impression en couleur s'effectue par le code de commande est 0x0c.

Le basculement de l'impression en noir et blanc s'effectue par le code de commande est 0x0d.

Déplacement du stylo

Ecriture d'un caractère spécial

L'écriture d'un caractère spécial dans la police courante à la position courante s'effectue par le code de commande est 0x08. Il est suivi deux octets encodés en Big Endian.

Voici un exemple : 0x08 0x00 0x41 .

Fin de l'enregistrement

La fin de l'enregistrement est signalée par le code de commande est 0x01.

Mode paysage

Le basculement en mode paysage normal ou inverse s'effectue par respectivement les codes de commande 0x02 ou 0x03.

Mode portrait

Le basculement en mode portrait s'effectue par le code de commande est 0x09.

Sélection de la police

Pour sélectionner une police, le code de commande est 0x00. Il est suivi d'un octet donnant le code de la police.

Voici un exemple : 0x00 0x01 .

Commandes Dynamic Job Descriptor Entries utilisées par Up ! Metacode

Le bascule en mode Dynamic Job Descriptor Entries (DJDE) est indiqué par un identifiant spécifique.

Les commandes d'une séquence Dynamic Job Descriptor Entries sont séparées par un caractères virgule , .

Une séquence Dynamic Job Descriptor Entries se termeine par le caractère point-virgule ; .

DUPLEX

Bascule ou non en mode recto-verso.

Voici un exemple : DUPLEX=YES .

END

Fin d'une séquence Dynamic Job Descriptor Entries.

FONTS

Déclaration d'une liste de police dont les identifiants sont écrits entre parenthèses. L'ordre de déclaration des polices définit les numéros de leur sélection par le code commande 0x00.

Voici un exemple : FONTS(UN110E,UN104B) .

FORMS

Sélection du fond de page.

Voici un exemple : FORMS(/tmp/mon-fond-de-page.fdf) .

IMAGE

Inclusion d'une image dont le nom du fichier est écrit entre parenthèses.

Voici un exemple : IMAGE(/tmp/mon-image.bmp) .

Exemple d'un flux formaté en Metacode

Flux non formaté

/* ------------------------------------------------------------------- */ /* Fichier : clientftp.upl */ /* Objet : Exemple d'emploi d'Up ! Network. */ /* */ /* Module : Up ! Application System. */ /* Auteur-Date : DUVAL Jean-Pierre - Novembre 2003. */ /* ------------------------------------------------------------------- */ /* Observations */ /* */ /* */ /* ------------------------------------------------------------------- */ Source Composant "Exemple d'emploi d'Up ! Network" Version 4.0.0; ImporterModule UpsFts(, ImporterDefinitions); Variable /******/ MonServeur : Nul Ou ServeurFtp; Principal /*******/ Debut MonServeur=ServeurFtp("ftp://local:21"); MonServeur.ChangerConnexion("anonymous", "contact@mon-domaine.com"); MonServeur.ChangerEtatTypeDonnees(TypeDonneesAscii); CopierFichier("C:/tmp2/essai.txt", "ftp://local:21/tmp/essai.txt"); MonServeur.ChangerEtatTypeDonnees(TypeDonneesImage); CopierFichier("ftp://local:21/tmp/essai.doc", "C:/tmp2/essai.doc"); MonServeur=Nul; Fin Principal

Flux formaté

2F2A202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D202A2F0A 2F2A2046696368696572202020203A20636C69656E746674702E75706C2020202020202020 202020202020202020202020202020202020202020202020202020202020202020202A2F0A 2F2A204F626A65742020202020203A204578656D706C65206427656D706C6F692064275570 2021204E6574776F726B2E20202020202020202020202020202020202020202020202A2F0A 2F2A2020202020202020202020202020202020202020202020202020202020202020202020 202020202020202020202020202020202020202020202020202020202020202020202A2F0A 2F2A204D6F64756C652020202020203A2055702021204170706C69636174696F6E20537973 74656D2E20202020202020202020202020202020202020202020202020202020202A2F0A2F 2A204175746575722D44617465203A20445556414C204A65616E2D506965727265202D204E 6F76656D62726520323030332E20202020202020202020202020202020202020202A2F0A2F 2A202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D202A2F0A2F 2A20202020202020202020202020202020202020202020202020204F62736572766174696F 6E73202020202020202020202020202020202020202020202020202020202020202A2F0A2F 2A202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020202020202020202020202020202020202A2F200A 2F2A2020202020202020202020202020202020202020202020202020202020202020202020 202020202020202020202020202020202020202020202020202020202020202020202A2F20 0A2F2A202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D202A2F 0A0A536F7572636520436F6D706F73616E7420224578656D706C65206427656D706C6F6920 642755702021204E6574776F726B222056657273696F6E20312E322E303B0A0A496D706F72 7465724D6F64756C65200A202020557073467470283C5570734674703E2C20496D706F7274 6572446566696E6974696F6E73293B0A0A5661726961626C650A2F2A2A2A2A2A2A2F0A2020 204D6F6E53657276657572203A204E756C204F7520536572766575724674703B0A0A507269 6E636970616C0A2F2A2A2A2A2A2A2A2F0A44656275740A4D6F6E536572766575723D536572 7665757246747028225570734674703A2F2F6C6F63616C3A323122293B0A0A4D6F6E536572 766575722E4368616E676572436F6E6E6578696F6E2822616E6F6E796D6F7573222C202263 6F6E746163744075702D636F6D702E636F6D22293B0A4D6F6E536572766575722E4368616E 6765724574617454797065446F6E6E6565732854797065446F6E6E6565734173636969293B 0A436F70696572466963686965722822433A2F746D70322F65737361692E747874222C2022 5570734674703A2F2F6C6F63616C3A32312F746D702F65737361692E74787422293B0A4D6F 6E536572766575722E4368616E6765724574617454797065446F6E6E656573285479706544 6F6E6E656573496D616765293B0A436F706965724669636869657228225570734674703A2F 2F6C6F63616C3A32312F746D702F65737361692E646F63222C2022433A2F746D70322F6573 7361692E646F6322293B0A4D6F6E536572766575723D4E756C3B0A46696E205072696E6369 70616C0A0A