Liaison XBT - Imprimante. XBT - Printer link.

Transcription

Liaison XBT - Imprimante. XBT - Printer link.
Liaison XBT - Imprimante.
XBT - Printer link.
?
1
Tous les XBT utilisent un driver d'imprimante générique de type ASCII.
En conséquence, ils émettent simplement vers l'imprimante les codes ASCII correspondants aux caractères
à imprimer.
Ces codes sont normalisés, entre les numéros (hexa) 0x00 et 0x7F (c'est à dire 128 caractères, parmi
lesquels les 32 premiers sont des caractères de contrôles normalisés (comme le Line Feed qui fait sauter
une ligne, le Form Feed qui passe à la page suivante etc ...)
Voir tableau annexe.
Every XBT uses a normal printer driver ASCII.
So, they simply send to the printer ASCII codes corresponding to the characters to print.
These codes are standard, between number (hexa) 0x00 and 0x7F (ie 128 characters, in which the first 32
are standard control charcters (like Line Feed used for line jump, and Form Feed used to change to the
following page, etc…)
See table attached.
En pratique, 2 problèmes se posent :
In practice, 2 problems could occur :
-1- Les problèmes liés aux caractères situés au delà du code 0x7F.
En effet, la table de codes ASCII a été étendue à la plage de codes (hexa) 0x80 à 0xFF (d'où un total de 256
caractères en tout). Le problème, c'est que cette "partie haute de la table" n'est pas normalisée du tout (elle
ne fait pas partie de la norme ASCII). En particulier, de nombreux "Codes Pages" (c'est à dire des pages de
caractères ayant pour code 0x80 à 0xFF) ont été créés, notamment par IBM et Microsoft, pour gérer les
caractères nationaux comme les caractères accentués, les cédilles ... et les caractères symboliques,
comme ceux servant à faire les cadres simples ou doubles, que l'on propose dans l'éditeur de formulaires
de XBT-L1000). Le problème avec tous ces caractères, c'est que si l'imprimante n'a pas le même "Code
Page" que celui qui a servi à créer ce qu'il y a à imprimer, les caractères attendus sont remplacés par
d'autres, ce qui conduit à un résultat incorrect.
-1- The problems linked to characters located after 0x7F code.
In fact, the ASCII table code has been extended to the (hexa) code range 0x80 to 0xFF (so, 256 characters
in whole). The problem is that the « top of the table » is not standard at all. ( Not included in the ASCII
standard). Especially, several « Pages codes » (ie characters codes from 0x80 to 0xFF) have been created,
in particular by IBM and Microsoft, to manage countries characters such as accented characters, cedillas, …
and the symbols characters, like the one used to make simple or double frames (proposed in the forms
editor of XBTL1000). With all these characters, the problem is that if the printer ’s « Code page » is not the
same than the one used for the document created to print, the expected characters will be replaced by
others, so an erroneous result.
2
-2- Les problèmes liés aux séquences de contrôles des imprimantes.
En effet, une imprimante peut être "commandée" (par exemple pour passer en gras, ou changer la taille
de ses caractères etc ...) en utilisant des séquences de caractères de contrôles (ce sont en général des
séquences qui commencent par le caractère ASCII normalisé ESCAPE, pour signaler à l'imprimante
que les caractères qui suivent ne doivent pas être imprimés, mais qu'ils doivent être interprétés comme
une commande à exécuter). Le souci c'est que ces séquences de caractères ne sont pas normalisées
non plus. Elles changent donc d'un constructeur à un autre, et même d'un modèle d'imprimante à un
autre. Dans l'éditeur de formulaire, on "embarque" quelques séquences de caractères pour passer en
Gras, sortir du mode Gras, idem pour l'Italique ... Ces séquences sont initialisées avec la suite de
caractères utilisée généralement par les imprimantes EPSON. Ces séquences sont modifiables par le
client dans XBT-L1000 pour les adapter au modèle d'imprimante qu'il utilise.
-2- The problems linked to printer ’s control sequences.
In fact, the printer can be controled (for example bold characters, size, etc…) by using characters control
sequences ( they are usualy sequences which start with the standard ASCII character ESC, to give the
information to the printer that the following characters must not be printed, but interpreted as exe
control). The problem is that these characters sequences are not standard either. They change from
one manufacturer to an other one, and even from a printer part number to an other one. In the form
editor, a few characters sequences are included to change into Bold or back, same for italic… These
sequences are initialized with the characters mode used usualy by EPSON printers. These sequences
can be changed by XBTL1000 user to adapt to the printer ’s type.
CONCLUSION
Les imprimantes sont des périphériques hétérogènes
non normalisés, et rend le pilotage problèmatique.
Il faut que l ’utilisateur utilise la doc de son imprimante
et la configure avec la table ASCII adaptée. Il peut
aussi ajuster les paramètres correspondant dans
XBT-L1000 (concernant la configuration de séquences
de codes de contrôle).
Printers are heterogeneous peripherals not standards,
so the control is problematic.
The user must use the printer ’s documentation, and
confugure it with the right appropriate ASCII table.
He can also adjust the corresponding parameters in
XBTL1000 (concerning the configuration of control
codes sequences).
3
4