Brevet FR2583560A1 — publié le 19861219

PROCEDE D'AFFICHAGE DE SYMBOLES ET DISPOSITIF DE MISE EN OEUVRE DE CE PROCEDE La présente invention a pour objet un procédé d'affichage, sur une console de visualisation ou une imprimante d'une chaîne de traitement informatique par exemple, de symboles, alphabétiques, numériques ou autres. Dans les systèmes informatiques, les caractères alpha numériques classiques, destinés à être affichés (visualisés ou imprimés), sont souvent décrits par une matrice de N lignes et M colonnes, formant N x M points dont certains seulement sont activés pour représenter un caractère défini. Chaque caractère est caractérisé par un numéro ou code (code ASCII par exemple) et le système comporte, dans une mémoire affectée à cet effet, la description en binaire de la matrice (bit égal à l pour chaque point activé par exemple) pour chaque caractère affichable. Dans les applications classiques, le nombre total de caractères affichable est limité aux vingt six caractères latins, augmentés des dix caractères numériques et de quelques caractères auxiliaires.Si le nombre M de colonnes correspond à un ou plusieurs (m) octets, la description de chaque caractère occupe ainsi N x m octets en mémoire. Lorsqu'on souhaite pouvoir utiliser d'autres symboles, tels que des caractères non latins et/ou des symboles graphiques, éventuellement en plus des caractères alphanumériques classiques, on peut être amené à mobiliser un espace mémoire considérable, uniquement pour la gestion interne de cette affichage. C'est notamment le cas pour les ensembles ou alphabets comportant un nombre de caractères important tels que les alphabets arabes ou l'ensemble des caractères chinois. La présente invention a pour objet un procédé permettant d'afficher des symboles pouvant être en grand nombre, tout en minimisant l'espace mémoire nécessaire à la gestion de cette affichage. Plus précisément, le procédé selon l'ihvention consiste à - décrire chaque symbole par une matrice N x M points; - découper la matrice en segments, qui pourront être égaux à une ligne, une colonne ou une fraction de celles-ci; - affecter un numéro de référence à chaque segment distinct, chaque symbole étant alors défini par une suite de numéros de référence; - enregistrer une table dans une mémoire, les numéros de référence correspondant respectivement à des adresses dans cette table, un segment différent étant reproduit dans la table à chacune des adresses. De la sorte, en divisant la matrice en segments suffisamment petits, il apparaîtra un certain nombre de segments identiques dans la définition des différents symboles; ces segments identiques ne seront alors décrits qu'une seule fois dans la table, ce qui conduit à un gain d'espace mémoire sensible. D'autres objets, particularités' et résultats de l'invention ressortiront de la description suivante, donnée à titre non limitatif et illustrée par les dessins annexés, qui représentent: - la figure l, un exemple de symbole dans sa description par une matrice de N x M points; - la figure 2, un exemple du contenu de la table de description des segments dans le procédé selon l'invention; - la figure 3, un mode de réalisation du dispositif de mise en oeuvre du procédé selon l'invention. Sur ces différentes figures, les mêmes références se rapportent aux mêmes éléments. Sur la figure 1, on a donc représenté une matrice de N lignes et M colonnes, à savoir, dans l'exemple de la figure 1, seize lignes et neuf colonnes, définissant ainsi N x M = 144 points. Certains de ces points seulement sont activés (point lumineux pour une console de visualisation, impression pour une imprimante) pour former un symbole prédéfini. Dans l'exemple de la figure, le symbole choisi est un caractère extrait des alphabets arabes: il s'agit de la lettre "TA" lorsqu'elle est en position isolée. Selon l'invention, on découpe donc cette matrice N x M points en segments, les segments étant eux-mêmes décrits dans une table, mémorisée, dont le contenu est représenté sur la figure 2, le symbole considéré étant alors représenté par une suite de numéros de référence (adresses dans la table) des différents segments qui le compose. Dans l'exemple des figures, la longueur choisie pour un segment est la longueur d'une colonne, c'est-à-dire 16 points. On a indiqué sous la matrice de la figure 1, à titre d'exemple, les numéros de référence (adresses) de chacun des segments. Le premier segment (colonne nO 0) comporte trois points activés aux 6ème, 7ème et 8ème lignes respectivement ; ce segment est par exemple décrit à l'adresse 94 de la table des segments. En se reportant à la figure 2, où l'on a indiqué le contenu de la table des segments pour certaines adresses, dont l'adresse 94, et oU le contenu de la table est noté en hexadécimal pour en simplifier la lecture, on voit qu'à l'adresse 94 le segment contenu est 0lu0, ce qui correspond bien à trois bits différents de zéro en positions 6, 7 et 8, si on lit la colonne nO O en partant de la 15ème ligne, par séries de 4 bits. Le deuxième segment (colonne n" 1) comporte un seul point actif à la ligne n" 9. L'adresse de ce segment est 2. En se reportant à la figure 2, on voit qu' à l'adresse 2 le contenu de la table des segments est 0200, ce qui correspond bien à un bit unique différent de O à la ligne n" 9, en partant toujours de la ligne n" 15 par groupes de quatre bits. Le troisième segment (colonne nO 2) est identique au précédent et porte donc le même numéro (adresse). Le quatrième segment (colonne nO 3) comporte deux points activés aux lignes 3 et 9, respectivement, et il est décrit à l'adresse 23 de la table des segments (figure 2), dont le contenu est 0208, selon un processus analogue à ce qui précède. Le segment suivant (colonne nO 4) est à nouveau identique aux colonnes n0 1 et nO 2 et porte donc à nouveau la même adresse (2). Le segment suivant (colonne n0 5) est identique à la colonne n" 3 et porte la même adresse : 23. Le segment suivant (colonne n" 6) est identique aux colonnes nO 1, 2 et 4 et porte la même adresse : 2. Le segment suivant (colonne n0 7) est identique à la colonne nO O et porte la même adresse: 94. Enfin, le dernier segment (colonne n" 8) ne comporte aucun point activé et porte l'adresse O; il est également représenté figure 2 et c' est une suite de zéros. Le caractère représenté figure 1 est donc décrit par la suite d'adresses 94-2-2-23-2-23-2-94-0. I1 apparaît ainsi que cette lettre peut être décrite dans la table des segments à l'aide de seulement 4 espaces mémoire différents alors que la lettre comporte neuf segments : il apparaît clairement sur cet exemple le gain sensible d'espace mémoire ainsi réalisé. Le procédé selon l'invention permet ainsi l'affichage d'un grand nombre de symboles variés (caractères latins de différents formats, caractères non latins, caractères numériques, autres symboles) en minimisant l'espace mémoire nécessaire. Par ailleurs, le procédé selon l'invention est souple. C'est ainsi notamment que les segments n'ont pas forcément la longueur d'une ligne ou d'une colonne ni même forcément tous la même longueur. La figure 3 représente un mode de réalisation du dispositif de mise en oeuvre du procédé selon l'invention. Sur cette figure, on a représenté un processeur l, qui peut être un microprocesseur affecté spécifiquement à la gestion d'une unité d'affichage 7, recevant des commandes extérieures (non représentées). Il est relié à un bus de données 2, par exemple un bus parallèle 8 bits ou 16 bits si le processeur 1 est un microprocesseur 8 ou 16 bits. Au bus 2 sont reliées : une mémoire de travail 3, typiquement une mémoire RAM ; une mémoire programme 4, typiquement une mémoire ROM (ou PROM ou analogue), contenant les instructions nécessaires à l'affichage commandé, et une mémoire table 5, également de préférence du type ROM, contenant la table décrite figure 2. Les mémoires 4 et 5 peuvent bien entendu être deux parties d'une même mémoire matérielle. Le dispositif d'affichage 7, visualisation du type plasma par exemple ou imprimante, est relié au bus 2 par l'intermédiaire d'un interface parallèle du type PIA. REVENDICATIONS 1. Procédé d'affichage de symboles, comportant les opérations suivantes: - description de chacun des symboles à afficher par une matrice de N x M points; - découpage de la matrice en segments; - affectation à chaque segment distinct d'un numéro de référence distinct, chaque caractère étant alors défini par une suite de numéros de référence; - stockage dans une table de chacun des segments différents à des adresses correspondant respectivement au numéro de référence qui leur sont affectés. 2. Procédé selon la revendication 1, caractérisé par le fait que tous les segments ont le même nombre de points. 3. Procédé selon l'une des revendications précédentes, caractérisé par le fait qu'un segment est constitué par une colonne de la matrice. 4. Dispositif de mise en oeuvre du procédé selon l'une des revendications précédentes, caractérisé par le fait qu'il comporte: - une mémoire table (5) contenant ladite table; - des moyens d'affichage (7); - des moyens de mémorisation (4, 3), contenant au moins un programme correspondant aux opérations à effectuer sur réception d'un ordre d'affichage, comportant les appels à ladite table; - un processeurs (1) gérant les éléments précédents.