Obligement - L'Amiga au maximum

Vendredi 26 mai 2017 - 13:05  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


En pratique : Impression, PAR, SER et PRT sur AmigaOS 1.x
(Article écrit par Giorgio Cupertino et extrait d'A-News (Amiga News) - juillet 1988)


Depuis dix ans, je vois encore des utilisateurs d'ordinateur, même les plus experts, qui ont des problèmes lorsqu'il s'agit d'utiliser une imprimante.

Imaginons par simplicité que votre imprimante soit déjà correctement branchée (la connexion des imprimantes fera l'objet d'un prochain article) et que vous avez déjà effectué des tests concluants qui prouvent qu'elle marche comme il faut. Si vous pensez avoir résolu vos problèmes, vous faites grave erreur : vos problèmes vont commencer bientôt !

Je vous épargne une longue et fastidieuse explication technique et théorique relative aux différents standards, ordinateurs, fabricants d'imprimantes, etc. J'irai me limiter à des exemples bien précis que vous pourrez expérimenter tout en lisant mon article. Chargez donc votre Workbench, ouvrez une fenêtre CLI, allumez votre imprimante et... continuez à lire !

Les périphériques logiciels (devices) pour l'impression

Mis à part les options offertes par les différents logiciels dont nous nous occuperons tout à l'heure, il faut avant tout savoir que vous pouvez accéder à l'imprimante par l'intermédiaire des trois "devices virtuelles" :
  • PAR: qui représente la sortie parallèle.
  • SER: qui représente la sortie série.
  • PRT: qui représente la sortie "logique" (celle choisie sous "Preferences").
Les sorties PAR: et SER: correspondent aux sorties "physiques" de votre Amiga tandis que PRT: correspond au pilote imprimante choisi sous "Preferences" ; ceci indépendamment du fait que votre imprimante utilise une sortie série ou parallèle. L'Amiga "connaît" les paramètres que vous avez sauvés et peut donc "diriger" les fichiers à imprimer vers la sortie appropriée.

La différence entre les deux sorties physiques (PAR:/SER:) et la sortie "logique" PRT: est d'une importance capitale car les deux premières envoient vers l'imprimante toutes les données "tel quel" tandis que PRT: "filtre et interprète" les données qu'il reçoit ; ceci est à la base de la possibilité de l'Amiga d'utiliser une "imprimante virtuelle universelle" sans besoin que chaque développeur doive créer lui-même son pilote. Un fichier conçu pour la sortie PRT: ne devra donc pas être modifié car le pilote pourra l'interpréter en fonction de l'imprimante choisie et se chargera du transcodage de tous les caractères de contrôle (et/ou codes ESCape) appropriés à l'impression.

Exemple

Pour mieux saisir la différence entre les deux approches, voyons un exemple pratique : sans oublier d'allumer votre imprimante tapez dans votre fenêtre CLI ce qui suit :

copy * to par: <return>
Ctrl-N pliffity-ai l'élargi c'est fait! Ctrl-\ <return>

Si tout se passe bien, vous devriez voir s'imprimer une ligne en caractères élargis. Voyons l'analyse de ces deux lignes :
  • L'astérisque (*) symbolise la console (écran + clavier) de votre Amiga ; "copy * to par:" veut donc dire de copier vers l'imprimante, par l'intermédiaire de la sortie parallèle, tout ce que vous tapez.
  • <return> veut dire d'appuyer sur la touche "Return" (ou "Entrée").
  • Ctrl-N veut dire d'appuyer sur la touche "Control" et, en même temps, sur la touche indiquée après le tiret (-) qui ne doit pas être tapé. En "même temps" (la simultanéité n'existe pas !) veut dire appuyer d'abord sur Ctrl, après sur la deuxième touche indiquée, relâcher celle-ci et ensuite relâcher la touche Ctrl ; il n'est pas nécessaire de le faire en 3/10 de secondes ; employez tout le temps que vous voulez.
  • Ctrl-\ symbolise "la fin du fichier" et rend la main à l'Amiga.
  • Pliffity, etc. (ou n'importe quelle autre bêtise qui vous vient à l'esprit) symbolise le texte que vous désirez envoyer vers l'imprimante : tout ce que vous tapez entre "Ctrl-N" et "Ctrl-\" sera imprimé en caractères élargis.
Pour cette exemple j'ai choisi l'impression gras pour la simple raison que quasiment toutes les imprimantes offrent cette possibilité et que le code de contrôle est universellement utilisé pour l'option "bold", du moins par toutes les imprimantes compatibles Epson, IBM, Centronics et consors. Étant donné que la plupart de ces imprimantes utilisent une connexion parallèle, j'ai utilisé la sortie PAR:, mais si votre imprimante utilise une connexion série, il vous suffira de changer PAR: en SER: et l'exemple demeure valable.

Si vous avez d'autres options sur votre imprimante (italique, souligné), vous pouvez les essayer en modifiant tout simplement le caractère de contrôle de la deuxième ligne. Par exemple, parmi les plus couramment utilisés vous pouvez utiliser les suivantes :
  • Ctrl-O pour le compacté.
  • Ctrl-J avance d'une ligne.
  • Ctrl-L avance d'une page (form feed).
...et d'autres encore qui, attention, peuvent eux aussi être différents d'une imprimante à une autre. Pendant tout vos essais, gardez sous la main le manuel de votre imprimante qui vous permettra de choisir correctement les codes à utiliser.

Deuxième exemple

Et si jusqu'ici tous vos essais ont échoué, pas de panique, car les exemples suivantes devraient réussir à tout le monde. Toujours dans votre fenêtre CLI tapez la ligne suivante :

echo > prt: "e*[1mceci c'est du bolde*[0m"

...pour voir s'imprimer "ceci c'est du bold" en caractères gras.

Voyons les différences avec l'exemple précédent : PAR: a été remplacé par PRT: qui n'utilise pas les codes de votre imprimante mais les codes "universels" de l'Amiga dont l'avantage est qu'ils sont toujours les mêmes quel que soit le modèle d'imprimante.
  • Le signe ">" est le caractère de redirection qui envoie la chaîne de caractères entre guillemets vers le device PRT:.
  • "echo" est la commande de l'AmigaDOS qui affiche la chaîne de caractères ("echo bonjour" affichera "bonjour" à l'écran tandis que "echo > prt: bonjour" imprimera "bonjour" sur votre imprimante car le symbole ">" l'a redirigé vers celle-ci (les guillemets ne sont pas nécessaires si le texte qui doit traité par echo ne contient pas d'espaces).
Voyons maintenant la partie mystérieuse : "e*[" est le CSI (Control Sequence Introducer) dont la partie "e*" en BCPL (le langage dans lequel a été écrit l'AmigaDOS) symbolise le code ESCape. Il est normalement suivi par un ou plusieurs numéro(s) et une lettre minuscule ("m" est la plus couramment utilisée) qui fait office de "CSI terminator". Les lettres autres que "m" ont des significations différentes. Parmi les diverses options qui peuvent suivre le CSI (e*[), un certain nombre est réservé pour l'impression. Voici des exemples classiques :
  • e*[3m pour imprimer en italique.
  • e*[4m pour imprimer en souligné.
  • e*[Om pour revenir à l'impression normale.
Pour une liste extensive de toutes les autres possibilités consultez le manuel de l'AmigaDOS de Commodore (la traduction française est disponible depuis un bon moment) ou "Le livre de l'AmigaBasic" de chez PSI.

Jeu de caractères

La standardisation, une certaine uniformité de l'environnement de programmation, la convivialité des ordinateurs actuels avec interface utilisateur à base d'icônes, fenêtres et menus déroulants vont vite manifester leurs limites à partir du moment où l'utilisateur, une fois familiarisé avec son système, désire pousser plus loin l'exploitation de sa machine.

Un des cas typiques, si je dois juger en fonction des lettres et coups de fil que j'ai reçu à ce propos, consiste dans la difficulté de télécharger un jeu de caractères vers l'imprimante (si votre modèle permet cela évidemment). Un cas plus simple mais aussi important consiste à vouloir imprimer une ligne de texte en couleur (attendu que votre imprimante gère et dispose d'un ruban couleur).

Tout cela est normalement possible avec l'envoi à votre imprimante d'une ou plusieurs séquences de contrôle. En effet, quand les programmes respectueux du système à base de "what you see is what you get" n'existaient pas, tout programme de traitement de texte permettait d'obtenir le résultat voulu en insérant à l'endroit approprié dans votre texte la séquence de contrôle appropriée.

La quasi-totalité des programmes d'aujourd'hui, conçus pour être faciles, ont inclus les fonctions les plus couramment utilisées sous forme de menus et autres. Le résultat de cela est que si une certaine fonction de votre imprimante n'a pas été prévue et inclut dans les options disponibles, vous ne pourrez pas l'exploiter sauf si votre programme (tel que WordPerfect ou Scribble par exemple) vous permet d'insérer des séquences de contrôle à l'intérieur du texte. C'est pour cette raison par exemple qu'avec Textcraft il n'est pas possible d'imprimer une ligne de texte en couleur.

Les exemples que je vous ai donnés avant et que j'espère vous avez répété avec succès sur votre imprimante, pourront vous permettre de vérifier que certaines fonctions existent et marchent correctement ; mais ils ne seront pas forcément accessibles à partir de n'importe quel programme.

En revanche, avec quelques imprimantes, certaines fonctions resteront accessibles même si le programme que vous utilisez ne les a pas prévues ; par exemple certaines imprimantes qui permettent le téléchargement de caractères ont une mémoire qui survit à toutes réinitialisations (il suffit de ne pas éteindre l'imprimante) et donc, même si votre traitement de texte ne gère pas spécifiquement cette option, vous pourrez imprimer avec le nouveau jeu de caractères que vous aurez chargé au préalable.

Cette hypothèse met en valeur l'importance de la différence entre les devices PAR: et SER: avec la sortie PRT: qui, en filtrant les codes qu'elle reçoit afin de pouvoir les interpréter, ne pourrait jamais reconnaître les séquences de contrôle non prévues par "l'imprimante universelle" (il ne faut pas voir ici une limitation ; l'évolution technique est telle qu'il y aura toujours de nouvelles possibilités qu'il n'était pas possible de prévoir à l'avance).

Voilà donc la procédure générale à utiliser pour "maîtriser" l'imprimante :
  • Préparez la séquence de contrôle dont vous avez besoin à l'aide du manuel de votre imprimante.
  • Selon sa longueur et votre goût personnel, employez la commande "echo" ou "copy" (voir exemples plus haut) pour envoyer les codes de contrôle vers l'imprimante.
  • Utiliser la sortie PAR: (ou SER:) selon votre connexion.
Si vous avez une séquence que vous utilisez normalement vous pouvez aussi créer un fichier texte que vous pourrez utiliser chaque fois que vous le désirez en le redirigera vers l'imprimante ; voici un exemple dans sa forme générale :

copy > par: MonFichier

...où "MonFichier" contient les codes de contrôle que vous désirez envoyer à l'imprimante.

Conclusion

Malheureusement, tout ce que je viens de vous expliquer n'offre pas une garantie de succès avec tous les programmes. En effet, en plus du pilote lui-même, certains programmes font une réinitialisation complète et totale de l'imprimante qui annule soit en totalité, soit en partie, toute configuration préalable que vous pourriez avoir envisagée.

Vous aurez sûrement remarqué que cet article est plutôt générique et n'offre pas d'informations valables à 100%. Ceci est dû au fait que le nombre d'imprimantes, de logiciels et de combinaisons possibles est tel qu'un livre entier ne suffirait pas à prévoir tous les cas possibles, mais il serait aussi vite depassé dès la parution de nouveaux logiciels et modèles d'imprimantes. Pour cette raison si vous êtes coincés par un cas bien précis, je pense que le mieux est de me contacter après que vos essais personnels et l'assistance de votre revendeur (et/ou Commodore France) ont echoué.

Vous trouverez d'autres exemples d'utilisation du CSI (e*[) ainsi que de redirection (>) dans mes "Newsletter" précédentes (de la 5 à la 8).

Je vous rappelle que pour l'AmigaDOS il est indifférent d'écrire en majuscules ou minuscules, "COPY" et "copy", ainsi que "PAR:" ou "par:" sont exactement la même chose. Quelques fois je mélange majuscules et minuscules pour une meilleure synoptique et compréhension du texte. En revanche pour les séquences de contrôle, il faut respecter la graphie proposée : e*[0m et e*[0M ne sont pas la même chose ! Et si après tout cela vous êtes desespérés, je suis là pour vous conforter, surtout si vous êtes une "AmiGamine" !


[Retour en haut] / [Retour aux articles]