FR 2490365 A1 19820319 FR 8020007 A 19800917 La présente invention concerne un dispositif de visualisation de données au moyen de l'écriture latine et/ ou arabe, la sélection de l'écriture pouvant être faite à tout moment en fonction de données d'entrée provenant d'une source de données telle qu'un système informatique ou un clavier d'utilisateur. Dans le passé, des tentatives ont été faites pour permettre le traitement de données, dans lequel la saisie de celles-ci et leur restitution après traitement peuvent être réalisées au moyen de l'écriture arabe. Ce- pendant, jusqu'ici, on n'est pas parvenu à mettre au point un système permettant de résoudre les problèmes particu- liers liés à l'écriture arabe tout en étant compatible avec les normes et la conception qui régissent actuelle- ment les systèmes de traitement d'information n'utilisant que l'écriture latine. L'alphabet arabe comporte 29 caractères de base auxquels s'ajoutent dix signes de chiffre, deux caractè- res spéciaux et les signes de pontuation qui à l'excep- tion de cinq signes, sont identiques à ceux utilisés avec l'écriture latine. On peut également utiliser des si- gnes de voyellation mais ceux-ci ne sont plus guère utili- sés dans l'écriture arabe moderne et on les néglige dans les systèmes de traitement d'information. L'écriture arabe comporte pour la plupart des caractères plusieurs formes qui sont au plus au nombre de quatre et qui sont choisies en fonction de l'emplacement de la lettre dans le contexte. Ainsi, on distingue les formes isolée, initiale, médiale et finale. La Fig.1 des dessins annexés représente l'en- semble des éléments qui sont nécessaires pour écrire un texte en arabe sans mutilation et se rapprochant le plus possible de la calligraphie. Il est évident qu'un tel nombre d'éléments d'écri- ture ne peut être convenablement placé sur un clavier d'un terminal d'ordinateur par exemple, sous peine de voir aug- menter considérablement le nombre de touches, ce qui ren- drait l'introduction des données dans un système de trai- tement d'information extrêmement longue. Par ailleurs, les difficultés sont encore ac- crues par le fait que l'écriture arabe implique la néces- sité de relier certains caractères les uns aux autres dans un même mots. Les tentatives antérieures mentionnées ci-dessus- ont donc surtout consisté à réduire autant que possible le nombre d'éléments d' écriture nécessaires tout en conservant une écriture intelligible. Ainsi, dans le FR. 76 23 430 (2 319 491), on décrit un système d'éléments d'écriture arabe, dans lequel pour obtenir le jeu complet des 117 éléments d'écriture (écriture dite Lakhdar de niveau 0 qui est celle se rapprochant de très près de la calligraphie moderne), on a recours à un jeu d'appendices que l'utili- sateur doit choisir au cours de son travail d'écriture ou qui doivent être restitutés par la machine à la relec- ture. Tous les autres systèmes d'écriture décrits dans ce brevet sont incomplets et ne peuvent donc conduire à une représentation correcte et facilement intelligible de l'é- criture arabe. Le fait que les appendices doivent être choisis par l'utilisateur rend le travail de saisie des données compliqué et fastidieux. De plus, la personne qui écrit doit au préalable être familiarisée avec le système d'écri- ture en question. Il est fréquent en informatique de procéder à des-classements par ordre alphabétique de certaines infor- mations ( dénommés "sorting" dans le vocalubaire anglo- saxon). Cette opération devient extrêmement compliquée sinon impossible si les caractères d'un mot (qu'ils soient placés au début ou au milieu) sont pourvus de ces appen- dices. Un tel système d'écriture ne se prête pas aux divers languages (Cobol,Fortran, etc) utilisés en infor- matique, car les appendices ne possèdent pas de code dans ces languages. Un dispositif de traitement utilisant ce* système d'écriture serait donc incompatible avec les dis- positifs de traitement d'information existants et avec les normes universellement admises telles que celles éta- blies sous la dénomination American Standard Code for In- formation Interchange (ASCII). Un autre brevet antérieur (FR. 2 241 827; US. 3 938 099) propose un procédé pour reproduire des langues utilisant l'écriture arabe. Dans ce cas, on procède à une analyse séquentielle des caractères pour déterminer quel- le est la forme de sa partie de liaison avec le caractère qui le précède et celui qui le suit dans le contexte. Il s'ensuit un système d'analyse par matrice booléenne extrêmement complexe conduisant à un codage des caractères qui n'est compatible ni avec les languages d'ordinateur habituels ni avec les matériels disponibles sur le marché. Par ailleurs, les systèmes décrits dans les deux brevets antérieurs ne permettent pas une correction ulté- rieure d'une lettre dans un mot ( appelé ci-après opéra- tion de remplacement) de sorte que les erreurs effectuées au cours d'un travail ne peuvent être rattrapées qu'en recommençant ce travail. La présente invention a pour but de fournir un dispositif permettant de visualiser des données en écritu- re latine et/ou arabe, ce dispositif étant compatible avec les matériels de traitement d'information disponibles sur le marché et fonctionnant avec des trains de données éta- blis selon un code binaire standard tel que le code ASCII, par exemple. L'invention a donc pour objet un dispositif du type indiqué ci-dessus et destiné à recevoir des données se présentant sous forme d'une succession'de multiplets en code binaire standard et qui peuvent comprendre 1) des caractères alphanumériques composés de caractères latins, 249O365 2) un jeu de caractères arabes alphanumériques dans lequel les caractères se présentent sous l'une des différentes formes dans lesquelles ils peuvent se présenter, selon leur position dans le contexte, 3) des signes de ponc- tuation latins et arabes et 4) des fonctions d'édition, ce dispositif étant caractérisé en ce qu'il comprend une uni- té de visualisation qui est associée d'une part à une mé- moire permanente dans laquelle sont stockées outre les for- mes des caractères alphanumériques latins, l'ensemble des formes de tous les caractères alphanumériques arabes, à savoir ladite forme transmise dans le code binaire stan- dard et plusieurs des autres formes que peut présenter un caractère arabe suivant sa position dans le contexte, et d'autre part, à une unité de traitement destinée à discri- miner séquentiellement l'appartenance du caractère repré- senté par chaque multiplet de ladite succession, à l'une des écrituresà visualiser, cette unité de traitement étant en outre capable en fonction de cette discrimination de sélectionner dans ladite mémoire la forme du caractére à visualiser, cette forme étant en ce qui concerne les carac- téres arabes déterminée en fonction de la position de ce caractère dans le contexte. Il résulte de ces caractéristiques que les don- nées à visualiser,qu'elles concernent l'écriture arabe ou l'écriture latine peuvent être transmises sous la forme d'un code standard normal tel que le code ASCII à sept bits et à un bit de parité par multiplet, le dispositif de visualisation étant capable d'élaborer à partir de ces données normalisées, l'écriture correcte qui en ce qui concerne l'arabe se rapproche de très près de la calli- graphie. D'autres caractéristiques et avantages de l'in- vention apparaitront au cours de la description qui va sui- vre, donnée uniquement à titre d'exemple et faite en se ré- férant aux dessins annexés, sur lesquels: - la Fig.1 montre un tableau de l'ensemble des caractères alphabétiques utilisés dans l'écriture arabe usuelle calligraphique; - la Fig.2 est un schéma simplifié d'un disposi- tif de visualisation selon l'invention, qui est ici un ter- minal muni d'un clavier et d'un écran cathodique d'affi- chage; - la Fig.3 montre la configuration du clavier utilisé dans le dispositif de la Fig.2; - la Fig.4 montre un tableau du code ASCII uti- lisé dans l'interface de programme du clavier; - la Fig.5 est un tableau montrant les codes d'interface de la mémoire permanente d'affichage, asso- ciée à l'unité d'affichage du dispositif de la Fig.2; - les Fig.6A et 6B représentent un jeu de matri- ces d'affichage concernant spécifiquement l'écriture ara- be pour l'écran cathodique de visualisation; - les Fig.7 à 10 sont des diagrammes d'état illustrant le fonctionnement du dispositif de visualisa- tion suivant l'invention; - la Fig.l1 est un schéma simplifié d'un autre dispositif de visualisation qui est ici une imprimante; - la Fig.12 est un tableau du code ASCII utilisé dans la mémoire permanente de l'imprimante de la Fig.11. On va d'abord se référer à la Fig.2 qui représen- te un schéma simplifié d'un dispositif de visualisation 1 selon l'invention. Ce dispositif comporte en tant qu'u- nité de visualisation proprement dite, un écran cathodi- que d'affichage 2 monté avec ses circuits de commande dans un pupitre (non représenté) équipé d'un clavier 3 qui sert à l'introduction de données au niveau de la saisie, par un opérateur. Dans le cas représenté, on suppose que le dis- positif de visualisation 1 constitue un terminal d'un sys- tème de traitement d'information plus vaste ( non repré- senté) fonctionnant sur des flux de données se présentant avec un code standard usuel tel que le code ASCII. Le dis- positif de visualisation 1 communique avec ce système de traitement d'information à travers un tampon d'entrée.4 pour l'introduction d'un flux de données et à travers un tampon de sortie 5 qui envoie un flux de données vers le système de traitement d'information par exempleles données introduites par l'intermédiaire du clavier 3. Il a déjà été indiqué ci-dessus que la repré- sentation correcte de l'écriture arabe se rapprochant le plus possible de la calligraphie nécessite un nombre de signes dont le codage conduirait à des multiplets pour chaque signe trop grands pour être compatibles avec le code standard tel que l'ASCII. Dans ce système de co- dage, chaque multiplet comporte sept bits d'information et un bit de parité et le nombre de combinaisons de co- dage possibles dans ces conditions ne serait pas suffi- sant pour coder l'ensemble des caractères alphanumériques latins et arabes ( y compris les quatre formes nécessai- res pour-l'écriture arabe) ainsi que les signes de ponc- tuation latins et arabes. L'invention prévoit donc en premier lieu de li- miter le nombre de caractères alphanumériques arabes de manière que le jeu de ces caractères ne comprenne que l'une des formes de chaque lettre, les-chiffres et les signes de ponctuation, ce qui permet en définitive d'af- fecter à chacun des caractères un code à huit bits compa- tible avec le code standard. Ce principe résulte de la Fig.4, à laquelle on peut se référer maintenant et qui représente un tableau des codes ASCII, utilisés au ni- veau de l'introduction et de l'extraction des données dans et à partir du dispositif de visualisation 1. Ce ta- bleau est utilisé également au niveau du clavier 3 permet- tant par là même de limiter le nombre de touches de ce dernier à une quantité raisonnable, ce qui facilite haute- ment le travail de saisie de données par l'opérateur. Il est à noter que le tableau de la Fig.4 représente égale- ment les codes affeàtés aux diverses fonctions d'édition qui sont désignées par leur dénomination anglaise usuelle, universellement utilisée dans cette technique. Pour donner un exemple, on peut constater que, d'après le tableau de la Fig.4, le " alif" ( case désignée par la référence 6) se voit affecter-le code hexadécimal OC. Il est clair que la transmission des données sous la forme que l'on vient de décrire ne peut conduire à une représentation correcte de l'écriture arabe, et c'est pour- quoi les données subissent selon l'invention, un traite- ment particulier à l'aide de moyens d'analyse et de comman- de qui sont prévus dans le dispositif de visualisation 1 de la Fig.2 et qui sont représentés à l'intérieur du rec- tangle 7 de cette Fig. Ces moyens d'analyse et de commande permettent donc chaque fois à partir d'un flux de données en code ASCII standard d'obtenir l'écriture arabe complète en fonction d'une analyse de contexte qui est faite de ces données. Toutefois, avant de décrire plus en détail ces moyens d'analyse et de commande, on revient tout d'abord sur la Fig.3 qui représente schématiquement la configura- tion du clavier 3. L'agencement général de ce clavier est classique à savoir qu'il comprend quatre zones Za,Zb,Zc et Zd dont la zone Za est affectée à la commande du curseur visible sur l'écran d'affichage par l'opérateur et lui per- mettant de localiser et d'identifier des endroits déter- minés du champ d'image de cet écran, cette zone Za compor- tant également certaines touches de fonctions d'édition, une-zone Zb affectée à l'introduction des caractères alpha- numériques, cette zone étant également pourvue de diverses touches de commande, une zone Zc comportant des touches de fonction spéciale utiles pour le système de traitement d'information auquel le dispositif de visualisation 1 est branché, et une zone Zd affectée à l'introduction des chif- fres. A la différence des claviers classiques utilisés habituellement en informatique, le clavier 3 du disposi- tif suivant l'invention comporte une touche 8 de sélec- tion d'écriture latine ( mode latine) et une touche 9 de sélection d'écriture arabe ( mode arabe), chacune des tou- ches alphanumériques 10 permettant en fonction de la sé- lection des touches 8 et 9 d'introduire des données en caractères latins en sept- bits ou des données en caractères arabes en huit bits. Le choix du mode de fonctionnement peut être confirmé par la touche il (mode). Il est à noter que les touches d' édi- tion telles que 12, comportent une inscription en anglais comme cela est habituel pour ce genre de clavier. C'est pourquoi, il n'est pas nécessaire d'en donner une descrip- tion détaillée ici. On remarquera également que le nombre de signes arabes apparaissant sur les touches du clavier 3 corres- pond à celui figurant dans les cases du tableau de la Fig.4 affectées à ces signes. Le tableau I suivant illustre les divers groupes de caractères pouvant être obtenus par le clavier en fonc- tion de la position des touches 8 et 9,de la touche 13 "shiftt" (décalage) de la touche 14 " uppercase lock (verrouillage case supérieure) et de la touche 15 " con- trol " ( commande). TABLEAU I N0 touche 13 15 14 8 9 Résultat _________________NE NE_______ NE__ E__ NE Latin-minuscule NE NE NE E NE Latin minuscule NE NE E E NE Latin majuscule E NE - E NE Latin en droite à gauche NE NE - NE E Arabe E NE - NE E Arabe en gauche à droite - E - - - COMMANDE NE = non enfoncée E = enfoncée - = pas applicable. Ainsi, le clavier 3 permet d'introduire les caractères alphanumériques classés de la façon suivante: - Caractères latins: 26 majuscules et 26 minuscules ain- si que 31 caractères de ponctuation et spéciaux, en sept bits; - Caractères arabes: 32 caractères alphabéti- ques de base-( l'une des formes étant choisie) ainsi que 13 caractères de ponctuation et spéciaux, en huit bits; - Les chiffres,à savoir les dix chiffres utilisés natu- rellement de la mème façon dans les deux écritures, en sept bits; - Les commandes et les fonctions qui sont celles du code standard ASCII et qui portent le code 00 à 1F ( en code hexadécimal). On va maintenant décrire plus en détail l'unité de traitement 7 ou les moyens d'analyse et de commande représentés sur la Fig.2. Au niveau de l'analyse des caractéres pour l'é- criture sur l'écran de visualisation 2, on considère qu'au cours de l'affichage, trois événements peuvent se produi- re 1) l'élément suivant à afficher est un caracté- re latin ( lettres seulement) en sept bits; 2) l'élément suivant à afficher est un caracte- re arabe ( sous l'une de ces quatre formes, le cas éché- ant) en huit bits; 3) l'élément suivant à afficher est un caractè- re dit " neutre " c'est-à-dire un chiffre ou un carac- tère spécial latin ou arabe ( signes de ponctuation,etc), suivant des valeurs ASCII déterminées en 7 ou 8 bits. Tous les caractères à afficher sur l'écran de visualisation sont mémorisés dans une mémoire permanente 16 (Fig.2), le codage de ces caractères étant représenté dans le tableau de la Fig.5, étant entendu qu'en ce qui concerne l'écriture arabe et suivant une caractéristique particulière de l'invention, les formes finales et isolées des caractères sont choisies identiques, de sor- te que le nombre de formes par caractère est limitée à trois à part deux exceptions qui sont respectivement le " Ain " et le " Ghain " qui sont stockés sous leurs quatre formes. Les formes isolées et initiales de ces lettres ont les codes 80,82 et EC,EE, respectivement dans le tableau de la Fig.5. Le clavier 3 ( Fig.2) est relié à une unité 17 de mise en file d'attente des caractères comprenant une pile de stockage 18 reliée à une unité 19 " premier en- tré, premier sorti ". Cette dernière unité communique avec une unité de sélection de caractères qui trie les informations provenant du clavier 3 en des informations pures de ca- ractéres et des informations de fonctions ( éditions par exemple). Les données d'édition sont appliquées à un processeur de fonction 21 qui est relié directement à l'écran d'affichage 2. Les données pures de caractères sont appliquées à une unité 22 de sélection d'évânement ( expression uti- lisée au sens décrit ci-dessus) qui a pour but d'appli- quer sur trois lignes de sortie 23, les signaux corres- pondant aux évenements respectifs survenant au cours du défilement du contexte dans le dispositif de visuali- sation. Les lignes 23 sont branchées à un module d'état ou automate 24 connecté d'une part à une mémoire perma- nente 16 donnant le jeu de tous les caractères imprima- bles, et d'autre part à un module 25 contenant la table de vérité associée à l'automate 24. Le module automate 24 a pour fonction essentielle de résoudre la logistique de visualisation telle qu'imposée par la règle de repré- sentation des caractères en langue arabe. Pour ce faire, au caractère que l'on traite est affectée une valeur qui peut être " latin, arabe, neutre". Suivant l'état o l'on se trouve à cet instant, la valeur acquise fera progres- ser l'automate vers un autre état. A cet état est associée une liste de directives relatives au contexte que l'on traite. La Fig.7 illustre un exemple en mode Latin. Le processeur de fonction 21 est-également bran- ché sur l'unité de sélection d'événement 22 pour opérer le choix entre l'affichage de la fonction d'édition et la fonction d'écriture latin/arabe. Les flux de données provenant du processeur de fonction 21 et du module automate 24 sont appliqués par une ligne omnibus à huit bits 26 à l'écran d'affichage 2. Les Fig.6A et 6B représentent les matrices d'af- fichage de tous les signes de l'écriture arabe utilisés *pour l'écran de visualisation. Le terme " écran de visualisation " utilisé ici désigne non seulement l'écran d'affichacge à tube cathodi- que proprement dit, mais également tous les matériels nécessaires pour opérer l'affichage. Ce matériel comprend notamment des organes de mémoire et l'ensemble est asso- cié au tampon de sortie 5. Toutefois, l'information vi- sualisée sur l'écran et stockée temporairement dans les organes de mémoire ne peut être utilisée telle quelle pour être appliquée au tampon d'utilisateur puisqu'au niveau de l'écran, l'information relative aux caractères arabes est encore pourvue des données concernant toutes les formes des lettres alors que précisément au niveau du tampon de sortie 5, l'information doit être condensée à un code à huit bits correspondant au code ASCII (c'est- à-dire celui représenté par le tableau de la Fig.4). Par conséquent, dans la liaison entre l'écran - 2 et le tampon de sortie 5 est prévu un module automate 27 relié à l'écran 2 par un circuit de sélection d'évIne- ment 30 qui, à partir des données provenant de l'écran, assure un aiguillage sur trois lignes 31 représentant les trois évènements pouvant survenir dans le contexte comme décrit ci-dessus. Le transfert des données entre l'écran 2 et le tampon de sortie 5 est réalisé conditionnellement et ne se fait qu'à partir de la réception d'un signal de validation se propageant sur une ligne 32 raccordée à l'u- nité 20 de sélection de caractères, ce signal étant engen- dré par une touche de validation du clavier 3. Lorsqu'un caractère de validation est rencontré, la partie de l'écran mise à jour, et jouant aussi le rôle de mémoire,est lue pour la mise à jour du tampon de l'u- tilisateur. Pour cela, les caractères de l'écran 2 sont décodés en événement par le circuit 30 et entrés dans le module automate 27. Ce module est connecté d'une part à une mémoire permanente 28 donnant la correspondance entre le code du caractère visualisé et sa valeur ASCII, et d'autre part à un module 29 contenant la table de vérité associée à l'automate 27. La Fig.9 illustre un exemple de-la table de vérité de ligne utilisée en lecture écran en mode latin. Le traitement des données à afficher réalisé dans le module d'état ou automate 24 à l'aide de la mé- moire permanente 16 et de la table de vérité 25 peut être résumé par le tableau II ci-après. TABLEAU II Mode Latin Mode Arabe | Lire latin Lire arabe I E Changement de [hangement de contex- ||contexte-- arabe |te - > Latin Ecrire latin Etrire arabe __ - _A _ |Déroulement de la forma- l i tion des caractères arabes. En examinant d'abord le mode latin, on peut noter que dans ce mode, le dispositif de visualisation i écrit sur l'écran de gauche à droite. La position de dé- part du curseur sur l'écran d'affichage se situe en haut à gauche, tandis que le texte est justifié à la marge gauche. Dans ce mode latin, les données latines ou arabes peuvent être introduites, par exemple par le clavier 3 en fonction de la position des touches comme décrit plus haut. Cependant, lorsque dans ce mode, des données con- lO cernant des caractères arabes sont traitées, le module d'état 24 est placé dans un mode dit " de changement de contexte ". Dans ces conditions, l'arabe est affiché en sens inverse par rapport au sens normal de l'écriture. Dans le mode arabe, la direction d'écriture se fait de droite à gauche, tandis que la position de dé- part du curseur se trouve à droite en haut sur l'écran. Le texte 5crit est justifié à la marge droite. Ici égale- ment, des données aussi bien arabes que latines peuvent être introduites en fonction, par exemple des positions des touches du clavier, mais dans ce cas lorsqu'il s'agit de données latines, celles-ci sont traitées dans un mode de " changement de contexte ". Dans le mode latin, comme dans le mode arabe, le sens de l'écriture est engendré par les directives telles que définies dans les états de l'automate. Le tableau II montre les trois cas dans lesquels il convient de procéder à la mise en forme de l'écriture arabe en fonction du contexte. Les Fig.7 à 10 représentent quatre diagrammes d'état illustrant le fonctionnement des modules d'état 24 et 27 et leurs unités auxiliaires 16,25 et 28,29 res- pectivement. Pour faire comprendre ces diagrammes, on décrira ci-dessous le déroulement détaillé du diagramme de la Fig.7, qui est illustré dans le tableau III par un exem- ple particulier de séquence utilisant le mode latin. Le déroulement des diagrammes des autres figures peut être déduit de cette description. Il est à noter que lors du traitement de données arabes, la forme finale ( isolée) est toujours affichée en tant qu'élément d'écriture courant et cette forme est corrigée, si besoin est, en fonction du contexte lorsque l'élément d'écriture suivant du contexte est affiché. TABLEAU III Exemple avec la séquence suivante entrée au clavier, uti- lisant le mode latin: L, A, T, I,N,, ,LJ F, CR QAF TA BA Retour chariot QAF TA BA Retour chariot L'automate de la Fig.7 est utilisé, état de départ = 1 Caractère entré __________- L A T I Evénement Latin Latin Latin Latin Etat Action Etat initial Affichage du L curseur 1 posi- tion à droite Affichage du A curseur 1 posi- tion à droite Affichage du T curseur 1 posi- tion à droite ________________ Affichage du T curseur 1 posi- tion à droite Image écran -,-- curseur L LA_ LAT LATI_ ----------J-----------J------1----------------a----------- TABLEAU III (suite) Caractère entré N ___________- L: -__________ Li EvénementEtat Action Image écran Evénement1 Etati Action Image écran _Latin_ Latin Arabe _Arabe_ Arabe Arabe F Latin 7 Retour cha- riot ____________ Affichage du T curseur 1 posi- tion à droite Début overri- de affichage J mo- de final Déplace I d'une position à droi- te Affiche.s mode initial Affiche d mode final Déplace LZLS d'une position à droite Affiche --------------- Déplace curseur position libre après champ ara- be Affiche F Déploie curseur 1 position droi- te LATIN LATINS LATIN_ i LATIN 5 LATINc>s LATIN_' L. ' LATIN_'t.S LATINI S$ LATIN t. F LATIN. LATIN F Exécute relecture de l'écran pour mise à jour du tampon ____________________________- s : - - i On commence à la position I du diagramme d'état qui représente donc l'événement courant exécuté à un ins- tant donné. Si un caractère latin est demandé ( par exem- ple par le clavier), on passe à l'état 8 et le caractère est directement affiché. Si un caractère arabe est de- mandé, le diagramme passe à l'état 6 de la table de vérité et la forme finale de la lettre est affichée. C'-est ici que l'on voit apparaître la raison de l'affichage immédiat dela forme finale, car si le caractère est le seul à être demandé, sa forme n'a pas à être changée, à l'événement suivant. Si après un événement correspondant à une de- mande de caractère latin, le processus est à l'état 8, et si un nouveau caractère latin est demandé, le système boucle sur l'état 8 et ce nouveau caractère latin est af- fiché. Si un caractére neutre est demandé, le système boucle sur l'état 8 et ce caractère est également affi- ché. Si un caractère arabe est demandé après une de- mande de caractère latin, le diagramme passe à 6 ce qui revient à la même situation que si le système passe de l'état là l'état 6. Si le processus est à l'état 6 de la table de vérité, trois possibilités peuvent se produire: 1) Un caractère latin est demandé, ce qui fait passer le processus à l'état 7, ceci termine la séquence de changement de contexte-et l'affichage du caractère latin nouveau se produit; 2) Un caractère neutre est demandé. Le proces- sus passe à l'état 3 et le caractère neuti n est affiché. Toutefois, la séquence de changement de contexte n'est pas encore achevée, car le caractère neutre peut être à l'intérieur d'une séquence latine ou une séquence arabe. 3) Un caractère arabe est demandé. Le processus passe à l'état 4, le caractère précédent est affiché en forme initiale, tandis que le nouveau caractère est affi- ché en-finale. Si le processus est à l'état 4 et un nouveau ca- ractére arabe est demandé, le processus passe à l'état 5 et le caractère précédent est modifié sous la forme média- le. Le nouveau caractère est affiché sous la forme finale. Si ensuite de nouveaux caractères arabes sont demandés, le processus boucle sur l'état 5 jusqu'à ce que plus aucun caractère arabe ne soit demandé. Si le processus est à l'état 5, et si un carac- tére neutre est demandé, le processus retourne à l'état 3 et le caractère neutre est affiché, la séquence de change- ment de contexte n'est pas commencée. Si à l'état 5, un caractére latin est demandé, le processus passe à l'état 7, la séquence de changement de contexte est achevée et le caractère latin est achevé. Par conséquent, cette séquence est toujours ache- vée lorsqu'un caractère latin est demandé, car on a examiné ci-dessus le mode d'affichage en latin. L'une des caractéristiques importante de l'in- vention consiste en la possibilité pour l'opérateur d'o- pérer une correction d'un contexte en arabe et de pouvoir remplacer un caractère quelconque dans ce contexte par un nouveau caractère qui aura la forme adéquate en fonction de l'emplacement dans le contexte de l'ancien caractère. A ce niveau, les modifications que l'utilisa- teur peut apporter au contexte peuvent être de deux types: immédiat, ou d'édition 1) modification immédiate: en uti- lisant les flèches " ZA -4- -*> t 4 " l'utilisateur peut amener le curseur sous un caractère afin de changer ce dernier. A ce niveau, le remplacement sera immédiat, et la méthode utilisée est la suivante. La mémoire permanente 16 établit une correspon- dance directe ertre le code du caractère d'affichage (Fig.5) et la forme appropriée du caractère dans son con- texte. Ainsi pour chaque caractère, il existe trois codes d'affichage Zi, Zj et Zk représentant respectivement la forme initiale, médiale et finale. Le code utilisé pour l'affichage de Z sera tel que Z / = n +(reste=o), (ilj,k) i/3 1 z/ = 2 =1), k/3= n3 +(reste =2). Grâce à l'af- fectation de ce code, le dispositif suivant l'invention contient à tout moment la forme des caractères arabes à partir du code d'affichage grâce à une division par 3 du multiplet courant, ce qui correspond à un reste de 0 pour la forme initiale, de 1 pour la forme médiale et de 2 pour la forme finale. Le reste identifie donc chaque caractère et il suffit donc lors du remplacement d'un caractère arabe par un autre d'analyser le reste du co- de d'affichage de l'ancien pour en définir son mode, et de remplacer le nouveau par ce même mode. 2) modifica- tion d'édition: si l'utilisateur veut ajouter des carac- tères dans le contexte ou en supprimer, en utilisant le jeu des flèches 4--y t;, il peut positionner le curseur à l'endroit voulu et utiliser les touches Za1 pour insérer ou ajouter un caractère ou Za2 pour suppri- mer un caractère. Insertion: les caractères entrés depuis-Zb se- ront insérés à l'endroit défini par la position du curseur jusqu'à l'actionnement d'une touche de validation (par exemple " retour ") ou en utilisant les flèches. A ce niveau, la méthode utilisée sera de fairere- entrer les informations se trouvant sur l'écran 2 dans le module d'état ou automate 24, et d'insérer dans la séquen- ce le caractère qui a été introduit depuis le clavier 3. Suppression: le traitement est identique au précédent si ce n'est que l'action sera de supprimer le caractère défini par la position du curseur. - La Fig.11 représente un dispositif de visuali- sation suivant l'invention qui est dans ce cas spécifique une imprimante 34. Celle-ci est raccordée au tampon de sortie 5, par exemple pour recevoir un flot de données à huit bits établi selon le code ASCII. Le tampon 5 est relié à un tampon 35 interne à l'imprimante et définis- sant une longueur du flot de données traité à la fois dans celle-ci ( longueur de lignesimprimées). L'imprimante comporte des moyens d'analyse pour établir en fonction des événements ( apparition successi- ve des caractères arabes et/ou latins) les formes adéqua- tes à imprimer. Le tampon 35 est donc relié à une unité de sé- lection d'événement 36 qui est raccordée à un module d'é- tat 37, lui-même connecté à une mémoire permanente 38 et une unité à table de vérité 39. Le tableau des codes uti- lisés dans la mémoire permanente 38 est représenté sur la Fig.12. Le module d'état envoie un flot de données à sept bits à une mémoire temporaire 40 qui fait office de tampon et qui transmet périodiquement par ligne les données à un module de sortie 41 qui transmet les données à l'unité d'impression 42. Une fonction de remise à zéro est transmise à partir du tampon 35 vers la mémoire temporaire 40 par une ligne 43. Des fonctions d'édition détectées par l'unité de détection d'événements 36 peuvent être transmises à cette même mémoire par une ligne 44. Une ligne de valida- tion 45 relie l'unité de sélection 36 au module de sortie 41 pour provoquer l'autorisation d'impression. Enfin, le module d'état 37 est relié à l'unité de sélection d'événe- ment 36 par une ligne de commande 46 qui assure notamment une demande de caractére suivant dans le processus d'a- nalyse des flots de données. Bien que le fonctionnement des divers organes d'analyse de ce dispositif de visualisation 34 soit ana- logue à celui des organes correspondants du dispositif de la Fig.1, l'imprimante présente certaines particula- rités propres au fait que les données sont imprimées sur papier. Ainsi, comme il résulte du tableau TV ci- après, chaque caractère arabe posséde un code pour ses quatre formes, afin que toutes les formes puissent être représentées et obtenir ainsi la représentation la plus fidèle possible de l'écriture. Par conséquent, la mémoire permanente 38 a été conçue de telle façon qu'un caractère ayant un code don- né d'interface de programme ( selon le code ASCII) cor- respond à quatre codes d'impression à savoir xy, xy+zi, xy+zj et xy+zk, dans lesquels en code hexadécimal, zi peut avoir une valeur 60 ou 61, zj la valeur de 60,61 ou 6A et zk la valeur de 60,66 ou 87. Ces valeurs constituent des décalages de 8 par rapport au code d'interface de pro- gramme, ce qui permet de n'utiliser qu'un seul multiplet pour la détermination de la forme appropriée du caractère à imprimer. Le caractère générateur de l'imprimante contient les quatre formes relatives à chaque caractère arabe (Fig.12), ordonnées dans la table d'une façon telle que les quatre formes proviennent toutes de la valeur ASCII (unique) et d'un décalage correspondant à chaque forme. Ceci facilite et rend plus rapide le choix de la forme à imprimer ge). La table contient aussi tous les caractères latins. Suivant la valeur du code ASCII il y a l'une des deux possibilités: a) code ASCII à sept bits il s'agit donc de latin et le caractère à imprimer correspond directement à la valeur du code ASCII; b) code ASCII à huit bits: il s'agit donc d'arabe et une étude du contexte dans tout le tampon dé- terminera une des quatre formes à imprimer pour chaque caractère du tampon et donc le décalage nécessaire pour obtenir son adresse dans le caractère générateur. 9s os08 os08 os08 os08 os08 os08 os08 os08 ú8 L8 L8 os08 O8 os08 DL [L 6 +at. 6z+at 6E+Dt 6 Z+tT1 Vt? 8t L wE OE ú1 ú0 --______________ aBsluoop apoD NI--------------- -- -- -- -- -- -- --- V9 V9 L9 OS Z+9 úz+a9 JZ+D9 JZ+ff9 6t L P9 ú9 Z9 19 IL 08 ZS zci NIVHD 19 OL os08 1 la NIV 08 Os 08 OS' oc vz os08 os08 os08 a t? jz+aS JZ+C[9 JZ+D9 V17 8t L1 ú9 Z 9 0P os08 os08 os08 os08 os08 os08 os08 os08 6 Z+S P 6E+Z 6E+Df 6Z+EEP L; t O1 D 6D DD 8D D 6D SD LD 9D 1D 0D úD ED ID OD avaL avi avS NIHD NIS NAVZ qVH rval "ival VHN NIr HA Iq VLHi Iviin _______________.__ ___ __ ___ _14à __ _ abieBTDga OPOD)abulrDga epoD a eBwleoa 9POD LpoD : -nIvIa ------------IpoD alVIasw SUVI.INI S.HoSI _ _ _ _ - UMON AI l'SvlEI1 %A Pn o CD O r% le -4 IN TTI'rNcw 08 S 08 S *08 as 08 DS 08 as 09 VL 09 6L 08 8S 08 LS 08 9S 08 SS eBwIeogp epoo 08 NI asulroap GpoD _______________ g5rivN a V9 V9 V9 aL oS LL VS ú/. 9L S6 V9 a6eBDga apoo FîiVIcG W;J _ _ _ _ _ -_ - -_ __-_i.- - os T9 a.s OS GL Dg ars VS 8L LL 9L SL L EL ZL 00, SE: t'E EE ZE IE OE aS 6S as D5 S LS s SS ES9 SE CE Zú TE 0E Oaa Da G oct Va 6a ga Sa E:ci sa úG _ _ _ _ _ _ _ aBwDOGa epoOD aBwIoDGa epoD IIDSV epoI àJ---- --- -- - - - - - - _lv i m __ ______.. __ __ _ ___ _ _ __ aquav S aqeaw v eqeae E aq-exe z aqwee I aquav oagz VfÀ VSWVH VÀAMSWiH fnovno auvwt MnON WIN Va UvION UIowNe (aTlns) AI IValaVi in M o' w N1 N.. l - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- q b6el6Dgp apoo _______________ arI1NIl A ______________- - belBeIog, spoo aBeeIDg epooD aHIGHaa rIVILINI (aeTns) AI nvaaEVJ 06 iz 06 Hz 06 OEZ 06 a 06 DZ 06 z 06 Vz 66 Oz 06 8Z 06 LZ 06 9Z 06 SZ 06 Z 06 úZ 00 6ú 00 8ú 0o úE 00 LE 00 9ú aebeloga apOD _______________ sali'OSI _______________:j I I Da va 6SI 8I LE 9E eSpo 6ú 8ú Lú 9ú apoD __ _ _ _ tn o cN O4r I. $ x oaDdsa + ) ( i eqee 6 aquav 8 eqv.e L aqeae 9 MON i Dcalage Décalage _________ INITIALE O MEDIALE O FINALE O 1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 56 TABLEAU V 61 6A _ _ _ 87- N des bits On notera que dans l'imprimante deux règles d'écriture particulières sont observées. Après les ca- ractéres qui normalement ne sont pas jointifs dans l'é- criture arabe ( alif, dal, thal, ka, zayn, ouaou et lamalif), si le caractère se trouve dans la forme média- le, il prend la forme initiale et si le caractère est dans la forme finale, il prend la forme isolée. On remarquera que la description qui précède concerne un dispositif de visualisation pouvant afficher des données en écriture arabe et/ou latine. Cependant, la présente invention n'est pas limitée à ce cas précis et s'étend d'une façon générale à toutes les écritures dans lesquelles les caractères peuvent se présenter sous différentes formes en fonction du contexte. REVENDICATIONS 1 - Dispositif de visualisation de données en des écritures de natures différentes, au choix de l'opérateur, au moins l'une des écritures étant du type dans lequel les caractères présentent des formes distinctes suivant l'emplacement qu'ils ont dans le contexte, cedispositif étant destiné à recevoir des données se présentant sous forme d'une succession de multiplets en code binaire standard et qui peuvent comprendre 1) des caractères alphanumériques composés des caractères de la première écriture,2) un jeu de caractères alphanumériques de la seconde écriture dans lequel les caractères se présentent sous l'une des différentes formes dans lesquelles ils peuvent se présenter selon leur position dans le contexte, 3) des signes de ponctuation en les deux écritures et 4) des fonctions d'édition, ce dispositif étant caracté- risé en ce qu'il comprend une unité de visualisation (2; 42) qui est associée d'unepart à une mémoire perma- nente (16; 38) dans laquelle sont stockées outre les for- mes des caractères alphanumériques de la première écritu- re, l'ensemble des formes de tous les caractères alphanu- mériques de ladite seconde écriture, à savoir ladite for- me transmise dans le code binaire standard et plusieurs autres formes que peut présenter un caractère de la secon- de écriture suivant sa position dans le contexte, et, d'autre part, une unité de traitement (23, 24, 25; 36, 37, 38) destinée à discriminer séquentiellement l'appartenance du caractère représenté par chaque multiplet de ladite succession, à l'une ou l'autre des écritures à visualiser, cette unité de traitement étant, en outre, capable, en fonction de cette discrimination de sélectionner dans la- dite mémoire (16; 38) la forme du caractère à visualiser, cette forme étant, en ce qui concerne la seconde écriture déterminée en fonction de la position du caractère dans le contexte. 2 - Dispositif suivant la revendication 1, carac- térisé en ce que la première écriture est l'écriture La- tine et la seconde écriture est l'écriture arabe. 3 - Dispositif suivant l'une quelconque des reven- dications 1 et 2, caractérisé en ce que les multiplets de ladite succession se présentent en code ASCII. 4 - Dispositif suivant l'une quelconque des reven- dications 1 à 3, caractérisé en ce que ladite unité de traitement (23, 24, 25; 36, 37, 38) comporte une unité à table de vérité (25; 38) à laquelle sont appliquées les données à visualiser sous forme de trois catégories d'évè- nements pouvant se présenter au cours de la visualisation, évènements qui sont respectivement l'apparition d'un ca- ractère de la première écriture, l'apparition d'un carac- tère de la seconde écriture et l'apparition d'un évènement dit "neutre" concernant les signes de ponctuation et les caractères spéciaux des deux écritures, en ce que ladite table de vérité détermine n états de traitement à trois entrées représentant lesdits évènements, et en ce que l'unité de traitement comporte en outre un module d'état (24; 37) qui est capable de déterminer en fonction de l'évè- nement courant, l'évènement suivant à traiter, étant en- tendu que si cet évènement constitue l'apparition d'un caractère dans ladite seconde écriture, le caractère vi- sualisé à la suite de l'évènement précédent est mis en forme en fonction du contexte à partir des codes de forme contenus dans ladite mémoire permanente (16; 38). - Dispositif suivant la revendication 4, carac- térisé en ce que les états de ladite table de vérité (25; 39) comprennent un état de transition permettant de passer d'une écriture à l'autre et inversement. 6 - Dispositif suivant l'une quelconque des reven- dications 3 à 5lorsqu'elles dépendent de la revendication 2, caractérisé en ce que ladite forme dans laquelle la succession de données se présente en code standard est,en ce qui concerne l'arabe, la forme isolée des caractères. 7 - Dispositif suivant l'une quelconque des re- vendications précédentes, caractérisé en ce qu'il comprend un écran cathodique de visualisation ainsi qu'un tampon d'entrée (4) destiné à recevoir un flot de données d'un système de traitement d'information auquel il est relié, ainsi qu'un tampon de sortie (5) par l'intermédiaire du- quel le dispositif communique avec ledit système, en ce que ledit écran de visualisation remplit lerôle de mémoi- re et est lui-même connecté audit tampon de sortie (5) par l'intermédiaire d'une unité detraitement (27, 28, 29) capable de transformer les données affichées sur l'écran et se présentant avec toutes les formes des caractères de la seconde écriture, en un flot de données codées selon la code binaire standard. 8 - Dispositif suivant la revendication 7, carac- térisé en ce que ladite unité de traitement associé à l'écran cathodique de visualisation (2) comporte une mé- moire permanente (29) dans laquelle sont stockées les caractères des deux écritures avec pour la seconde écri- ture uniquement la première forme transmise en code stan- dard, ainsi qu'une table de vérité (28) coopérant avec un module d'état pour assurer ladite transformation. 9 - Dispositif suivant l'une quelconque des re- vendications 7 et 8, caractérisé en ce qu'il est équipé d'un clavier (3) fournissant un flot de données dans ledit code standard et raccordé à l'écran de visualisation (2) par l'intermédiaire de ladite première unité de traite- ment (22, 24, 25). 10 - Dispositif suivant l'une quelconque des re- vendications 1 à 6, caractérisé en ce qu'il constitue une imprimante dont l'unité d'impression (42) est raccordée à un tampon d'entrée (5) d'un système de traitement d'information à code binaire standard parl'intermédiaire de ladite unité de traitement (36, 37, 38, 39). 11- - Dispositif suivant la revendication 10, ca- ractérisé en ce que ladite unité de traitement comprend un module d'état (37), une table de vérité (39) et une mémoire permanente (38) dans laquelle sont stockées les codes outre des caractères de la première écriture, de toutes les formes de caractères de la seconde écritu- re.