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