FR 2562689 A1 19851011 FR 8405495 A 19840406 TERMINAL GRAPHIQUE ORIENTE MULTIECRITURE La présente invention a pour objet un termi- nal graphique permettant l'affichage de textes dans toutes les écritures naturelles, alphabétiques, syl- labiques et idéographiques ou codées type "code de transcription phonétique international" avec la pos- sibilité de mélanger les langues et leurs écritures sur les mêmes lignes d'écran en vue de leur traitement automatique. Les terminaux graphiques peuvent être ré- partis en deux catégories qui forment deux générations de terminaux: les terminaux passifs et les terminaux intelligents. Dans les deux cas, le terminal graphique est connecté à un équipement informatique distant qui transmet les caractères à afficher et des codes de commande. Les terminaux graphiques passifs, qui cons- tituent historiquement la première génération, sont souvent réduits à un moniteur vidéo de faible défini- tion. La gestion de l'écran est alors assurée par l'équipement informatique distant. Ceci est gênant car une partie non négligeable du temps de traitement du processeur de cet équipement distant est consacrée à la gestion de l'écran, au détriment du temps de trai- tement "utile" consacré à l'exécution des programmes. Dans ces conditions, la gestion de l'écran est réduite au minimum et les caractères alphanumériques, à partir de matrices figées dans des mémoires mortes (ROM), sont souvent les seuls caractères disponibles. Pour décharger l'équipement distant de la gestion de l'écran, on a ensuite incorporé au terminal graphique des moyens de traitement comprenant notam- ment une mémoire d'image, un moyen pour afficher sur l'écran le contenu de la mémoire d'image et un moyen pour échanger des codes de données avec l'équipement distant afin de gérer l'affichage. Ces codes de données sont soit des codes de caractères à afficher, soit des codes de commande. Les codes de commande peuvent être des codes modifiant l'état de l'écran, tels que le retour cha- riot, le saut d'une ligne, le retour en arrière ou le déplacement du curseur; les codes de commande peuvent être également des codes interrogeant le terminal gra- phique sur l'état de l'écran, état défini par la va- leur de chacun des points d'image de l'écran, la posi- tion du curseur et l'état d'affichage du curseur (al- lumé, éteint, clignotant). Le terminal graphique de l'invention est un terminal graphique de la seconde génération. Les terminaux graphiques de cette généra- tion les plus répandus sont les terminaux alphanuméri- ques. Le moyen de traitement comprend dans ce cas une matrice de caractères et des moyens pour associer à un code de caractère à afficher reçu un caractère de la matrice et pour afficher ledit caractère. La matrice de caractère peut être simplement contenue dans une mémoire morte. Le moyen de traitement comprend égale- ment un moyen qui définit les règles d'écriture, c'est-à-dire la manière d'associer les caractères de l'alphabet pour former des mots et des phrases. Ces règles d'écriture sont également contenues dans une mémoire morte sous la forme d'une suite d'instruc- tions. La matrice de caractères est souvent unique. Elle peut cependant être remplacée assez facilement par une autre matrice de caractères. Il suffit pour cela de changer la mémoire morte contenant la matrice de caractères. Ceci est possible car cette mémoire morte ne comporte que les données définissant l'ensem- ble des caractères, et ceci est relativement facile à réaliser si ladite mémoire morte est contenue dans une cartouche enfichable. En revanche, il n'est en général pas possi- ble de modifier de manière simple les règles d'écritu- re. En effet, celles-ci fi gurent sous forme d'instruc- tions dans une mémoire morte qui contient également d'autres instructions exécutables par le moyen de traitement, telles que des instructions de gestion des circuits d'entrée-sortie. Les écrans graphiques actuels sont donc des- tinés aux représentations graphiques et alphanuméri- ques à écritures figées, mais ne sont pas destinés à la génération de caractères nouveaux régis par des règles d'écriture particulières, ce qui exclu leur af- fichage en traitement de texte. Cependant, les règles d'écriture ne sont pas totalement figées; certaines peuvent être paramé- trées. Par exemple, il est souvent possible de choisir entre deux tailles de caractères, l'une correspondant à un caractère inscrit dans une matrice de 5x7 points, l'autre dans une matrice de lOx14 points. Il n'en de- meure pas moins vrai que ces écritures affichables sont des écritures figées dans des matrices prédéfi- nies et invariables. Ces modifications des règles d'écriture sont toutefois limitées et ne permettent pas de trai- ter simultanément des caractères simples comme les ca- ractères latins et des caractères complexes comme les idéogrammes. Les figures la à le, qui représentent des textes dans des langues et écritures différentes, per- mettent de mieux comprendre l'importance de la possi- bilité de modifier les règles d'écriture pour l'affi- chage, par un unique terminal graphique, de plusieurs langues différentes. La figure la est un texte en caractères la- tins. Tous Les caractères sont contenus dans une même matrice de points comportant en général 5x7 points. Cette méthode permet de réaliser un pavage régulier de l'écran d'affichage et simplifie donc la gestion de cet écran. Du point de vue visuel, cette méthode n'est pas la meilleure car les caractères de faible largeur tels que "I" et les caractères tels que "M" occupent le même volume, ce qui donne une impression d'élargis- sement du texte à certains endroits et de tassement en d'autres endroits. La qualité visuelle du texte reste cependant acceptable. Le pavage régulier de l'écran ne peut être réalisé lorsque les dimensions de deux caractères d'un jeu de caractères peuvent être très différentes. Par exemple, le texte représenté sur la figure lb écrit en caractères ougaritiques contient un caractère 4 de faible largeur et un caractère 6 beaucoup plus large. IL est clair que l'aspect visuel du texte serait très mauvais si on allouait à chacun de ces caractères une même matrice de points. Les règles d'écriture ne peu- vent donc pas être les mêmes pour les textes des figu- res la et lb. Ces règles étant fixes pour les termi- naux graphiques-alphanumériques connus, l'affichage de ces deux textes ne peut pas être réalisé par un même terminal graphique-alphanumérique. La figure lc illustre une écriture alphabé- tique dont les règles d'association des caractères sont différentes des écritures des figures la et lb. Cette figure représente un texte en hébreu biblique à composantes connexes dont le sens de l'écriture va de la droite vers la gauche. Tous les caractères sont inscrits dans une même matrice de points comme dans la figure la, mais chaque matrice de points peut contenir outre un caractère 8, 12 un signe de ponctuation 10, 14. Le signe contenu dans la matrice de points 16 n'est pas un unique caractère extrait de la matrice de caractères mais est constitué de deux caractères: un caractère alphabétique 8 et un caractère de ponctua- tion 10. Cette règle d'écriture qui consiste à ajouter des signes de ponctuation au-dessous, au milieu ou au- dessus des caractères alphabétiques ne se retrouve pas dans les deux écritures précédentes. Sur la figure 1d, on a représenté un autre exemple d'écriture alphabétique. Il s'agit d'un texte en alphabet arabe dont le sens de l'écriture va de la droite vers la gauche. On remarque une règle d'écritu- re particulière, typiquement cursive, qui consiste à lier les caractères consécutifs. Dans la mesure o ces caractères peuvent être liés, en position initiale, médiane, finale ou figurent en position isolée, ils prennent une autre forme qui est déterminée par l'al- gorithme particulier de l'écriture arabe qui connaît aussi des composantes connexes. Les plus remarquables sont celles qui provoquent La transformation du alif en hdmza ou en lam-alif. Les figures la à ld montrent donc que les écritures alphabétiques diffèrent d'une part par le jeu de caractères utilisés et d'autre part par des règles d'écriture qui définissent la manière d'asso- cier ces caractères pour composer un texte. Si sur certains terminaux graphiques connus plusieurs jeux de caractères sont disponibles, les règles d'écriture sont fixes. Un terminal graphique unique ne peut donc pas traiter des textes aussi différents que ceux re- présentés sur les figures la à ld. Sur la figure le, on a représenté un texte en chinois, c'est-à-dire dans une écriture non-alpha- bétique. La complexité de chaque caractère idéographi- que oblige à les représenter dans une matrice de points importante, par exemple de 25x25 points. Les règles d'écriture sont ici proches du texte de la fi- gure la. Chaque caractère est défini dans une matrice de points identiques, mais la taille de cette matrice de points n'est pas la même dans les deux cas. Les règles d'écriture ne sont donc pas identiques dans les deux cas. Les écritures alphabétiques et les écritu- res non-alphabétiques constituent les deux classes d'écritures. On notera que le terme d'écriture ne doit pas être pris dans un sens restrictif d'écriture d'une langue. Les notes de musique, par exemple, forment un jeu de caractères d'une écriture que l'on peut dire alphabétique en ce qu'elle présente la concaténation d'un nombre fini de signes différents régis par des règles de succession obligées et contraintes, qui peu- vent être traitées par un terminal graphique. Les hiéroglyphes et les idéogrammes sont des caractères d'écriture nonalphabétique. La matrice de caractères est dans ce cas trop importante (3000 ca- ractères pour l'égyptien ancien, 57000 pour le chi- nois, 45000 pour les cunéiformes assyro-babyloniens) pour être intégrée dans une mémoire du terminal gra- phique. Ces caractères sont donc mémorisés sur une mé- moire de masse telles que disquette ou disque dur adressable par l'équipement informatique distant au- quel est connecté le terminal graphique. Au lieu de transmettre un code simple associé aux caractères à afficher, comme dans le cas des écritures alphabéti- que, l'équipement informatique doit ici transmettre la valeur de chacun des points de la matrice de points correspondant au caractère à afficher. Le code d'un caractère à afficher est donc totalement différent selon qu'il s'agit d'une écriture alphabétique ou d'une écriture nonalphabétique. Les terminaux graphiques connus ne peuvent donc pas trai- ter simultanément ces deux écritures, car le protocole de transmission entre le terminal et l'équipement in- formatique distant est fixe. L'objectif de l'invention est de remédier à ces inconvénients. A cet effet, le terminal graphique de l'invention comporte des moyens pour charger depuis le terminal distant un ou plusieurs générateurs d'écritures. Il comprend notamment un moyen de mémori- sation et un moyen de commande. Ce dernier est apte à charger dans ledit moyen de mémorisation des ensembles d'instructions et de données reçues de l'équipement distant auquel est connecté le terminal graphique, chacun de ces ensembles définissant une écriture, c'est-à-dire l'ensemble des caractères affichables et Les règles pour associer ces caractères afin de former des mots et des phrases. Le terminal graphique de l'invention peut ainsi traiter n'importe quelle langue dans son écritu- re originelle ou plusieurs langues différentes typolo- giquement dans leurs écritures originelles avec la possibilité de mélanger des mots des diverses langues dans leurs différentes écritures sur une ou sur plu- sieurs lignes d'écran en fonction de leurs règles pro- pres et quel que puisse être le sens de chacune de ces écritures. Pour changer de langue, il suffit cue le moyen de commande ait chargé dans la mémoire un ou plusieurs générateurs d'écritures reçus du terminal distant. Le terminal graphique de l'invention n'est pas asservi au système de gestion de fichiers défini par l'équipement distant équipé d'une interface stan- dard, par exemple de type RS 232 C, il est compatible avec tous les systèmes informatiques existants grâce à la souplesse du téléchargement des générateurs d'écri- tureset à l'universalité de cette interface. Il peut aussi être connecté à tout équipement distant en gar- dant ses facultés graphiques propres quel que soit Le système de gestion de fichiers utilisé. Selon une caractéristique du terminal gra- phique selon l'invention, pour chaque générateur d'écriture alphabétique, le moyen de mémorisation com- prend une zone d'instruction définissant les règles d'écriture et une zone de données définissant une sé- rie de caractères. Selon une autre caractéristique du terminal graphique selon l'invention, pour chaque générateur d'écriture non-alphabétique, le moyen de mémorisation comprend une zone d'instructions définissant les rè- gles d'écriture. Selon une autre caractéristique du terminaL graphique selon l'invention, le code d'écriture ou de lecture d'une suite de points d'image comprend: un champ contenant le nom de la commande, - un champ contenant le nombre de points d'image con- cernés par la commande, - un champ contenant la valeur d'une suite de points d'image. L'écriture commence au point désigné par la position du curseur. Le curseur peut être déplacé ou non suivant la commande. Dans le cas d'un terminal graphique mono- chrome, et selon une caractéristique de l'invention, le champ contenant la valeur d'une suite de points d'image contient un bit par point d'image et éventuel- lement des bits de remplissage. Les caractéristiques de l'invention appa- raitront mieux après la description qui suit d'un exemple de réalisation donné à titre illustratif mais non limitatif, en référence aux dessins annexés sur lesquels: - les figures la à le, déjà décrites, illus- trent différents systèmes d'écriture alphabétique et non-alphabéti que, la figure 2 est un synoptique du terminal graphique selon l'invention, les figures 3a et 3b illustrent le format d'un code de caractère à afficher et un caractère af- fiché dans le cas d'un système d'écriture alphabéti- que, - les fi ures 4a et 4b illustrent respecti- vement le format d'un code d'affichage d'une série de points de l'écran et l'affichage correspondant. On a représenté sur la figure 2 un tableau synoptique du terminal graphique selon l'invention. Il comprend un écran d'affichage 30, un moyen de gestion de l'affichage 32 constitué d'un processeur graphique 34 et d'une mémoire d'image 36, un circuit d'entrée- sortie 38 pour échanger des données avec l'équipement distant 40 par l'intermédiaire d'une liaison bidirec- tionnelle ou bus 42, et un moyen de traitement 44. Ce moyen de traitement 44 comprend un pro- cesseur 50 et un moyen de mémorisation 49, qui ensem- ble forment le moyen de commande 48; le moyen de traitement 44 comprend aussi un moyen de mémorisation 46 qui comprend la ou les séries de matrices de carac- tères ainsi que les règles d'écriture formant ainsi un ou plusieurs générateurs d'écritures. Le moyen de com- mande 48 gère la réception des codes reçus du système distant et, en fonction de ces codes, active l'un des générateurs d'écriture. Ce moyen de commande 48 comprend aussi une unité d'accès direct à la mémoire 47 permettant d'ac- célérer les échanges avec le processeur graphique 34. Le circuit d'entrée-sortie 38, le proces- seur graphique 34 et les moyens de mémorisation 46, 47 et 49 sont reliés au processeur 50 par un bus 52. De même, La mémoire d'image 36 est reliée au processeur graphique 34 par un bus 54. Enfin, l'écran 30 est re- Lié au processeur graphique 34 par une voie 56. Le processeur graphique 34 effectue une re- copie du contenu de la mémoire d'image 36 sur L'écran 30. Il reçoit par aiLLeurs des ordres du processeur 50 exécutant les instructions contenues dans le moyen de mémorisation 49 pour modifier Le contenu de La mémoire d'image 36. Les instructions contenues dans le moyen de mémorisation 49 constituent les fonctions de base de gestion du terminal graphique. Sans être exhaustif, on peut citer parmi ces fonctions: - les fonctions classiques de gestion de l'écran: re- tour chariot, saut à la ligne, remise à zéro de l'affichage, retour en arrière, déplacement du cur- seur, etc... - la recopie de toute zone rectangulaire de l'écran vers une autre zone de même dimension, - le zoom temporaire de toute zone rectangulaire de l'écran, - la mémorisation dans le moyen de mémorisation 46 des données et instructions reçues de l'équipement dis- tant par l'intermédiaire du circuit d'entrée-sor- tie 38, - l'émission vers l'équipement distant de codes indi- quant l'état de l'écran (position du curseur, état d'affichage d'un point d'image,...). Le moyen de mémorisation 49 contient en gé- néral un générateur d'écriture utilisé par défaut, c'est-à-dire en l'absence de générateur d'écriture chargé dans le moyen de mémorisation 46. Les instructions contenues dans le moyen 46 de mémorisation commandent notamment la taille de la 1 1 matrice de points dans laquelle est inscrit un carac- tère à afficher -cette taille n'étant pas nécessaire- ment la même pour tous les caractères-, les liaisons éventuelles entre caractères consécutifs, etc... Ces instructions permettent également de fixer les paramè- tres des fonctions de gestion d'écran contenues dans le moyen de mémorisation 46, comme par exemple le nom- bre de lignes de points d'image correspondant à la fonction "saut à la ligne", ce nombre étant Lié à la taille de la matrice de points dans laquelle les ca- ractères sont inscrits. Le fonctionnement du terminal graphique est le suivant. A la mise sous tension, le processeur 50 exécute une série d'instructions du moyen de mémorisa- tion 49 pour initialiser le terminal graphique. Il at- tend ensuite les commandes de l'équipement distant 40 qui peuvent lui commander de charger dans le moyen de mémorisation 46 un ou plusieurs générateurs d'écritures reçus de l'équipement distant 40 par le circuit d'en- trée-sortie 38. Dans ce cas, le contrôle du processeur est ensuite donné aux instructions d'un générateur d'écriture, choisi en fonction des codes reçus, chargé dansle mo- yende mémorisation46quicommande L'exécutiondesfonctionsd'écriture. On va maintenant détailLer le format des co- des reçus et émis par le terminal graphique. On a représenté sur la figure 3a le format du code d'un caractère à afficher dans le cas d'une écriture aiphabétique à petit nombre de caractères. Ce code est très simple. On peut utiliser par exemple le code ASCII dans lequel un octet est associé à chaque caractère. Ce code peut être précédé ou suivi d'un code de contrôle pour indiquer notamment le générateur d'écriture à activer, si plusieurs générateurs d'écri- ture sont chargés dans le moyen de mémorisation 46. Les codes de commande peuvent également être transmis de manière connue par un octet dans Le code ASCII. Sur la figure 4a, on a représenté le format du code d'écriture d'une suite de points d'image. Ce format est utilisé pour la transmission point par point des caractères dans le cas d'un système d'écri- ture non-alphabétique. Mais il peut égaLement être utilisé si le système d'écriture est de type aLphabé- tique pour faire des traitements autres que l'afficha- ge de caractères. Le code représenté sur la figure 4a comporte 3 champs qui contiennent respectivement: - le nom de La commande, - le nombre de points d'image concernés, - la valeur de chacun de ces points d'image. L'écriture commence au point désigné par le curseur, le curseur peut être ou ne pas être déplacé suivant la commande. Dans le cas d'un terminal graphique mono- chrome, la valeur de chaque point est réduite à un *seul bit. Les tailles des différents champs peuvent être dans l'ordre: deux octets, pour le nom de la commande, un ou deux octets pour le nombre de points d'image et (N+6)/7 octets pour la valeur des points d'image, o N est le nombre de points d'image. Si Le nombre N n'est pas un multiple de 7, seuls les bits de poids faibles du dernier octet seront utilisés, Les bits de poids fort qui restent étant ignorés. - On a représenté sur La figure 4b l'état de l'écran après la réception du code d'écriture d'une suite de points d'image dans lequel N=5 et S='11001011'. Seuls les 5 bits de poids faibles de S sont significatifs. Ils indiquent dans l'ordre crois- sant l'état allumé ou éteint des points d'image de coordonnées (I, J), (I, J+1), (I, J+2), (I, J+3) et (I, J+4), I et J étant les coordonnées du curseur. On note que le format du code d'écriture de la figure 4a peut également être utilisé pour indiquer au terminal distant l'état de N points d'images. Ces deux codes seront distingués par leur nom, c'est-à- dire une valeur différente du premier champ. Ce format peut être simplifié dans le cas de la lecture ou de l'écriture d'un seul point d'image. En écriture le nom du code peut être différent selon que l'on désire allumer ou éteindre le point d'image. Dans ce cas, l'écriture ou la lecture d'un point d'image est représentée par un code ne comportant que le premier champ du code de la figure 4a. Le format de la figure 4a permet par rapport à l'état antérieur de l'art de diminuer le débit de données entre l'équipement distant et le terminal gra- phique pour l'affichage de textes dans un système d'écriture non-alphabétique. REVENDICATIONS 1. TerminaL graphique orienté muLtiécriture comprenant un écran d'affichage (30), un moyen de ges- tion de L'affichage (32) muni d'une mémoire d'image (36), un circuit d'entrée-sortie (38) pour recevoir d'un équipement informatique distant (40) des codes de caractères à afficher et des codes de commande et un moyen de traitement (44), Ledit terminal graphique étant caractérisé en ce que ledit moyen de traitement (44) comprend un moyen de mémorisation (46) et un moyen de commande (48), ledit moyen de commande étant apte à: charger dans le moyen de mémorisation (46) un ou plusieurs générateurs d'écritures reçus de l'équipe- ment distant, - recevoir des codes de caractères à afficher et des codes de commande de l'équipement distant, - activer un générateur d'écriture pour commander l'affichage en fonction desdits codes reçus. 2. Terminal graphique selon la revendica- tion 1, caractérisé en ce que le moyen de commande (48) comprend un processeur (50) et une mémoire (49) contenant des instructions pour gérer le terminal, le- dit processeur étant apte à exécuter lesdites instruc- tions. 3. Terminal graphique selon la revendica- tion 2, caractérisé en ce qu'il comprend en outre une unité d'accès direct à la mémoire (47). 4. Terminal graphique selon l'une queLcon- que des revendications 1 à 3, caractérisé en ce que pour chaque générateur d'écriture alphabétique, le moyen de mémorisation (46) comprend une zone d'ins- tructions définissant les règles d'écriture et une zone de données définissant une matrice de caractères. 5. Terminal graphique selon L'une queLcon- que des revendications 1 à 3, caractérisé en ce que pour chaque générateur d'écriture non-alphabétique, le moyen de mémorisation (46) comprend une zone d'ins- tructions définissant les règles d'écriture. 6. Terminal graphique selon l'une quelcon- que des revendications 4 et 5, caractérisé en ce que Le code d'écriture d'une suite de points d'image com- prend: - un champ contenant le nom de la commande, - un champ contenant le nombre de points d'image con- cernés par la commande, - un champ contenant la valeur d'une suite de points d'image. 7. Terminal graphique selon la revendica- tion 6 dans lequel l'écran d'affichage (30) est mono- chrome, caractérisé en ce que le champ contenant la valeur d'une suite de points d'image contient un bit par point d'image et éventuellement des bits de rem- plissage.