(19)
(11) EP 0 162 736 A1

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
27.11.1985  Bulletin  1985/48

(21) Numéro de dépôt: 85400648.3

(22) Date de dépôt:  02.04.1985
(51) Int. Cl.4G09G 1/16
(84) Etats contractants désignés:
AT BE CH DE FR GB IT LI LU NL SE

(30) Priorité: 06.04.1984 FR 8405495

(71) Demandeur: CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE (CNRS)
75700 Paris Cedex 07 (FR)

(72) Inventeurs:
  • Weil, Gérard
    F-69199 Villeurbanne (FR)
  • Olivier, David
    F-69008 Lyon (FR)

(74) Mandataire: Mongrédien, André (FR) et al
Les Séquoias 34, rue de Marnes
F-92410 Ville d'Avray
F-92410 Ville d'Avray (FR)


(56) Documents cités: : 
   
       


    (54) Terminal graphique orienté multiécriture


    (57) Terminal graphique orienté multiécriture.
    Ce terminal graphique comprend un écran d'affichage (30), un moyen de gestion de l'affichage (32), un circuit d'entrée- sortie (38) et un moyen de traitement (44).
    Le moyen de traitement (44) comprend un moyen de mémorisation (46) et un moyen de commande (48) constitué d'un processeur (50) et d'un moyen de mémorisation (49) d'instructions pour gérer le terminal graphique. Selon l'invention, ce moyen de commande (48) est apte à:

    - charger dans le moyen de mémorisation (46) un ou plusieurs générateurs d'écritures reçus de l'équipement 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.




    Description


    [0001] La présente invention a pour objet un terminal graphique permettant L'affichage de textes dans toutes Les écritures naturelles, alphabétiques, sylLabiques et idéographiques ou codées type "code de transcription phonétique international" avec la possibilité de mélanger Les Langues et leurs écritures sur Les mêmes Lignes d'écran en vue de Leur traitement automatique.

    [0002] 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.

    [0003] Les terminaux graphiques passifs, qui constituent historiquement La première génération, sont souvent réduits à un moniteur vidéo de faible définition. 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 traitement "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.

    [0004] Pour décharger L'équipement distant de La gestion de l'écran, on a ensuite incorporé au terminal graphique des moyens de traitement comprenant notamment 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.

    [0005] Ces codes de données sont soit des codes de caractères à afficher, soit des codes de commande.

    [0006] Les codes de commande peuvent être des codes modifiant l'état de L'écran, tels que Le retour chariot, 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 graphique sur l'état de l'écran, état défini par La valeur de chacun des points d'image de l'écran, la position du curseur et l'état d'affichage du curseur Cal-Lumé, éteint, clignotant).

    [0007] Le terminal graphique de L'invention est un terminal graphique de La seconde génération.

    [0008] Les terminaux graphiques de cette génération Les plus répandus sont Les terminaux alphanumériques. 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 également 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'instructions.

    [0009] 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'ensemble des caractères, et ceci est relativement facile à réaliser si ladite mémoire morte est contenue dans une cartouche enfichable.

    [0010] En revanche, il n'est en général pas possible de modifier de manière simple Les règles d'écriture. En effet, celles-ci figurent sous forme d'instructions 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.

    [0011] Les écrans graphiques actuels sont donc destinés aux représentations graphiques et alphanumériques à é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 affichage en traitement de texte.

    [0012] Cependant, Les règles d'écriture ne sont pas totalement figées ; certaines peuvent être paramé- trées. Par exempte, 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 10x14 points. Il n'en demeure pas moins vrai que ces écritures affichables sont des écritures figées dans des matrices prédéfi- nies et invariables.

    [0013] Ces modifications des règles d'écriture sont toutefois limitées et ne permettent pas de traiter simultanément des caractères simples comme Les caractères latins et des caractères complexes comme Les idéogrammes.

    [0014] Les figures 1a à 1e, qui représentent. des textes dans des langues et écritures différentes, permettent de mieux comprendre L'importance de La possibilité de modifier Les règles d'écriture pour l'affichage, par un unique terminal graphique, de plusieurs Langues différentes.

    [0015] La figure 1a est un texte en caractères latins. 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'élargissement du texte à certains endroits et de tassement en d'autres endroits. La qualité visuelle du texte reste cependant acceptable.

    [0016] 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 1b é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 peuvent donc pas être Les mêmes pour Les textes des figures 1a et 1b. Ces règles étant fixes pour Les terminaux graphiques-alphanumériques connus, L'affichage de ces deux textes ne peut pas être réalisé par un même terminal graphique-alphanumérique.

    [0017] La figure 1c illustre une écriture alphabétique dont Les règles d'association des caractères sont différentes des écritures des figures 1a et 1b. 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 1a, 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 ponctuation 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.

    [0018] 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'écriture 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'algorithme particulier de l'écriture arabe qui connaît aussi des composantes connexes. Les plus remarquables sont celles qui provoquent La transformation du alit en hdmza ou en lam-alif.

    [0019] Les figures 1a à 1d 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'associer 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 représentés sur Les figures 1a à 1d.

    [0020] Sur La figure 1e, on a représenté un texte en chinois, c'est-à-dire dans une écriture non-aLphabétique. La complexité de chaque caractère idéographique 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 figure 1a. 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.

    [0021] Les écritures alphabétiques et Les écritures 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 peuvent être traitées par un terminal graphique.

    [0022] Les hiéroglyphes et Les idéogrammes sont des caractères d'écriture non-alphabétique. La matrice de caractères est dans ce cas trop importante (3000 caractères pour L'égyptien ancien, 57000 pour le chinois, 45000 pour Les cunéiformes assyro-babyloniens) pour être intégrée dans une mémoire du terminal graphique. 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 auquel est connecté Le terminal graphique. Au Lieu de transmettre un code simple associé aux caractères à afficher, comme dans Le cas des écritures alphabétique, L'équipement informatique doit ici transmettre La valeur de chacun des points de La matrice de points correspondant au caractère à afficher.

    [0023] 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 non-alphabétique. Les terminaux graphiques connus ne peuvent donc pas traiter simultanément ces deux écritures, car Le protocole de transmission entre le terminal et L'équipement informatique distant est fixe.

    [0024] 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émorisation 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.

    [0025] Le terminaL graphique de L'invention peut ainsi traiter n'importe quelle langue dans son écriture 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 plusieurs lignes d'écran en fonction de leurs règles propres et quel que puisse être Le sens de chacune de ces écritures. Pour changer de langue, il suffit oue Le moyen de commande ait chargé dans La mémoire un ou plusieurs générateurs d'écritures reçus du terminal distant.

    [0026] 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 standard, 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 gardant ses facultés graphiques propres quel que soit Le système de gestion de fichiers utilisé.

    [0027] SeLon une caractéristique du terminal graphique selon l'invention, pour chaque générateur d'écriture alphabétique, le moyen de mémorisation comprend 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.

    [0028] 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.

    [0029] 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 concernés par La commande,

    - un champ contenant La valeur d'une suite de points d'image.



    [0030] L'écriture commence au point désigné par La position du curseur. Le curseur peut être déplacé ou non suivant La commande.

    [0031] Dans Le cas d'un terminal graphique monochrome, 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 éventuellement des bits de remplissage.

    [0032] Les caractéristiques de L'invention apparaîtront 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 les quels:

    - les figures 1a à 1e, déjà décrites, illustrent différents systèmes d'écriture alphabétique et non-alphabétique,

    - 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 affiché dans le cas d'un système d'écriture alphabétique,

    - Les figures 4a et 4b illustrent respectivement le format d'un code d'affichage d'une série de points de L'écran et L'affichage correspondant.



    [0033] 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 bidirectionnelle ou bus 42, et un moyen de traitement 44.

    [0034] Ce moyen de traitement 44 comprend un processeur 50 et un moyen de mémorisation 49, qui ensemble 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 caractères ainsi que les règles d'écriture formant ainsi un ou plusieurs générateurs d'écritures. Le moyen de commande 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.

    [0035] Ce moyen de commande 48 comprend aussi une unité d'accès direct à La mémoire 47 permettant d'accélérer Les échanges avec Le processeur graphique 34.

    [0036] Le circuit d'entrée-sortie 38, Le processeur 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 relié au processeur graphique 34 par une voie 56.

    [0037] Le processeur graphique 34 effectue une recopie 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.

    [0038] 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 : retour chariot, saut à La ligne, remise à zéro de L'affichage, retour en arrière, déplacement du curseur, 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 distant par L'intermédiaire du circuit d'entrée-sortie 38,

    - L'émission vers L'équipement distant de codes indiquant L'état de L'écran (position du curseur, état d'affichage d'un point d'image,...).



    [0039] 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.

    [0040] - Les instructions contenues dans Le moyen 46 de mémorisation commandent notamment La taille de La matrice de points dans laquelle est inscrit un caractère à afficher -cette taille n'étant pas nécessairement 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 nombre de ligne de points d'image correspondant à La fonction "saut à la ligne", ce nombre étant lié à La taille de La matrice de points dans LaqueLLe les caractères sont inscrits.

    [0041] 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émorisation 49 pour initialiser Le terminal graphique. IL attend 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'équipgment distant 40 par Le circuit d'entré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é dans le moyen de mémorisation 46 qui com mande l'exécution des fonctions d'écriture.

    [0042] On va maintenant détailler Le format des codes reçus et émis par Le terminal graphique.

    [0043] On a représenté sur La figure 3a Le format du code d'un caractère à afficher dans le cas d'une écriture alphabéti que à 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'écriture sont chargés dans le moyen de mémorisation 46.

    [0044] Les codes de commande peuvent également être transmis de manière connue par un octet dans le code ASCII.

    [0045] 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 te cas d'un système d'écriture non-alphabétique. Mais it peut également être utilisé si le système d'écriture est de type alphabétique pour faire des traitements autres que l'affichage de caractères.

    [0046] 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.



    [0047] Dans le cas d'un terminal graphique mono- chrome, la valeur de chaque point est réduite à un seul bit.

    [0048] 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.

    [0049] 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 croissant 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.

    [0050] 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.

    [0051] Ce format peut être simplifié dans le cas de la Lecture ou de L'écriture d'un seut 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.

    [0052] 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 graphique pour l'affichage de textes dans un système d'écriture non-alphabéti que.


    Revendications

    1. Terminal graphique orienté multiécriture comprenant un écran d'affichage (30), un moyen de gestion 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 terwinal 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'équipement 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 revendication 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, Ledit processeur étant apte à exécuter Lesdites instructions.
     
    3. Terminal graphique selon La revendication 2, caractérisé en ce qu'il comprend en outre une unité d'accès direct à La mémoire (47).
     
    4. Terminal graphique seion L'une queicon- 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'instructions 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 quelconque 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'instructions définissant Les règles d'écriture.
     
    6. Terminal graphique selon l'une quelconque des revendications 4 et 5, caractérisé en ce que Le code d'écriture 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 concernés par La commande,

    - un champ contenant La valeur d'une suite de points d'image.


     
    7. Terminal graphique selon La revendication 6 dans LequeL L'écran d'affichage (30) est monochrome, 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 remplissage.
     




    Dessins










    Rapport de recherche