Brevet FR2638264A1 — publié le 19900427

Le procédé de la présente invention concerne la technique de la modification d'échelle intelligente. Plus précisément, la présente invention concerne les procédés informatiques permettant de minimiser la dégradation visuelle des polices de caractères numérisés. Plus les ordinateurs sont devenus courants et abordables, plus le nombre de programmes informatiques disponibles a augmenté. Les programmes info:matiques disponibles sont très divers, et couvrent une très large variété d'applications. En outre, la population des utilisateurs, des programmeurs d'il y a dix ans, s'est élargie au personnel de bureau qui utilise l'ordinateur pour des tâches variées, notamment le traitement de texte et la comptabilité. On sait que, lorsque l'on veut représenter numériquement des formes analogiques continues, une certaine dégradation apparaît lorsque l'on passe d'une représentation continue (par exemple une police de caractères dessinée à la main par un calligraphe) à une représentation numérique discontinue. Les programmeurs et les ingénieurs, qui étaient les premiers utilisateurs des ordinateurs et ceux qui observaient les polices de caractères numérisés produit par les ordinateurs (généralement sur des tubes cathodiques et sur des imprimantes d'ordinateur) ne faisaient pas attention à l'apparence de la police de caractères, dès lors que les caractères étaient suffisamment lisibles. Mais aujourd'hui, non seulement ce ne sont plus les mêmes personnes qui observent les polices de caractères, mais ce sont également les exigences de lisibilité et de dégradation des polices de caractères qui ont évolué. Ainsi, pour l'automatisation de l'industrie typographique et de l'imprimerie, il est devenu extrêmement important de pouvoir restituer des caractères d'imprimerie numérisés lisibles, de même que pour les utilisateurs des traitements de texte qui ont besoin de polices de caractères lisibles, de qualité courrier. Pour d'autres informations sur les polices de caractères numérisés, on pourra se référer à l'article de Bigelow et Day intitulé Digital Typography, paru dans Scientific American d'août 1983, pages 106 à 119 et à l'ouvrage de Karow intitulé Digital Formats for Typefaces, paru chez URW Verlag en 1987. Généralement, pour créer une police de caractères numérisés, on dessine à la main la police de caractères, on la numérise et on l'introduit sous un format de police de caractères numérisés tel que le format IKARUS. Certains problèmes se posent du fait que les points de contrôle du caractère, qui définissent le contours du caractère, ne coïncident pas toujours avec les positions discontinues de grille correspondant à la résolution de l'afficheur numérique ou de l'imprimante. Il en résulte que les points de contrôle sont arrondis à la position de grille la plus proche et que des parties de caractères qui, à l'origine, avaient la même dimension (par exemple, les largeurs des parties verticales des capitales "I" et "J") ont maintenant des dimensions différentes. Ce procédé produit une dégradation visuelle de la police de caractères, car il n'est pas aisé pour le lecteur de visualiser et reconnaître les caractères lorsque les hauteurs et largeurs relatives des caractères ont été modifiées. Une autre dégradation de la police de caractères a lieu lorsque l'on augmente globalement la taille des caractères en multipliant les dimensions par un facteur donné, car les défauts de la police de caractères sont également multipliés par ce même facteur. Un autre problème tient au fait qu'il se peut que les épaisseurs ou les hauteurs des caractères ou parties de caractères soient approximativement les mêmes, mais ne soient pas exactement les mêmes. Plus on diminue l'échelle de la police de caractères, plus la probabilité de distorsions dues aux faibles différences de hauteur ou largeur augmente. Si, par exemple, les hauteurs des caractères sont exactement les mêmes, il en sera de même pour une version de chacun des caractères à une échelle différente. En revanche, si les hauteurs diffèrent d'une faible valeur et que l'on a un afficheur à faible résolution, la hauteur d'un caractère pourra être arrondie pour l'aligner sur un pixel, et la hauteur d'un autre caractère pourra être arrondie pour l'aligner sur un autre pixel, même si la différence d'origine de hauteur était inférieure à un quart de pixel par exemple. Dans les cas de caractères à petite échelle (faible résolution) semblables à l'exemple ci-dessus, il est souhaitable de pouvoir arrondir les hauteurs du caractère de manière à les aligner sur le même pixel, afin de maintenir la symétrie et les proportions d'origine. Sinon, la police de caractères perd sa symétrie et ses proportions d'origine entre caractères différents de la police et entre parties d'un même caractère, ce qui produit ici encore une dégradation visuelle de la police de caractères. Pour résoudre ces problèmes, on emploie des techniciens expérimentés qui corrigent manuellement tous les défauts de la police en corrigeant chaque caractère et en modifiant celles des parties du caractère qui, du point de vue du technicien, pourraient augmenter la visibilité. Cependant, cette manière de faire est longue et coûteuse. Les deux paramètres principaux que l'on doit considérer lorsque l'on modifie pour affichage l'échelle d'une police de caractères numérisés sont: 1 les différentes tailles de fonte, par exemple 9 points, 10 points ou 12 points et 2 les différentes résolutions d'afficheur ou de périphérique de sortie. Pour chaque police, on doit exécuter manuellement le processus pour chaque échelle possible égale au produit de la résolution par la taille de fonte. En outre, la qualité du travail dépend de l'expérience du technicien. On a essayé d'introduire des processus informatisés pour assister le processus manuel. Il existe par exemple des systèmes qui affichent le caractère et qui donnent au technicien expérimenté un moyen de visualisation et de modification du caractère sur l'afficheur. Cependant, le processus d'ajustement, le choix de ce que l'on doit ajuster et le degré d'ajustement dépendent toujours du technicien expérimenté. Le US-A-4 675 830 décrit un procédé pour produire des données de modification d'échelle dans lequel on conserve les dimensions relatives des caractères. Cependant, le processus décrit nécessite non seulement l'introduction des données qui décrivent la police de caractères, mais également d'informations de contrôle telles que des points-clefs de la police de caractères qui sont alignés sur les points de la grille et des dimensions qui doivent exister entre points de la grille. Ces données supplémentaires à introduire doivent être déterminées manuellement par un technicien expérimenté qui élaborera les informations de contrôle par exalen visuel de la police de caractères. L'un des buts de la présente invention est de minimiser la dégradation visuelle d'une police de caractères numérisés. Un autre but de la présente invention est de proposer un procédé automatique permettant d'accroître la visibilité d'une police de caractères numérisés. Un autre but de la présente invention est de conserver la symétrie visuelle et les proportions entre caractères de la police. Un autre but de la présente invention est de proposer un procédé intelligent de modification d'échelle. Un autre but de la présente invention est de proposer un processus permettant d'établir une classification des composantes visuelles qui constituent les caractères de la police. Un autre but de la présente invention est de proposer un processus permettant de déterminer la priorité des composantes visuelles de la police de caractères, processus dans lequel les composantes de priorité supérieure sont alignées sur les positions de grille et dans lequel l'alignement des composantes de moindre priorité est fonction de l'alignement des composantes de priorité supérieure. Grâce au procédé de la présente invention, on minimise la dégradation visuelle des polices de caractères numérisés sans que les techniciens expérimentés aient à introduire manuellement de données supplémentaires. La présente invention propose des procédés qui, très avantageusement, sont utilisés par un ordinateur pour minimiser la dégradation visuelle qui apparaît lorsque l'on prépare des polices de caractères numérisés et que l'on en modifie l'échelle. Dans le procédé et dans le dispositif de la présente invention, les ébauches que l'on utilise pour décrire chaque caractère sont modifiées en fonction d'un jeu de règles prédéterminées qui permettent d'analyser et de déterminer les composantes visuelles qui constituent chaque caractère, ainsi que la priorité selon laquelle on alignera les composantes sur les points de grille et par rapport aux composantes déjà alignées. Les points de contrôle qui, dans un format de police de caractères numérisés, sont utilisés pour définir le caractère, sont analysés pour déterminer l'ébauche d'un caractère. L'ébauche est une forme simplifiée du caractère qui possède les propriétés ou composantes visuelles importantes du caractère et que l'on préserver. L'ébauche est analysée dans le sens horizontal et dans le sens vertical pour déterminer l'ordre d'importance des coordonnées qui définissent le contours de l'ébauche. Les coordonnés importantes, que l'on appelera "coordonnées maîtresses" font alors l'objet d'une analyse complémentaire pour déterminer les segments maîtres correspondants. Ces segments sont alors analysés pour déterminer les couples de segments qui formeront les différents traits constituant le caractère. Ces traits sont répertoriés et classés par ordre de priorité. A partir des composantes visuelles que l'on a déterminé par l'analyse du caractère, on ajuste les coordonnées de l'ébauche en commençant par la composante de plus forte priorité, c'est-à-dire le trait de plus forte priorité, en fonction de certaines règles qui dépendent du point de savoir si les traits que l'on a formé sont orientés dans le sens horizontal ou dans le sens vertical. Les composantes de moindre priorité, tels que les traits de plus faible priorité, les coordonnées maîtresses qui ne font pas partie d'un trait et les coordonnés d'ébauche qui ne sont pas définies comme étant des coordonnées maltresses, sont alors modifiées ou alignées en fonction des composantes précédemment alignées. Le résultat de l'application des règles d'ajustement et des priorités est que l'on préserve les composantes visuelles importantes de chaque caractère ainsi que les rapports entre composantes visuelles de chaque caractère et entre composantes visuelles des différents caractères de la police, minimisant ainsi la dégradation visuelle de la police de caractères. On va maintenant donner une description détaillée de l'invention, en référence aux dessins annexés. La figure 1 illustre un ordinateur mettant en oeuvre la présente invention. La figure 2a illustre les points de contrôle utilisés pour décrire numériquement le caractère. La figure 2b illustre la convention de contour utilisée dans la description du procédé de la présente invention. La figure 3 est un organigramme illustrant, de façon générale, le processus de la présente invention. La figure 4a est une illustration d'un caractère et de son ébauche correspondante. La figure 4b est un organigramme illustrant un procédé permettant de déterminer l'ébauche du caractère. La figure 5 illustre la lettre "e" avec ses points de contrôle. La figure 6 illustre l'ébauche formée à partir de la lettre "e" illustrée figure 5. Les figures 7a, 7b et 7c illustrent les relations géométriques entre points de contrôle et points d'ébauche. La figure 8 est un organigramme décrivant brièvement le processus d'analyse de la présente invention. La figure 9a est un organigramme décrivant le processus de détermination des composantes visuelles par rapport aux coordonnées X, jusqu'à la composante visuelle de plus forte priorité, appelée artère principale X. La figure 9b est un organigramme décrivant le processus de détermination des composantes visuelles par rapport aux coordonnées Y, jusqu'à la composante visuelle de plus forte priorité, appelée artère principale Y. La figure 10a illustre les segments maîtres X et les traits X. La figure 10b illustre les segments maîtres Y et les traits Y. Les figures lla et llb sont des organigrammes décrivant le processus à divergence limitée de la présente invention. La figure 12 est un organigramme décrivant le processus d'ajustement horizontal de la présente invention. La figure 13a illustre le processus d'ajustement relatif de la présente invention. La figure 13b illustre le procédé d'ajustement des coordonnés esclaves. La figure 14 est une illustration d'un extremum local. La figure 15 est un organigramme illustrant le processus de détermination des groupes en ce qui concerne le processus d'ajustement d'alignement Y des coordonnées Y. La figure 16 est un organigramme décrivant le processus d'ajustement d'alignement Y de la présente invention. La figure 17a et 17b sont des organigrammes décrivant le processus d'ajustement vertical de la présente invention. La figure 18 illustre le positionnement des grappes et des traits utilisés pour décrire le processus d'ajustement vertical de la présente invention. La figure 19 est un organigramme décrivant le processus d'ajustement diagonal de la présente invention. La figure 20 illustre l'ajustement d'un trait diagonal du caractère "N". Les figures 21a et 21b illustrent l'ajustement selon la présente invention de points d'ébauche de traits diagonaux. Les descriptions détaillées qui vont suivre sont principalement présentées sous forme d'algorithmes et de représentations symboliques d'opérations effectuées sur des bits de données dans une mémoire d'ordinateur. Ces descriptions et représentations algorithmiques sont les moyens utilisés par les spécialistes des techniques informatiques pour présenter de la manière la plus efficace le résultat de leur travail à d'autres spécialistes de cette technique. Dans le cas présent comme dans le cas général, un algorithme est conçu en tant que séquence autonome d'étapes conduisant à un résultat souhaité. Ces étapcs sont celles qui nécessitent des manipulations physiques de quantités physiques. Généralement, bien que cela ne soit pas nécessaire, ces quantités prennent la forme de signaux électriques ou magnétiques pouvant être conservés, transférés, combinés, comparés ou soumis à d'autres manipulations. Il s'avère souvent commode, généralement parce que cette manière est la plus courante, de désigner ces signaux par les termes de "bits", "valeurs", "éléments", "symboles", "caractères", "termes", "nombres", etc. On devra cependant garder à l'esprit que tous ces termes et les termes semblables doivent être associés aux quantités physiques appropriées et ne sont que des dénominations commodes appliquées à ces quantités. En outre, les manipulations que l'on exécute sont souvent désignées par des termes, tels que "addition" ou "comparaison", que l'on associe généralement à des opérations mentales effectuées par un individu. Dans la plupart des cas, il n'est cependant ni nécessaire ni souhaitable de faire intervenir un opérateur humain pour les opérations ici décrites et qui font partie de la présente invention, ces opérations étant des opérations effectuées par une machine. Les ordinateurs universels ou autres appareils semblables sont des machines qui permettent d'exécuter commodément les opérations prévues par la présente invention. Dans tous les cas, on devra garder à l'esprit la distinction entre les opérations du procédé qui servent à faire fonctionner l'ordinateur et le procédé de calcul proprement dit. La présente invention concerne des étapes de procédé qui permettent de faire fonctionner un ordinateur traitant des signaux électriques ou autres (par exemple, mécaniques ou chimiques) pour produire d'autres signaux physiques requis. La présente invention concerne également un dispositif permettant d'exécuter ces opérations. Ce dispositif peut être spécialement conçu pour l'occasion, ou bien peut comprendre un ordinateur universel activé sélectivement ou reconfiguré par un programme qui s'y trouve mémorisé. Les algorithmes que l'on va présenter ici ne sont pas propres à un ordinateur ou autre appareil particulier. On peut notamment utiliser diverses machines universelles avec des programmes écrits d'après les enseignements que l'on va donner ici, ou encore il peut s'avérer plus commode de réaliser un appareil plus spécialisé pour exécuter les étapes de procédés requises. La structure nécessaire pour ces diverses machines ressortira de la description donnée ci-dessous. La description qui va suivre sera divisée en plusieurs chapitres. Le premier d'entre eux décrira la configuration générale d'un système susceptible d'exécuter le processus permettant de minimiser la dégradation visuelle des polices de caractères numérisés. Les chapitres suivants concerneront certains aspects de la présente invention, tels que l'analyse des données de la police de caractères afin de déterminer les composantes visuelles importantes de chaque caractère de la police et la priorité d'ajustement des composantes visuelles, ainsi que l'ajustement des caractères en direction horizontale, verticale et diagonale. Par ailleurs, dans la description qui va suivre on donnera de nombreux détails particuliers tels que des conventions algorithmiques, des conventions de définition des caractères, des nombres de bits spécifiques, etc. afin de permettre une compréhension complète de la présente invention. Le spécialiste de la technique comprendra cependant que la présente invention peut être mise en oeuvre sans ces détails particuliers. Inversement, des circuits et structures bien connus n'ont pas été décrits en détail pour ne pas alourdir inutilement la description de la présente invention. Configuration générale du système La figure 1 montre un système informatique typique permettant d'accroître, selon la présente invention, la visibilité d'une police de caractères numérisés. On y a représenté un ordinateur 1 qui comprend trois éléments essentiels. Le premier de ces éléments est le circuit d'entrée/sortie 2, qui est utilisé pour la communication d'informations, structurées sous une forme appropriée, en direction et en provenance d'autres parties de l'ordinateur 1. On a représenté également comme faisant partie de l'ordinateur 1 l'unité centrale de traitement 3 et la mémoire 4. Ces deux derniers éléments sont ceux que l'on trouve généralement dans la plupart des ordinateurs universels et dans pratiquement tous les ordinateurs spécialisés. En fait, on a voulu représenter par les divers éléments compris dans l'ordinateur 1 les processeurs de données de la catégorie la plus large. Les machines fabriquées par Sun Microsystems (Mountain View, Californie, USA) sont des exemples de processeurs de données appropriés pouvant tenir le rôle de l'ordinateur 1. D'autres ordinateurs de caractéristiques équivalentes peuvent bien entendu être adaptés aisément afin d'exécuter les fonctions que l'on décrira plus bas. On a également représenté sur la figure 1 un périphérique d'entrée 5, qui, dans un mode de réalisation caractéris- tique, est un clavier. On comprendra cependant que le périphérique d'entrée peut être en fait un lecteur de cartes, un lecteur de bande magnétique ou de bande perforée,ou tout autre périphérique d'entrée de type connu (y compris, bien entendu, un autre ordinateur). Un périphérique 6 servant de mémoire de masse est relié au circuit d'entrée/sortie 2, et offre à l'ordinateur 1 des possibilités de mémorisation supplémentaires. La mémoire de masse peut contenir d'autres programmes ou informations analogues, et peut être constituée d'un lecteur de bande magnétique ou de bande perforée ou d'un autre périphérique bien connu. On notera que les données conservées dans la mémoire de masse 6 peuvent, en cas de besoin, être incluses de manière classique dans l'ordinateur 1, dans la mémoire 4. On a illustré en outre un moniteur d'affichage 7, qui est utilisé pour afficher des messages à l'utilisateur ou pour communiquer avec lui de toute autre façon. Un tel moniteur d'affichage peut être constitué d'un afficheur à tube cathodique quelconque choisi parmi les divers appareils bien connus qui existent. De préférence, le moniteur d'affichage 7 peut également afficher les images graphiques, à savoir les caractères, produites d'après le processus de la présente invention à partir des données de police de caractères numérisés. On utilise une commande de 'curseur 8 pour sélectionner des modes d'ordres de fonctionnement et modifier les données en entrée, par exemple l'échelle de la police de caractères, cette commande étant également utilisée pour introduire plus commodément des informations dans le système. Aperçu général du processus Si l'on se réfère à la figure 2a, on y a représenté divers caractères en capitales ou de bas de casse d'une police de caractères. Sur la figure 2a, on a illustré un "o" et un "f" de bas de casse et un "N" et un "G" en capitales. Un ensemble de points, par exemple les points 10, 15, 20 et , sont associés à chacun des caractères et constituent les points de contrôle du caractère. Les points de contrôle sont fonction du format numérique utilisé pour décrire les caractères. Dans cet exemple, on a décrit les caractères et les points de contrôle représentent un format de contour comprenant des segments de droite et des arcs de coniques et de courbes de Bézier. Les segments de droite sont décrits par deux points de contrôle, les arcs de coniques sont décrits par trois points de contrôle et les arcs de courbe de Bézier sont décrits par quatre points de contrôle. Par exemple, sur la figure 2a les points de contrôle 10, 15 et décrivent entre les points 15 et 25 un arc de conique dont le rayon de courbure est déterminé par le point 10. Il existe de nombreux autres formats que l'on peut utiliser pour définir des polices de caractères numérisés, par exemple le format IKARUS, le format DI, le format VC et le format VS. On utilisera cependant, dans la description de la présente invention, le format décrit plus haut. Dans toute la description du processus, les caractères sont représentés et décrits selon une convention unique. Le processus n'est cependant pas limité à l'utilisation d'une convention unique, et peut être aisément appliqué à d'autres conventions. Dans la convention cidessous, le caractère est formé d'un ou plusieurs contours défissant chacun une frontière entre le "blanc" et le "noir". Chaque contour est formé d'un point de départ suivi d'une série d'arcs. Chaque arc est défini par un type de courbe et au moins deux points de contrôle. En raison de la continuité du contour, le premier point de chaque arc correspond, implicitement, au dernier point de l'arc précédent. Le dernier point du dernier arc doit coïncider avec le point de départ. Les contours sont définis en relation avec un système de coordonnées tel que: (1 ) lorsque le caractère est vu dans la position normale de lecture, l'axe X soit dirigé dans le sens suivant lesquels les caractères se succèdent, par exemple vers la droite pour un alphabet romain et vers le bas pour un alphabet chinois, (2 ) l'axe Y soit tourné par rapport à l'axe X de 90 dans le sens contraire des aiguilles d'une montre et (3 ) la direction du contour soit dans le sens des aiguilles d'une montre si la région entourée est noire et dans le sens contraire des aiguilles d'une montre dans le cas contraire. Aucun arc ne présente de point d'inflexion ou d'extremum, à l'exception des points d'extrémité de l'arc. On remarquera qu'un arc qui présenterait un point d'inflexion ou un extremum et qui ne se trouverait pas à l'un des points d'extrémité pourrait, à l'endroit du point d'inflexion ou de l'extremum, être subdivisé en deux arcs de telle sorte que l'inflexion ou l'extremum apparaisse au point d'extrémité des arcs nouvellement créés. Pour mieux comprendre cette convention, on a donné en exemple la lettre "e". Si l'on se réfère & la figure 2b, le contour extérieur du caractère est orienté dans le sens des aiguilles d'une montre, indiquant que le contour extérieur enferme une région noire. Le contour intérieur enferme une région blanche, et ce contour est donc orienté dans le sens contraire des aiguilles d'une montre. La description des types de courbes (à savoir segment de droite, arc de conique ou arc de Bézier) reste invariante pendant le processus d'ajustement, seuls les points de contrôle changeant. Le caractère ajusté est alors celui qui est défini par la même description de type de courbe, contrôlée par les points de contrôle ajustés. Dans la description, on se référera à la résolution, à la taille de fonte et à l'échelle du périphérique d'affichage. La résolution du périphérique d'affichage est décrite en terme de pixels, quantité d'affichage bien connue en infographie. La résolution peut être exprimée sous forme du nombre total de pixels dans le sens horizontal et dans le sens vertical (par exemple 1024 pixels x 1024 pixels) de l'affichage, ou en nombre de pixels par pouce ou par centimètre. La taille de fonte est exprimée en une unité appelée "point", unité bien connue en typographie. Si une taille de fonte est de dix points, la somme de la distance entre le sommet du plus grand caractère de la fonte (par exemple, la lettre "A"), appelée "distance ascendante", et de la distance jusqu'au bas du caractère le plus bas de la fonte (par exemple, la lettre "g"), appelée "distance descendante", a une longueur de dix points. Un point vaut 1/72e de pouce, soit environ 0,35 mm. Le facteur d'échelle est égal au produit de la résolution par la taille de fonte; par exemple, si la taille de fonte est de 6 points et que la résolution est de 144 pixels au pouce (environ 2/3 pixels au millimètre), le facteur d'échelle est de: 6 points x 144 pixels/pouce = 12 pixels (72 points/pouce) Sur la figure 3, on a décrit brièvement le processus de la présente invention. Au bloc 50, on introduit dans le système les données d'entrée, constituées des points de contrôle de chacun des caractères de la police. Au bloc 55, le système analyse cette information et détermine l'ébauche du caractère d'après les points des contrôle introduits. Au bloc 60, les coordonnées qui définissent l'ébauche sont analysées pour déterminer les composantes visuelles importantes de chacun des caractères de la police et la priorité ou ordre d'importance que ces composantes doivent recevoir pour minimiser la dégradation visuelle de la police de caractères. Au bloc 65, à partir des ébauches des caractères et de l'analyse des composantes visuelles importantes on ajuste les caractères de la police par un procédé de modification d'échelle intelligent et novateur qui permet de produire des ébauches ajustées en fonction du facteur d'échelle voulu. Le processus préserve les caracté- ristiques visuelles importantes de la police de caractères, en particulierl'homogénéité des épaisseurs des traits, l'alignement horizontal des caractères (c'est-à-dire l'ali- gnement des coordonnées Y des caractères), la proportion du blanc à l'intérieur d'un caractère ainsi que la largeur totale des caractères. Au bloc 70, on ajuste les points de contrôle d'origine de chacun des caractères pour les faire correspondre aux ébauches ajustées. Les points de contrôle ajustés sont utilisés pour contrôler la description des types de courbes afin de produire des caractères dans lesquels on aura minimisé la dégradation visuelle de la police de caractères. Analyse des caractères de la police de caractères La première étape du processus consiste à déterminer l'ébauche de chaque caractère. La détermination de l'ébauche consiste à simplifier chacun des caractères en une série de points isolés qui pourront être analysés et modifiés pour ajuster le caractère. Une ébauche est un ensemble de polygones, un polygone correspondant à chacun des contours du caractère. Ces polygones, bien qu'ils conservent les propriétés visuelles fondamentales du caractère, sont plus simples que le caractère original. L'ébauche comporte une série de segments de droite qui suivent la forme du caractère de telle sorte que l'on ait un segment de droite pour chaque tangente horizontale, pour chaque tangente verticale, pour chaque segment rectiligne, pour chaque tangente en un point d'inflexion et pour chacune des tangentes à l'endroit d'une discontinuité de pente. Pour le caractère illustré figure 4a, on forme l'ébauche en reliant les tangentes horizontales 71, les tangentes verticales 72, les tangentes 73 aux points d'inflexion, les segments de droite 74 du caractère et les tangentes aux discontinuités de pente 75. De préférence, on utilise le processus illustré figure 4b pour construire l'ébauche d'un caractère. Au bloc 76, on construit un polygone en reliant les points de contrôle du caractère suivant l'ordre selon lequel ils sont ordonnés (en fonction de la direction de l'ébauche). Au bloc 80, on affecte & chaque point de contrôle la propriété "conservé" ("c") ou "non conservé" ("n"). Initialement, les points de contrôle qui correspondent aux point d'extrémité de l'arc sont conservés et les autres points sont considérés comme non conservés. Les points conservés sont ceux des points que l'on identifiera plus tard comme constituant les points de l'ébauche. On simplifie alors le polygone en un polygone d'ordre inférieur en éliminant ceux des points de contrôle qui ne sont pas nécessaires au maintien des propriétés visuelles fondamentales du caractère. Dans une suite de côtés de polygone de la forme (qui, typiquement, correspond à un arc de courbe de Bézier), on supprime le côté central, c'est-à-dire le côté se trouvant entre les points non conservés, et l'on prolonge les côtés se trouvant de part et d'autre jusqu'à ce qu'ils forment une intersection. Le nouveau point que l'on aura à l'intersection des deux côtés sera considéré comme "non conservé". Au bloc 87, dans une série de points alignés on élimine tous les points à l'exception des deux points extrêmes. Si la séquence contenait au moins deux points conservés, ou si l'un de ces points est un point d'inflexion, on considèrera comme "conservés" les autres points, les deux points extrêmes. Au bloc 90, pour une séquence de points , tous les côtés se trouvant entre des points consécutifs sont éliminés, et les côtés se trouvant aux extrémités de la suite bornée par les points et sont prolongés en direction l'un de l'autre jusqu'à former une intersection. Le point d'intersection sera considéré comme "conservé". Les points restant après achèvement du processus ci-dessus sont les points d'ébauche, qui définissent l'ébauche du caractère. La figure 5 montre la lettre "e" identifiée par ses points de contrôle. La figure 6 montre l'ébauche du caractère. Il est évident que, bien que le caractère soit plus ou moins simplifié, les bords étant par exemple rendus carrés et le caractère étant tracé sous forme de segments de droite, on a néammoins conservé les caractéristiques visuelles importantes. En particulier, l'épaisseur relative de certains points du caractère par rapport à d'autres parties du caractère, la hauteur et la largeur du caractère et les angles relatifs des diverses parties du caractère sont des caractéristiques visuelles importantes que l'on a préservé. L'ébauche donne une représentation simplifiée du caractère, qui permet d'exécuter sur celui-ci les opérations ultérieures d'analyse et d'ajustement. Une fois que l'ébauche a été ajustée, les valeurs ajustées des points de contrôle du caractère, qui avaient éliminées lors de la formation de l'ébauche, peuvent être calculées à partir des relations géométriques connues entre les valeurs d'origine de l'ébauche et les points de contrôle. Par exemple, la figure 7 illustre les trois situations apparaissant au cours du déroulement du processus décrit ci-dessus de formation de l'ébauche, dans lequel on élimine les points de contrôle. La figure 7a illustre une représen- tation sous forme de polygone d'un arc de courbe de Bézier. L'arc en trois segments est identifié par les points U-M-N-V. Le point de contrôle U et le point de contrôle V sont les points d'extrémité de l'arc. Lors du processus de formation de l'ébauche, les points de contrôle M et N ont été éliminés et les segments de droite représentés par les points de contrôle U-N et V-N ont été prolongés jusqu'à former une intersection au point O, simplifiant ainsi le polygone en deux segments U-O et O-V. Par des transfor- mations linéaires, on peut calculer la valeur ajustée du point de contrôle M par l'équation suivante: M' = U'.tm + O' (1-tm), tm _ _- lU-OI M' étant la valeur ajustée de M, O' étant la valeur ajustée de O et U' étant la valeur ajustée de U. De la même façon, on ajuste N par l'équation suivante: IN-I N' = V'.tn + 5'(1-tn), tn = IV-OI R' étant la valeur ajustée de N, é' étant la valeur ajustée de V et 5' étant la valeur ajustée de O. De la même façon, la figure 7b illustre une série de points de contrôle alignés U-N-V o le point de contrôle M a été éliminé lors du processus de formation de l'ébauche. La valeur ajustée de M peut être calculée par l'équation suivante: IM-1I M' = V'.tm + u' (1-tm), tm= M' étant la valeur ajustée du point de contrôle M, U' étant la valeur ajustée de U et V' étant la valeur ajustée vf. La figure 7c illustre une suite de points o les points de contrôle M, N, P et Q se trouvant entre les points d'extrémité U et V ont été éliminés et remplacés par un point de contrôle unique, référencé O, qui a été obtenu en prolongeant les segments U-M et V-Q. Les valeurs ajustées des points de contrôle éliminés peuvent être calculées au moyen de transformations linéaires. Par exemple, la valeur ajustée du point de contrôle M peut être calculée d'après l'équation suivante: _V'x-O'x Voy-O'y M' = [M'x M'y] = [Mu My] x U'x-O'x U'y-O'y O'x O'y Mu et Mv identifiant la position du point de contrôle par rapport aux points de contrôle U et V, V'x et V'y étant, respectivement, les valeurs de coordonnées X et Y ajustées de V, U'x et U'y étant, respectivement, les valeurs de coordonnées X et Y ajustées de U et O'x et O'y étant, respectivement, les valeurs de coordonnées X et Y ajustées de O, Les points de contrôle N, P et Q peuvent être, de la même façon, calculés en substituant par les valeurs de M dans l'équation ci-dessus les valeurs de coordonnées du point de contrôle. Le processus original d'ajustement selon la présente invention est ensuite appliqué aux points de l'ébauche pour ajuster les caractères et pour s'assurer que, pour tout facteur d'échelle donné, on conservera les hauteurs et les largeurs relatives du caractère et les rapports visuels perçus par l'utilisateur. On exécute sur chaque ébauche une analyse pour encore les caractères en déterminant les caractéristiques visuelles Importantes à préserver et pour fractionner l'ébauche en une pluralité de composantes visuelles auxquelles on affecte des ordres de priorité. Les composantes visuelles déterminées sont ensuite ajustées en fonction de leur priorité de manière à minimiser la dégradation visuelle de la police de caractères. Le processus de détermination des caractéristiques visuelles importantes de chaque caractère est décrit brièvement dans l'organigramme de la figure 8. Les ébauches des caractères sont analysées séparément dans le sens vertical et dans le sens horizontal afin de déterminer, lors du processus d'ajustement qui suivra, les composantes visuelles importantes et leur ordre de priorité ou rang d'importance. Au bloc 100, on commence par examiner les points de l'ébauche pour déterminer les coordonnées maîtresses X. Une coordonnée maîtresse X est définie comme étant l'une des coordonnées X des points de l'ébauche qui sont importantes pour la présentation visuelle du caractère. Une fois que l'on a déterminé les coordonnés maîtresses X on forme, au bloc 105, les segments maîtres X. Ces segments sont formés dans le sens vertical à partir des coordonnées maîtresses X. Au bloc 110, on forme les traits X en appariant des segments maîtres X. Au bloc 115, on détermine l'artère principale X, formée par les éléments visuels les plus importants du caractère en ce qui concerne les coordonnées X. On analyse de la même façon les coordonnées Y. Au bloc , on détermine les coordonnées maîtresses Y. A partir des coordonnées maîtresses Y, on forme au bloc 125 les segments maîtres Y, on forme au bloc 130 les traits Y et on détermine au bloc 135 l'artère principale Y. Une fois l'analyse achevée, on détermine les composantes visuelles importantes des caractères, c'est-à-dire les points maîtres, les segments maîtres, les traits et l'artère principale. La priorité des composantes correspond à l'ordre dans lequel ces composantes ont été déterminées, l'artère principale ayant la priorité la plus élevée et les points esclaves, c'est- à-dire ceux des points de l'ébauche qui ne sont pas des points maîtres, ayant la priorité la plus faible. On va maintenant décrire en détail l'analyse de l'ébauche permettant de déterminer les composantes visuelles importantes. Comme indiqué plus haut, on commence par déterminer les coordonnées maîtresses X. Au bloc 300 de la figure 9a, on considère qu'il y a coordonnée maîtresse X à chaque coordonnée X d'un point de l'ébauche qui est un extremum X ou un extremum local X. Par exemple, dans le caractères "F", il existe des extrema X à l'extrême droite et à l'extrême gauche de la barre horizontale supérieure, et un extremum local X à l'extrême droite de la ligne horizontale inférieure. L'extrémité droite de la ligne horizontale inférieure est un extremum local car la ligne ne s'étend pas aussi à droite que la ligne supérieure mais, dans cette région localisée du caractère, c'est elle qui s'étend le plus à droite.-Les extrema forment les limites ou bords du caractère et constituent une caractéristique visuelle importante car ce sont eux qui imposent la hauteur ou la largeur d'un caractère ou d'une partie de caractère. Au bloc 310, on considère également qu'il y a coordonnée maîtresse en une coordonnée d'un point de l'ébauche si ce point d'ébauche est un point d'extrémité d'une ligne verticale ou quasi-verticale de l'ébauche. Une ligne quasi-verticale est une ligne qui, visuellement, peut être perçue comme étant verticale. De préférence, une ligne quasi-verticale a une pente minimale comprise entre 1:5 et 1:20. Celles des coordonnées qui ne sont pas des coordonnées maîtresses X sont considérées comme étant des coordonnées esclaves X, et sont les composantes visuelles du caractère de plus faible priorité. Au bloc 315, on forme ensuite les segments maîtres X à partir des coordonnées maîtresses X. Un segment maître X est formé en partant de chaque coordonnée maître X et en se déplaçant verticalement vers le haut ou vers le bas. Chaque extrémité du segment s'éloigne du point de l'ébauche correspondant au point de coordonnée maîtresse X jusqu'à ce que chaque extrémité du segment soit à une distance horizontale prédéterminée du côté de l'ébauche qui s'étend, dans le sens des aiguilles d'une montre, depuis le point de coordonnée maître, si le point d'extrémité du segment maître est dirigé vers le haut, ou bien le côté de l'ébauche qui s'étend depuis le point maître X dans le sens contraire des aiguilles d'une montre, si le point d'extrémité du segment maître est dirigé vers le bas. Cette distance prédéterminée est d'environ la moitié de la taille maximale, exprimée en pixels, qui sera utilisée pour produire la police de caractères numérisés. En pratique, le nombre minimal de pixels par unité, défini par la somme des hauteurs ascendantes et des hauteurs descendantes d'une police, est d'environ 10. De la sorte, la distance prédéterminée est de préférence comprise entre 0,01 et 0,02 fois la distance définie par la somme des hauteurs ascendantes et descendantes. Ces segments représentent une simplification supplémentaire des caractéristiques visuelles importantes du caractère. Comme indiqué au bloc 320, on apparie les segments maltres X en fonction de certaines règles afin de former les traits. En typographie, on appelle "trait" la forme produite par une plume ou un pinceau lorsque l'on déplace cette plume ou ce pinceau suivant une trajectoire rectiligne ou légèrement incurvée. Dans le système de la présente invention, les traits représentent les éléments visuels primaires du caractère et sont les éléments qui sont les plus importants dans le processus d'ajustement. On considère qu'il y a un trait X lorsque deux segments se recouvrent verticalement l'un l'autre sur une distance suffisante pour définir visuellement un trait. Le sens du segment est utilisé pour décrire le contour du segment, et il correspond à la convention utilisée. Les segments représentant une partie d'arc de courbe d'un caractère héritent des propriétés de l'arc de courbe, de sorte que les segments représentant une partie de la courbe héritent de la nature "intérieure" ou "extérieure" de cette partie de courbe. Conformément à la convention de contour décrite plus haut, un segment X est de nature "intérieure" s'il est orienté dans le sens positif ou vers le haut, et de nature "extérieure" s'il est orienté dans le sens négatif ou vers le bas. En outre, on examine les segments maîtres X dans l'ordre des coordonnées croissantes, c'est-à-dire que l'on examine les segments de la gauche, o se trouvent les coordonnées les plus faibles, vers la droite, o se trouve les coordonnées les plus élevées. Deux segments seront ainsi en opposition si le premier trait examiné est de nature "intérieure" et le second trait de nature "extérieure". Les segments intérieur/extérieur doivent se chevaucher verticalement l'un l'autre sur une distance telle que la combinaison de deux segments forme un trait visuellement reconnaissable. Il est préférable de déterminer l'existence d'un trait en fonction du rapport de la distance sur laquelle les segments se recouvrent verticalement & la distance entre segments. Si un rapport de trait est supérieur à 1:1, on considère que l'on a un trait et s'il est inférieur ou égal à 1:1, les segments ne forment pas un trait. Les segments se recouvrent verticalement si la valeur minimale de coordonnée Y de chaque segment est inférieure à la valeur de coordonnée maximale Y du segment qui lui fait face. Le degré de recouvrement est égal à la valeur maximale Y la plus faible des deux segments, moins la valeur minimale Y la plus élevée des deux segments. On va expliquer de façon illustrée la manière dont on apparie les segments maîtres X pour former des traits maîtres X. Sur la figure 10a, on a illustré six segments, situés aux coordonnées X référencées Xl à X6. Pour déterminer ceux des segments maîtres X qui forment des traits, on examine les segments maîtres X de la gauche vers la droite en essayant d'apparier les segments qui se font face. On examine ainsi le segment maître X1 par rapport au segment maître X2.- Le segment maître en X1 est de nature "intérieure" et le segment maître en X2 est de nature "extérieure". Les segments sont donc en opposition. On examine ensuite ces segments pour déterminer si les segments se recouvrent verticalement. Les segments se recouvrent effectivement dans le sens vertical car la valeur de coordonnée minimale Y du segment X1, qui est Y3, est inférieure à la valeur de coordonnée Y maximale du segment opposé X2, qui est Y6, et la valeur de coordonnée Y minimale du segment X2, qui est Y3, est inférieure à la valeur de coordonnée Y maximale du segment opposé X1, qui est Y7. Le degré de recouvrement vertical vaut: MIN(Y7,Y6) - MAX(Y3,Y3) (Y6-Y3) MAX et MIN étant des fonctions qui, respectivement, donnent le maximum et le minimum des valeurs. On peut constater visuellement que le rapport entre le recouvrement vertical et la distance entre segments est supérieure à 1:1; les segments en Xl et X2 forment donc un trait. Les segments en X3 et X4 ne forment pas un trait car les segments ne répondent pas à la condition d'opposition des segments puisque le premier segment examiné, qui est le segment gauche, est de nature "intérieure" et le second segment, qui est le segment gauche, est de nature "extérieure". De la même façon, les segments en X4 et X5 ne forment pas un trait car les segments ne sont pas de natures contraires et ne sont donc pas en opposition. Le dernier couple de segments analysés, X5 et X6, ne forme pas un trait car le degré de recouvrement vertical est si faible que le rapport de trait est inférieur à 1:1. Au bloc 330 de la figure 9a, on construit l'artère principale X. L'artère principale X comprend les traits X forts qui ne se recouvrent pas horizontalement. On classe les traits en traits forts en traits faibles. Un trait fort sera évalué avant un trait faible et aura une priorité supérieure à celui-ci lors du processus d'ajustement, car il a un impact visuel plus grand sur l'observateur, qui discerne mieux celui-ci. De préférence, un trait est un trait fort si le rapport de trait est inférieur ou égal à 1,5:1. Si le rapport de trait est inférieur à 1,5:1, le trait est classé parmi les traits faibles. On évalue les traits par ordre de longueur de telle sorte que, si deux traits se recouvrent horizontalement, le trait le plus long soit sur l'artère principale X. L'artère principale X est une représentation des éléments visuels les plus importants du caractère en ce qui concerne les coordonnées X, de sorte que les traits se trouvant sur l'artère principale seront les premiers éléments que l'on ajustera dans le sens horizontal pour minimiser la dégradation visuelle de la police de caractères numérisés. Si l'on se réfère à l'exemple illustré figure 10a, le trait formé par les segments se trouvant en Xl et en X2 fait partie de l'artère principale X car le trait est un trait fort et ne recouvre pas horizontalement un trait fort de plus grande longeur. Les coordonnées Y des points de l'ébauche sont analysés d'une manière semblable à l'analyse des coordonnées X des points de l'ébauche. Au bloc 340 sur la figure 9b, on considère qu'il y a une coordonnée maîtresse Y lorsque l'on a une coordonnée Y d'un point d'ébauche qui est un extremum Y ou un extremum local Y. Au bloc 345, on considère également que l'on a une coordonnée maîtresse Y pour une coordonnée Y d'un point d'ébauche si ce point d'ébauche est une extrémité d'une ligne horizontale ou quasihorizontale de l'ébauche. De préférence, une ligne quasi-horizontale possède une pente minimale comprise entre 5:1 et 20:1. Au bloc 350, on forme les segments maîtres X à partir des coordonnées maîtresses Y par extension horizontale, en éloignement, du point de l'ébauche correspondant à la coordonnée maîtresse Y, vers la gauche et vers la droite du point d'ébauche. Les extrémités du segment s'étendent jusqu'à ce que chacune des extrémités du segment se trouve à une distance verticale prédéterminée de l'un des côtés de l'ébauche qui s'étend dans le sens des aiguilles d'une montre depuis la coordonnée maîtresse, si l'extrémité du segment s'étend vers la droite, et du côté de l'ébauche qui s'étend depuis la coordonnée maîtresse Y dans le sens contraire des aiguilles d'une montre si le point d'extrémité du segment maître Y s'étend vers la gauche. Au bloc 355, on forme les traits Y à partir de deux segments maîtres Y qui s'opposent et se recouvrent horizontalement sur une distance suffisante pour permettre de définir visuellement un trait. On examine les segments par ordre de coordonnée Y croissante (c'est-à-dire du bas vers le haut) et, conformément à la convention de contour décrite plus haut, un segment Y est de nature intérieure" s'il est orienté vers la gauche, et de nature "extérieure" s'il est orienté vers la droite. Les deux segments s'opposent si le segment du bas est de nature "intérieure" et le segment du haut est de nature "extérieure". Les segments se recouvrent horizontalement si la valeur de coordonnée minimale X de chaque segment est inférieure à la valeur de coordonnée maximale X du segment qui lui est opposé. Le degré de recouvrement est égal à la valeur maximale X la plus faible des deux segments moins la valeur minimale Y la plus forte des deux segments. La figure 10b illustre le processus de formation des traits Y. On a cinq segments maîtres, situés aux emplacements de coordonnées Y référencés Y1 à Y5. Pour déterminer ceux des segments maîtres Y qui forment des traits, on examine les segments depuis le segment maître Y inférieur Y1 jusqu'au segment maître Y supérieur Y5. Les segments se trouvant aux emplacements Y1 et Y2 sont tout d'abord examinés pour déterminer s'ils sont en opposition. Le premier segment, qui se trouve à l'emplacement Y1, est un segment "intérieur" mais le second segment, qui se trouve à l'emplacement Y2, est également un segment "intérieur" et non un segment "extérieur" comme cela serait nécessaire pour avoir des segments en opposition. On examine alors le couple suivant possible de segments maîtres Y, aux emplacements Y2 et Y3. Les segments sont en opposition car le segment maître Y à l'emplacement Y2 est un segment "intérieur" et le segment maître Y en Y3 est un segment "extérieur". On analyse alors les segments pour déterminer s'ils se recouvrent horizontalement et, si tel est le cas, le degré de recouvrement. Les segments se recouvrent effectivement horizontalement car le minimum X, qui est X3, du segment maître Y à l'emplacement Y2 est inférieur au maximum X, qui est X7, du segment maître Y à l'emplacement Y3 et le minimum X, qui est Xl, du segment en Y3 est inférieur au maximum X, qui est X9, du segment Y2 en Y3. Le degré de recouvrement horizontal est donné par: MIN(X9,X7) - MAX(X3,Xl) = (X7-X3) Du fait que la distance (X7-X3) est très supérieure à la distance Y entre segments (Y3-Y2), le rapport du trait est supérieur à 1:1 et les segments maîtres Y se trouvant aux emplacements Y2 et Y3 forment un trait. Les segments maîtres Y se trouvant aux emplacements Y4 et Y5 sont alors analysés pour déterminer si les deux segments forment un trait. Ces segments forment effectivement un trait car le segment en Y4 est un segment "intérieur" et le segment en Y5 est un segment extérieur", les segments se recouvrent horizontalement et le degré du recouvrement (X4-X2) est supérieur à la distance (Y5-Y4) entre segments, de sorte que le rapport du segment est supérieur à 1:1. Après avoir, au bloc 360 de la figure 9b, déterminé les traits Y, on examine les traits Y pour déterminer ceux des traits qui forment l'artère principale Y. L'artère princi- pale Y est formée des traits forts Y non verticaux qui se recouvrent. Chaque trait Y est soit un trait fort soit un trait faible, le trait fort ayant sur l'observateur un impact visuel supérieur. On évalue les traits par ordre de longueur croissante de sorte que, si deux traits forts se recouvrent verticalement, c'est le trait le plus long qui fera partie de l'artère principale Y. L'artère principale Y représente les éléments visuels les plus importants en ce qui concerne les coordonnées Y, et qui seront les premiers éléments que l'on ajustera. Si l'on se réfère à l'exemple de la figure 10b, le trait formé par les segments situés en Y4 et Y5 est un trait fort mais il recouvre le trait fort formé par les segments se trouvant aux emplacements Y2 et Y3. Pour cette raison, seul le trait le plus long, qui est le trait formé par les segments Y4 et Y5, fera partie de l'artère principale Y. Processus d'ajustement de la police de caractères Une fois analysés les caractères de la police afin de déterminer les composantes visuelles qui forment le caractère et l'ordre d'importance de ces composantes, on ajuste la police de caractères de manière à minimiser la dégradation visuelle de cette police de caractères. Les coordonnées de l'ébauche sont ajustées par ordre d'importance, en fonction de la priorité des composantes visuelles que l'on a déterminée au cours du processus d'analyse du caractère, et sont ajustées au moyen de trois processus, que l'on appelera "processus d'ajustement horizontal", "processus d'ajustement vertical" et "processus d'ajustement diagonal". Le processus d'ajustement horizontal ajuste les coordonnées X des points d'ébauche décrivant chaque caractère et le processus d'ajustement vertical ajuste les coordonnées Y des points de cette ébauche. Le processus d'ajustement diagonal ajuste les points de l'ébauche qui forment les traits diagonaux du caractère. Comme on le comprendra d'après la description qui suit, l'ajustement des caractères de la police sera optimisé lorsque l'on aura appliqué ensemble les trois processus à la même série de points d'ébauche; cependant, ces processus peuvent être exécutés isolément ou avec d'autres procédés d'ajustement en améliorant néanmoins les caractéristiques visuelles des caractères de la police. On va tout d'abord décrire le processus d'ajustement horizontal. Dans ce processus d'ajustement horizontal, ce sont la largeur totale du caractère, les épaisseurs des traits d'un caractère et les épaisseurs des traits par rapport aux épaisseurs de traits des autres caractères de la police qui sont les caractéristiques visuelles importantes qu'il est souhaitable de préserver. Souvent, lors du processus d'ajustement, il sera nécessaire d'ajuster sur le point le plus proche de la grille, c'est-à-dire sur le pixel le plus proche, une coordonnée qui se trouve hors grille. Ceci peut être réalisé simplement en arrondissant la valeur de coordonnée à la valeur de la position de grille la plus proche. Cette manière simple de procéder pose des problèmes de divergence et de convergence. On a des problèmes de divergence lorsque pour certains facteurs d'échelle, indépendamment leur proximité, deux valeurs de coordonnées seront arrondies à des positions de grille différentes. On aura une convergence incohérente lorsque, pour un facteur d'échelle donné, deux valeurs de coordonnées différentes seront arrondies à la même position de grille et, pour un facteur d'échelle plus faible, seront arrondies à une position de grille différente. Ceci, visuellement, n'est pas souhaitable car les différences visuelles doivent se réduire au fur et à mesure que le facteur d'échelle se réduit. Pour éviter ces difficultés, on utilise pour ajuster les valeurs de coordonnées hors grille et les distances hors grille un nouveau processus, appelé ici "processus à divergence limitée". Le processus à divergence limitée ajuste les valeurs par ordre de priorité décroissante de telle sorte que l'ajustement des valeurs ayant les priorités les plus élevées influence l'ajustement des valeurs ayant les priorités les plus faibles. On va décrire, en référence aux figures lla et 11b, le processus à divergence limitée. Au bloc 500, on forme un tableau V de n éléments contenant les valeurs à ajuster. Le nombre n d'éléments du tableau est égal au nombre de valeurs à ajuster. Les valeurs sont ordonnées dans le tableau par valeurs croissantes. Au bloc 505, on forme un second tableau P, qui correspond au tableau V et contient l'ordre de priorité des valeurs conservées dans V, P[i] contenant l'ordre de priorité de la valeur se trouvant à V[i]. La priorité de la valeur dépend du nombre de fois o la valeur apparait dans le groupe de valeurs. Ainsi, dans un groupe de valeurs, on affecte les priorités les plus élevées aux valeurs qui apparaissent le plus souvent. Au bloc 515, on forme un troisème tableau B de n éléments. Initialement, les valeurs binaires du troisième tableau B sont "zéro". Une fois que l'on a ajusté une valeur V[i], l'élément B[i] de tableau correspondant est positionné à "un". Au bloc 520, on forme un quatrième tableau de n éléments, qui correspond au tableau V et contient les valeurs ajustées. Au bloc 525, on forme un cinquième tableau I, qui correspond au premier tableau V et contient l'index de la valeur dont la priorité est immédiatement inférieure à la priorité de la valeur en cours d'ajustement. L'élément du tableau I qui correspond à la valeur de priorité la plus faible contient une valeur égale à "-1" pour indiquer qu'il n'y a pas de valeur de priorité plus faible. Pour que le processus puisse fonctionner correctement, on doit tout d'abord ajuster la valeur la plus faible. C'est pourquoi, au bloc 530, on donne la valeur de priorité la plus élevée à la valeur la plus faible. Au bloc 535, on ajuste la valeur la plus faible d'après l'équation suivante: A[0] - R(V[0]*S) R étant une fonction d'arrondi qui, simplement, arrondit la valeur à la position de grille la plus proche et S étant l'échelle de la police de caractères. Pour indiquer que le premier élément, qui est la plus faible de toute les valeurs du tableau V, a été ajusté, on met B[0] à "1". L'index k du tableau est mis à la valeur I[0]. I[0] contient l'index qui pointe en priorité sur la valeur inférieure suivante V[k]. On calcule ensuite la valeur ajustée de V[k]. Au bloc 545, on rend m égal à k-l. On commence alors une recherche qui commence à l'élément de tableau B[m] et qui continue en diminuant l'index m du tableau B jusqu'à ce qu'un élément B[m] soit à égal à 1. La valeur de tableau V[m] est alors la valeur ajustée la plus élevée qui soit supérieure à V[k]. Au bloc 550, on rend r égal à k+l. On commence alors une recherche qui commence à l'élément de tableau B[r] et qui continue en augmentant l'index du tableau B jusqu'à ce que l'on ait B[r]=1 ou r=n. Si r*n (c'est- à-dire si l'on a trouvé une valeur B[r]=l), V[r] est alors la plus petite valeur ajustée supérieure à V[k]. Si r=n, tous les éléments du tableau B dont l'index est supérieur à k ont été examinés et aucune valeur du tableau V supérieure à V[k] n'a été ajustée. Si r=n, la valeur ajustée de la valeur R[k] est alors: A[m]+R((V[k]-V[m])*S) R étant une fonction d'arrondi de la valeur entre Parenthèses, c'est-à-dire (V[k]-V[m])*S, à la position de grille la plus poche et S étant l'échelle. Si r*n, B[r]=l et la valeur ajustée de la valeur R[k] est alors: A[m]+R((A[r]-A[m]*(V[kl- V[m]/(V[r]-V[m])) Une fois calculée la valeur ajustée A[k], au bloc 565 on met à "un" la valeur de bit correspondante qui indique que cette valeur a été ajustée et, au bloc 570, on rend k égal à la valeur I[k] qui met l'index k à la valeur d'index de la valeur qui, dans V, a la priorité immédiatement inférieure. Si I[k] est égale à -1, le processus d'ajustement est alors achevé car il n'y a pas dans V de valeur de priorité inférieure. Si I[k] n'est pas égale à -1, le processus reprend au bloc de départ 545 et continue en boucle du bloc 545 au bloc 575 jusqu'à ce que l'on ait I[k]=-l. A la fin du processus à divergence limitée, le tableau A contient les valeurs ajustées des valeurs conservées dans V. On va maintenant décrire l'ajustement horizontal, en référence à l'organigramme représenté figure 12. Dans le processus d'ajustement horizontal, c'est l'épaisseur des traits X qui est un élément visuel important. Ainsi, au bloc 400 on ajuste globalement les épaisseurs de tous les traits X de la police de caractères numérisés (ajustement relatif de tous les traits X de la police de caractères numérisés entre eux) de manière à conserver les relations dimension- nelles entre épaisseurs de traits afin de régulariser les traits. On utilise le processus à divergence locale pour ajuster globalement les épaisseurs des traits X, les épaisseurs des traits X étant des données introduites en entrée dans le tableau V en vue d'augmenter l'intensité, et la priorité étant déterminée en fonction de la fréquence à laquelle chaque épaisseur de trait apparaït dans la police de caractères. Une fois que l'on a ajusté globalement les épaisseurs des traits X, on ajuste la composante visuelle de priorité la plus élevée, c'est-à-dire l'artère principale X. Les épaisseurs des traits de l'artère principale X ont été ajustées, de sorte que, au bloc 420, on ajuste le blanc X entre traits de l'artère principale X qui détermine le positionnement relatif des traits de l'artère principale X dans chaque caractère. On ajuste localement les dimensions des blancs en fonction de la largeur totale du caractère. L'ajustement global de l'épaisseur du trait de l'artère principale X peut faire en sorte que la largeur totale du caractère augmente ou diminue. Comme la largeur du caractère est une caractéris- tique visuelle importante, il est souhaitable de maintenir la largeur finale du caractère. La largeur du caractère comprend les épaisseurs des traits et le blanc X. Ainsi, pour conserver la largeur originale du caractère, on absorbe par ajustement du blanc X toute distorsion de la largeur totale provoquée par l'ajustement des traits. Par exemple, si l'épaisseur du trait, telle qu'ajustée, augmente la largeur totale du caractère, on diminue le blanc X total afin de compenser l'augmentation de largeur. On commence par mettre à l'échelle le blanc X au moyen d'un facteur d'échelle de blanc. Le facteur d'échelle de blanc est calculé d'après l'équation suivante: Largeur - Trait' Blanc "Largeur" étant la largeur d'origine totale du caractère, "Trait'" étant les épaisseurs totales de trait ajustées sur l'artère principale X, et "Blanc" étant la dimension totale du blanc X d'origine. On ajuste ensuite le blanc X mis à l'échelle au moyen du processus à divergence limitée décrit plus haut, afin de préserver la symétrie dimensionnelle du blanc X à l'intérieur de chaque caractère. Bien que l'on ait déterminé globalement les épaisseurs des traits, l'ajustement de la position de ces traits à l'intérieur du caractère est déterminée localement. Au bloc 415, 1- placement des traits, c'est-à-dire des points d'ébauche des traits à l'intérieur de chaque caractère, est déterminé simplement en fonction du blanc X ajusté. Par exemple, si un caractère est formé de trois traits Xl, X2 et X3 d'artère principale X et que les traits Xl et X2 sont séparés par un blanc X W1 et les traits X2 et X3 par un blanc X W2, la position relative du trait Xl serait à l'extrême gauche du caractère et la position relative du trait X2 serait égale à l'épaisseur ajustée du trait Xl plus le blanc X ajusté Wl. De la même façon, la position relative du trait X3 serait égale à la somme des épaisseurs ajustées du trait Xl, du blanc X ajusté W1, de l'épaisseur ajustée du trait X2 et du blanc X ajusté W2. Après avoir calculé le blanc X et avoir achevé l'ajustement des points d'ébauche des traits de l'artère principale, si l'on se réfère au bloc 425 de la figure 12, on ajuste les points d'ébauche qui forment les traits ne se trouvant pas sur l'artère principale X. Les traits faibles et les traits chevauchants qui ne sont pas sur l'artère principale sont alignés sur le côté le plus proche de l'artère principale et l'on calcule l'autre côté compte tenu de l'épaisseur globalement ajustée du trait. Les traits sont ajustés en fonction du processus que l'on décrira ci-dessous et que l'on appelera "processus d'ajustement relatif". Sur la figure 13a, les positions X4-X5, Xl-X3 et X9-X10 identifient des traits sur l'artère principale X, X0-X2 et X7-X8 identifient les traits qui ne sont pas sur l'artère principale X, et X6 identifie la position d'une coordonnée qui n'a pas été utilisée pour former un trait. On va décrire le processus d'ajustement relatif en utilisant comme exemple le trait X7-X8. Tout d'abord, on détermine quel côté ou segment formant le trait X7-X8 se trouve le plus proche d'un côté ou segment d'un trait se trouvant sur l'artère principale X. Ainsi, dans cet exemple, la distance entre les segments se trouvant aux emplacements X7 et X5 est comparée à& la distance entre les segments se trouvant aux emplacements X8 et X9. Comme on peut le voir d'après la figure 13a, la distance entre X8 et X9 est très inférieure & la distance entre X5 et X7. Le côté X8 est alors le segment le plus proche du côté de l'artère principale le plus proche, et on l'ajuste par rapport au segment se trouvant à l'emplacement X9 du trait X9-X10 de l'artère principale. On ajuste X8 au moyen de l'équation suivante: X8' 5 X9'-R((IX9-X8I)*s$9) R représentant la fonction d'arrondi de la valeur sur le point de grille le plus proche, X9' étant la valeur ajustée de X9 et S59 étant le facteur d'échelle entre les segments se trouvant aux emplacements identifiés par X5 et X9. Le facteur d'échelle opère de manière à ajuster proportionnel- lement les distances entre traits ajustés de l'artère principale, ce qui permet de conserver les distances relatives entre traits de l'artère principale et traits n'appartenant pas à l'artère principale, et entre coordon- * nées maîtresses et traits de l'artère principale. Le facteur d'échelle est ainsi égal, pour cet exemple de calcul d'ajustement, à: (X9'-X5') S59 * S (X9-X5) X5 et X5' étant, respectivement, la valeur et la valeur ajustée de l'emplacement du côté du trait de l'artère principale X le plus proche par rapport à un premier côté du segment à ajuster, X9 et X9' étant, respectivement, la valeur et la valeur ajustée de l'emplacement du trait de l'artère principale X le plus proche de l'autre côté du segment à ajuster et S étant l'échelle de la police de caractères. Une fois ajustées les coordonnées du premier segment du trait, c'est-à-dire X8 dans le présent exemple, on ajuste les coordonnées de l'autre segment du trait, qui est X7, simplement en fonction de l'épaisseur du trait qui a été globalement ajusté. Ainsi, dans le présent exemple X7 est égal à la valeur ajustée de X8 moins l'épaisseur ajustée du trait. Si l'on revient à la figure 12, au bloc 430, après avoir ajusté les traits n'appartenant pas à l'artère principale X, on ajuste les coordonnées maîtresses des segments maîtres qui ne forment pas des traits et les coordonnées maîtresses qui ne forment pas des segments maîtres. Chaque coordonnée maîtresse X est alignée sur le segment le plus proche d'un trait de l'artère principale X, et la distance est arrondie à la position de grille la plus proche. On commence par déterminer le segment d'un trait de l'artère principale X qui se trouve le plus près de la coordonnée maîtresse. Sur la figure 13a, c'est la coordonnée maîtresse X6 qui est la plus proche du segment à l'emplacement X5 du trait de l'artère principale X4-X5. La valeur ajustée de X6 est ainsi égale à: X6' = X5'+R((X6-X5)*S59) X5' étant la valeur ajustée de X5. On utilise ici encore le facteur d'échelle S59 car X6 se trouve entre les segments se trouvant aux emplacements X5 et X9 des traits X4-X5 et X9-X10. Au bloc 435 de la figure 12, après que l'on ait ajusté toutes les coordonnées maîtresses, on ajuste les coordonnées esclaves (c'est-à-dire, celles des coordonnées de l'ébauche qui ne sont pas des coordonnées maîtresses). Les coordonnées esclaves sont ajustées proportionnellement par rapport aux deux coordonnées maîtresses adjacentes en ce qui concerne l'ébauche. Par exemple, si l'on se réfère à la figure 13b, on ajuste la coordonnée esclave Xl par rapport aux coordonnées maîtresses X0 et X2 qui sont les plus proches de la coordonnée esclave X1, ou qui sont adjacentes à celles-ci sur le pourtour de l'ébauche, respectivement dans le sens des aiguilles d'une montre et dans le sens contraire des aiguilles d'une montre. La valeur ajustée de la coordonnée esclave Xl est égale à: Xi' = X0'+f*(X2'-X0') avec: X1-X0 f = X2-X0 x0' et X2' étant les valeurs ajustées des coordonnées maîtresses X0 et X2. On exécute le processus d'ajustement vertical sur l'ébauche du caractère afin d'ajuster les valeurs de coordonnée Y des points de l'ébauche. Dans le processus d'ajustement vertical, les extrema verticaux supérieur et inférieur de chaque caractère (c'est-à-dire les bases et les sommets du caractère) par rapport à l'intégralité de la police sont considérés comme étant des caractéristiques visuelles importantes. Il est donc souhaitable de maintenir la hauteur de chaque caractère et les relations verticales entre caractères de la police. On a généra- lement constaté que les sommets et les bases du caractère sont, visuellement, alignés sur les sommets et les bases des autres caractères de la police. Par exemple, les sommets de la plupart des caractères en lettres capitales se situent dans la même région. De la même façon, les sommets de la plupart des caractères de bas de casse se situent dans la même région. On a également constaté que, dans la plupart des cas, les extrema locaux des caractères sont habituel- lement alignés sur les extrema des autres caractères de la police. Ceci est illustré figure 14: le sommet de la partie circulaire 600 du "b" de bas de casse est un extremum local pour cette partie du caractère. L'extremum supérieur du caractère "b" se trouve au sommet de la longue partie verticale 605. On peut également voir que l'extremum local supérieur 600 du caractère "b" est à peu près dans l'alignement vertical de l'extremum supérieur du caractère "o" de bas de casse 615. Le processus d'ajustement vertical de la présente invention utilise les remarques que l'on vient de formuler à propos de l'alignement vertical des caractères de la police. Les extrema supérieurs et inférieurs du caractère sont évalués séparément. Ainsi, tous les ajustements exécutés le sont par rapport à des données "semblables", c'est-à-dire qu'un segment supérieur d'un caractère n'est ajusté que par rapport aux extrema supérieurs des autres caractères de la police, et un segment inférieur d'un caractère n'est ajusté que par rapport aux extrema inférieurs des autres caractères de la police. Chaque fois que cela est possible, on ajuste un segment Y en utilisant le processus d'alignement Y décrit ci-dessous, qui aligne le segment sur les régions Y définies par les extrema des caractères de la police. Si l'on se réfère à la figure 15, au bloc 650 on évalue les caractères de la police pour déterminer les régions o "grappes" de coordonnées Y o se trouvent les extrema verticaux supérieurs (c'est-à-dire les extrema de sommet) de tous les caractères de la police. Les grappes supérieures sont déterminées en examinant les valeurs de coordonnée Y o apparaissent les extrema de sommet des caractères et en calculant la distance entre les valeurs de coordonnée Y. Une grappe est un ensemble de valeurs de coordonnée Y consécutives dans lequel aucun couple de valeurs de coordonnée Y consécutives ne définit une distance supérieure à une valeur prédéterminée. Ainsi, si une valeur de coordonnée Y d'un extremum de sommet est supérieure à la distance prédéterminée par rapport à tout autre extremum de sommet, on forme une grappe comprenant un extremum de sommet à cette valeur de coordonnée Y. La distance prédéterminée représentative d'une grappe doit être suffisamment élevée pour faire en sorte que la majeure partie des extrema de sommet d'une certaine région correspondant, par exemple, au sommet des caractères en capitales, fasse partie d'une grappe unique. De préférence, la distance prédéterminée peut se trouver à l'intérieur d'une gamme de valeurs s'étendant autour de 0, 005 à 0,01 fois la somme de la hauteur des parties ascendantes et des parties descendantes de la police de caractères. La plupart des coordonnées représentant les extrema de sommet des caractères se trouvent à l'intérieur d'un nombre réduit de grappes. Au bloc 652, on identifie ensuite certaines des grappes de sommet comme étant des grappes de sommet importantes. Les grappes importantes sont ensuite utilisées en tant que point de référence pour ajuster les coordonnées verticales des caractères. Une grappe de sommet est une grappe de sommet importante: (1 ) si, parmi toutes les grappes, elle est la grappe extrême supérieure ou (2 ) si le nombre d'extrema de sommet qui forment la grappe est supérieur ou égal à une fraction prédéterminée du nombre total des extrema de sommet qui identifient les sommets des caractères et contient une fraction minimale prédéterminée du nombre d'extrema de sommet présents dans la grappe supérieure la plus grande ou la plus importante. De préférence, une grappe importante devra contenir 10 à 20 % du nombre total d'extrema de sommet et au moins 20 à 30 % du nombre d'extrema de sommet se trouvant dans la grappe supérieure la plus grande. Aux blocs 655 et 657, on évalue les extrema verticaux inférieurs (extrema inférieurs) des caractères de la police afin de déterminer les grappes inférieures et les grappes inférieures importantes. On détermine les grappes par le même processus que celui utilisé pour déterminer les grappes supérieures. Une grappe inférieure est un ensemble de valeurs de coordonnées Y consécutives d'extrema inférieurs dans lequel on ne trouve aucun couple de valeurs de coordonnées Y consécutives éloignées d'une valeur supérieure à une distance prédéterminée. La distance prédéterminée utilisée pour déterminer si deux extrema inférieurs font partie de la même grappe est de préférence une valeur comprise dans la gamme allant jusqu'à 0,005 à 0,01 fois la somme de la hauteur ascendante et de la hauteur descendante. Si l'on suit ces règles de formation des grappes, la plupart des valeurs de coordonnées Y correspondant aux extrema inférieurs de caractères se trouvent à l'intérieur d'un nombre réduit de grappes. Au bloc 657, on détermine les grappes inférieures importantes. Une grappe inférieure est une grappe inférieure importante si: (1 ) elle est la grappe inférieure extrême de toutes les grappes ou si (2Q) le nombre d'extrema inférieurs qui composent la grappe est supérieur ou égal à une fraction prédéterminée du nombre total d'extrema inférieurs et si la grappe contient une fraction minimale prédéterminée du nombre d'extrema inférieurs que l'on retrouve dans la grappe inférieure la plus grande ou la plus importante. De préférence, une grappe importante contient 10 à 20 % du nombre total d'extrema inférieurs et au moins 20 à % du nombre d'extrema inférieurs se trouvant dans la grappe inférieure la plus grande. Une fois que l'on a formé les grappes importantes supérieures et inférieures, on peut analyser les segments maîtres Y pour déterminer si les coordonnées Y des segments maîtres peuvent être ajustées par le processus d'ajustement d'alignement Y. Pour qu'un segment maître Y soit ajusté au moyen du processus d'alignement Y, le segment doit: (1 ) être un segment noir convexe et se trouver dans une grappe importante du même type, ou bien (2 ) être le segment supérieure extrême ou le segment inférieur extrême du caractère. Un segment est un segment noir convexe s'il correspond à un extremum supérieur ou un extremum supérieur local et s'il est de nature "extérieure", ou bien si le segment est un extremum inférieur ou un extremum local inférieur et s'il est de nature "intérieure". Un exemple de segment noir convexe est l'extremum supérieur du caractère "0". L'alignement des segments noirs convexes est une caractéristique visuelle distinctive des caractères, qu'il est souhaitable de préserver. Le segment noir convexe doit également se trouver à l'intérieur d'une grappe du même type. Ainsi, un segment inférieur doit se trouver à l'intérieur d'une grappe inférieure importante et un segment supérieur doit se trouver dans une grappe supérieure importante. Un segment est un segment supérieur s'il est de nature "intérieure". De la même façon, un segment est un segment inférieur s'il est de nature "intérieure". Le processus d'ajustement d'alignement Y exécute un ajustement relatif de: coordonnées Y pour préserver les différences visuelles de hauteur et de longueur entre caractères de la police lorsqu'une telle différence peut être reproduite de façon précise compte tenu de la résolution dont dispose l'afficheur, et pour éliminer les différences lorsque la résolution devient trop grossière. Le processus prend en compte le fait que la plupart des extrema et des extrema locaux du même type sont, dans le sens vertical, aligné dans les mêmes régions. On va maintenant décrire le processus d'alignement Y, en référence à l'organigramme de la figure 16. Au bloc 700, on détermine la valeur de coordonnée Y importante YIMPT de la grappe importante o se trouve le segment. YIMPT est égale à la valeur de coordonnée supérieure extrémale si la grappe est une grappe supérieure, ou la valeur de coordonnée inférieure extrémale de la grappe si la grappe est une grappe inférieure. Au bloc 705, on arrondit YIMPT à la position de grille la plus proche, ce qui donne YIMPT'. Au bloc 710, on détermine la distance "d" entre le segment de la grappe importante et YIMPT'. Au bloc 715, on utilise le processus à divergence limitée pour ajuster la distance "d". Les valeurs de toutes les distances "d" entre les segments A aligner suivant Y et les valeurs YIMPT' correspondantes constituent des données d'entrée du processus à divergence limitée, ce qui permettra de maintenir après ajustement les relations visuelles entre segments Y. Au bloc 720, on calcule la valeur de coordonnée Y ajustée du segment. Si le segment est un segment supérieur, la valeur de coordonnée Y ajustée est égale à YIMPT'-d'. Si le segment est un segment inférieur, la valeur de coordonnée Y ajustée est égale A YIMPT'+d'. On va maintenant se référer à la figure 18 et à l'organigramme de la figure 17 pour illustrer le processus d'ajustement vertical. Les grappes Y0-Y1 et Y3-Y5 sont des grappes importantes et les grappes Y8-Y9, Y12-Y15 et Y17-Y18 sont des grappes supérieures importantes. Supposons, pour les besoins de l'exemple, que le segment supérieur de chaque trait soit de nature "externe" et que le segment inférieur de chaque trait soit de nature "!iterne". Les traits Y2-Y4, Y6-Y7, Y11-Y13 et Y15-Y16 contiennent des segments qui sont des segments noirs convexes, et Y2-Y4, Y6-Y7, Y11-Y13 et Y15-Y16 sont des traits se trouvant sur l'artère princi- pale Y. Au bloc 665, on ajuste globalement les épaisseurs des traits Y par le processus à divergence limitée. Au bloc 667, on ajuste globalement, par le processus à divergence limitée, les valeurs de "d", qui est la distance entre un segment à ajuster au moyen du processus d'alignement Y et la valeur YIMPT' de la grappe o se trouve le segment. Les extrema supérieurs et inférieurs sont des éléments visuels importants de chaque caractère, et c'est pourquoi, au bloc 669, on ajuste les segments qui sont des extrema supérieurs et inférieurs du caractère. Si les segments Y font partie d'un trait, on ajuste l'autre segment du trait en fonction de l'épaisseur ajustée du trait. Par exemple, sur la figure 18 le segment inférieur extrême Y2 est ajusté à la grappe YO-Y1 par le processus d'alignement Y. L'autre segment Y4 du trait est ajusté en fonction de l'épaisseur ajustée du trait. De la même façon, le segment supérieur extrême Y16 du trait Y15-Y16 est ajusté à la grappe Y17-Y18 par le processus d'alignement Y et le segment Y15 est ajusté en fonction de l'épaisseur ajustée du trait. Une fois ajustées les coordonnées Y des extrema supérieurs et inférieurs, on ajuste l'artère principale Y. Au bloc 670, on ajuste par le processus d'alignement Y les segments des traits de l'artère principale Y qui sont des segments noirs convexes et qui se trouvent dans une grappe importante du même type. Au bloc 675, si un segment d'un trait a été ajusté par alignement Y, on ajuste l'autre segment qui forme le trait en fonction de l'épaisseur ajustée du trait. Ainsi, si le côté ajusté se trouve au-dessous de l'autre côté du trait, on ajuste l'autre côté du trait en ajoutant l'épaisseur ajustée du trait à la valeur de coordonnée Y ajustée du trait aligné Y. De la même façon, si le trait ajusté se trouve au-dessuz de l'autre côté du trait, on ajuste le trait en retranchant l'épaisseur ajustée du trait de la valeur de coordonnée ajustée du trait aligné. Dans l'exemple illustré figure 18, le segment Y13 du trait Y11-Y13 de l'artère principale est un segment noir convexe se trouvant dans une grappe importante du même type Y12-Y14. On ajuste donc la coordonnée d'ébauche Y du segment Y13 par le processus d'ajustement d'alignement Y. On ajuste l'autre segment qui forme le trait, c'est-à-dire Yll, en fonction de l'épaisseur ajustée du trait. Les traits subsistants de l'artère principale Y sont ajustés au moyen du blanc Y. Il faut donc ajuster les blancs Y. Au bloc 680, on ajuste ceux des blancs qui se trouvent entre les traits ajustés de l'artère principale Y et les traits non ajustés de l'artère principale. On commence par mettre à l'échelle le blanc Y en multipliant le blanc par le facteur d'échelle de blanc qui est égal à: Ydist - Trait' Blanc "Ydist" étant la distance Y totale d'origine entre le sommet et la base du caractère, "Trait"' étant l'épaisseur totale des traits ajustés et "Blanc" étant le blanc Y total d'origine. On ajuste ensuite iocalement, par le processus & divergence limité décrit plus haut, le blanc Y mis à l'échelle. Il est cependant nécessaire de ne mettre l'échelle que le blanc Y à utiliser pour ajuster les traits. Généralement, si un caractère comprend un nombre N de traits, on a N+1 blancs qui bordent les côtés des traits et on n'a besoin que du blanc Y pour ajuster les traits. C'est pourquoi, de préférence, on n'ajuste que les blancs Y qui sont nécessaires pour ajuster les traits Y. De préférence, on ajuste tous les blancs Y à l'exception du blanc Y le plus grand, car le blanc Y le plus grand est, visuellement, celui qui est le moins sensible à une modification dimensionnelle. Par défaut, le blanc plus grand sera égal à la différence entre ladistance totale Y et la somme des épaisseurs des traits ajustés et des blancs Y. Au bloc 685, en utilisant le processus d'ajustement relatif décrit précédemment on ajuste, par rapport aux traits ajustés et au blanc Y, les traits de l'artère principale Y qui n'ont pu être ajustés par alignement Y. Ainsi, dans l'exemple illustré figure 18, on ajuste le trait Y6-Y7 de l'artère principale Y. On commence par déterminer, parmi les segments Y6 et Y7 qui forment le trait, celui qui se trouve le plus près d'un trait ajusté d'artère principale. Dans cet exemple, on compare la distance entre Yll et Y7 à la distance entre Y6 et Y4. Comme la distance entre Y6 et Y4 est inférieure à la distance entre Y7 et Yll, c'est le côté Y6 du trait qui se trouvera aligné par rapport au côté du trait Y4, au moyen de l'équation suivante: Y6' = Y4'+R((Y6-Y4)*S411) Y4' étant la valeur ajustée du segment Y4 et S411 étant l'échelle entre les segments de l'artère principale Y4 et Yll. L'autre côté du trait Y7 est ajusté par addition de l'épaisseur ajustée du trait à la valeur ajustée de Y6. Une fois que l'on a ajusté tous les traits de l'artère principale Y, on ajuste les segments des traits qui ne se trouvent pas sur l'artère principale Y. Su l'on revient à la figure 17b, au bloc 690 on ajuste par le processus d'ajustement d'alignement Y les segments des traits ne se trouvant pas sur l'artère principale Y et qui sont des segments noirs convexes se trouvant dans une grappe importante du même type. De la même façon, au bloc 691 on ajuste, en fonction de l'épaisseur ajustée de chaque trait, les segments qui forment les autres côtés des traits. Au bloc 693, on ajuste, par le processus d'ajustement relatif, par rapport aux traits ajustés de l'artère principale Y les autres traits ne faisant pas partie de l'artère principale Y. Une fois calculés tous les traits, au bloc 695 on ajuste les coordc nées maîtresses Y des segments maîtres Y qui ne forment pas des traits. Si le segment maître Y est un segment noir convexe et qu'il se trouve dans une grappe importante du même type, on ajuste le segment au moyen du processus d'ajustement Y. Dans le cas contraire, on ajuste par le processus d'ajustement relatif la coordonnée maîtresse Y du segment par rapport aux traits ajustés Y d'artère principale. Par exemple, sur la figure 18 on ajusterait la coordonnée maîtresse Y10 par rapport à Y1, qui correspond au coté le plus proche de l'artère principale Y, au moyen de l'équation suivante: YO10' = Y11'-R((Y11-Yl0)*S711) Yll' étant la valeur ajustée de Yll, R étant étant une fonction d'arrondi qui arrondit la valeur sur la position de grille la plus proche et S711 étant l'échelle entre les côtés n 7 et n 11 des traits de l'artère principale Y, qui sont les deux segments les plus proches de Yll. Au bloc 697, on ajuste, par le procesus d'ajustement relatif, toutes les coordonnées maîtresses Y subsistantes par rapport aux traits ajustés de l'artère principale Y. Au bloc 699, on ajuste les coordonnées esclaves Y. Les coordonnées exclaves Y sont ajustées par rapport aux deux coordonnées maîtresses adjacentes, en ce qui concerne l'ébauche, à la coordonnée maîtresse. Les coordonnées esclaves sont ajustées de la même manière que les coordonnées esclaves X, par le processus décrit à propos de la figure 13b. Arrivée en ce point du processus, on a décrit l'ajus- tement des coordonnées d'ébauche dans le sens hori:cntal et dans le sens vertical. Il existe cependant des caractéris- tiques visuelles importantes qui ne sont orientées ni dans le sens vertical ni dans le sens horizontal, mais que l'on doit préserver pour minimiser la dégradation du caractère. Par exemple, il est souhaitable de maintenir les épaisseurs relatives des traits diagonaux tels que les traits diagonaux de la lettre "N" ou de la lettre "W". Pour être sûr que ces caractéristiques visuelles importantes seront préservées, on ajuste également les coordonnées d'ébauche des caractères qui forment des traits diagonaux. Sur la figure 19, au bloc 750 on ordonne les lignes diagonales en fonction de leur pente. Une ligne diagonale est une ligne quelconque qui n'est ni horizontale, ni quasi- horizontale, ni verticale ni quasi-verticale. Au bloc 755, on forme des groupes de diagonales dont les valeurs d'angle sont relativement proches. Le groupe ne doit pas trop s'étendre pour ne pas couvrir un nombre important de segments diagonaux, mais il ne doit pas non plus être trop réduit afin que les groupes ne comprennent pas que ceux des segments qui sont parallèles entre eux. De préférence, les lignes diagonales sont groupées par plages de variation de à 20 degrés. Très avantageusement, les lignes sont groupées par plages de variation de 10 degrés. Au bloc 760, on fait tourner les lignes ddiagonales de manière à ce qu'elles paraissent verticales. Pour faire tourner les lignes on moyenne les angles de chaque groupe et on fait tourner chaque ligne diagonale du groupe d'un angle égal au complément de l'angle moyen du groupe. La rotation des segments diagonaux donne des segments verticaux ou quasiverticaux à partir desquels on peut déterminer de façon simple les traits diagonaux. Au bloc 775, on analyse les segments diagonaux que l'on a fait tourner pour déterminer si les segments forment des traits diagonaux. Les conditions à remplir pour former les traits sont les mêmes que celles, que l'on a explicitées plus haut, requises pour former les traits X; ainsi, on considère qu'il y a un trait lorsque l'on trouve deux segments en opposition, le premier segment étant de nature "interne" et le second segment étant de nature "externe", et que les segments se recouvrent verticalement entre eux sur une distance suffisante définir visuellement le trait. Une fois déterminés les traits diagonaux, on ajuste les épaisseurs des traits diagonaux, au bloc 780. On réalise ceci par un processus que l'on appellera ici "ajustement par faculté de substitution". Dans le processus d'ajustement par facul é de substitution, on compare l'épaisseur du trait diagonal aux épaisseurs des traits X et Y de manière & trouver une épaisseur de trait vertical ou horizontal qui soit proche de l'épaisseur du trait diagonal ou égale à celle-ci. Si une épaisseur de trait vertical ou horizontal est égale à l'épaisseur de trait diagonal, l'épaisseur ajustée du trait diagonal est égale à l'épaisseur ajustée de ce trait horizontal ou vertical. Si l'épaisseur de trait diagonal n'est pas égale à une épaisseur de trait horizontal ou vertical, on utilise les deux valeurs d'épaisseur les plus proches, la valeur d'épaisseur la plus proche supérieure à l'épaisseur du trait diagonal et la valeur d'épaisseur inférieure à l'épaisseur du trait diagonal, de manière à calculer l'épaisseur ajustée du trait diagonal conformément à l'équation suivante: TD' = TLI'+(TR'-TLI)*t avec: (TD-TL) t= (TR-TL) TD étant l'épaisseur du trait diagonal, TL étant l'épaisseur de trait la plus proche inférieure à TD, TR étant l'épaisseur de trait la plus proche supérieure à TD et TD', TL' et TR' étant, respectivement, les épaisseurs ajustées de TD, TL et TR. On ajuste les points de l'ébauche en déplaçant chaque segment du trait diagonal de la moitié de la valeur dont est ajusté le trait, à savoir 1/2(TD'-TD). Cependant, on ne peut pas modifier le trait diagonal en déplaçant simplement les segments de 1/2(TD'-TD). Les extrémités du trait diagonal doivent être ajustées de manière à conserver les épaisseurs des traits adjacents ajustés. Pour préserver les épaisseurs des traits adjacents, on déplace, le long d'un segment du trait adjacent, les points de l'ébauche situés à l'inter- section du trait adjacent et du trait diagonal. Ceci est illustré figure 20. Pour les besoins de l'illustration, on a fractionné la lettre N en trois traits, à savoir les traits X 810 et 812 et le trait diagonal 814. Par le processus d'ajustement par faculté de substitution, on doit augmenter d'une quantité W l'épaisseur du trait diagonal 812. Les segments 816 et 818 sont donc déplacés chacun de la quantité W/2 jusqu'aux emplacements référencés 820 et 822. Pour conserver l'épaisseur des traits 810, on ajuste le point d'ébauche 824 en 826 et le point d'ébauche 830 en 832. De la même façon, pour préserver l'épaisseur du trait 812 on ajuste le point d'ébauche 834 en 836 et le point d'ébauche 838 en 840. On ajuste individuellement chaque point d'ébauche. le type d'ajustement de point d'ébauche que l'on exécute correspond à l'un de quatre cas possibles. Le premier cas correspond à l'ajustement d'un point d'ébauche qui est précédé par un segment devant être ajusté et qui est suivi par un segment qui ne doit pas être ajusté. En d'autres termes, le point d'ébauche relie un premier segment que l'on doit ajuster à un second segment que l'on ne doit pas ajuster. Le second cas correspond à l'ajustement d'un point précédé par un segment qui ne doit pas être ajusté et suivi par un segment qui doit être ajusté. Le troisième cas correspond à l'ajustement d'un point situé entre des segments qui doivent être tous deux ajustés mais ajustés de quantités différentes. Le quatrième cas correspond à l'ajustement d'un point situé entre des segments qui doivent être tous deux ajustés de la même quantité. La géométrie du premier cas est illustrée figure 21a. La ligne 850 représente les segments d'un trait diagonal à ajuster. Le segment de ligne 855 est le segment adjacent qui ne doit pas être ajusté. Le point d'ébauche du trait qui nécessite un ajustement est référencé 860. Dans cet exemple, la ligne 850 doit être déplacée d'une distance d pour ajuster le trait diagonal. Le point d'ébauche 860 doit donc être déplacé, le long du segment 855, jusqu'au point 870. En ajustant le point d'ébauche 860 en 870, on préserve l'épaisseur et l'orientation du trait formé par le segment 855. Le point de contrôle ajusté 870 est déterminé par le processus suivant. A partir des points de l'ébauche, on peut déterminer les angles al et "2. A partir des valeurs connues al et a2 et de la distance d, on peut calculer par la trigonométrie le nouveau point 870. La longueur de l'hypoténuse 875 du triangle dont les sommets sont définis par le point d'ébauche 860, le nouveau point d'ébauche 870 et le point 880 est calculée d'après l'équation: d AH = sin (a2-al) Une fois calculée la valeur AH 875, on calcule les valeurs AX et AY que l'on doit ajouter aux coordonnées du point d'ébauche 860 pour déterminer la coordonnée ajustée 870, d'après les équations suivantes: AX = AH * cos(a2) AY = AH * sin(a2) Le second cas, qui est la cas illustré figure 21b, correspond à l'ajustement d'un point précédé par un segment que l'on ne doit pas ajuster et suivi par un segment que l'on doit ajuster. Le segment 900 identifie le segment diagonal que l'on doit ajuster d'une distance d. Le segment adjacent 905 ne doit pas être ajusté. Dans cet exemple, on connait également, d'après les points de l'ébauche, les angles al et a2. A partir de cette information, on peut calculer AH, qui vaut: Z638264 d AH = sin (a2-al) On calcule AX et AY, que l'on ajoute au point de coordonnées 910 pour donner le point ajusté 915, d'après les équations suivantes: AX = -AH* cos (l) AY = -AH * sin(a1) La figure 21c illustre le troisième cas, c'est-à-dire l'ajustement d'un point situé entre deux segments qui doivent tous deux être ajustés, mais ajustés de quantités différentes. Sur la figure 21c, le point d'ébauche 925 doit être ajusté en 930 afin d'ajuster le segment 935 d'une distance dO et le segment 940 d'une distance dl. Afin de de calculer la coordonnée ajustée 930, on exécute deux séries de calculs. On calcule tout d'abord AXl et AY1 pour déterminer le point théorique ajusté 945 pour lequel le point d'ébauche 925 est un segment correspondant au premier cas, c'est-à-dire un point d'ébauche précédé par la ligne 940 à ajuster d'une distance dl et suivi par une ligne qui ne doit pas être ajustée, la ligne 935. On calcule ensuite AX2 et AY2 pour déterminer un second point ajusté théorique 950 pour lequel le point d'ébauche 925 correspond à un calcul d'après le second cas, c'est-à-dire un point d'ébauche précédé par une ligne 940 ne devant pas être ajustée et suivi par une ligne 935 devant être ajustée d'une distance dO. Les points 925, 950, 945 et 930 forment un parallélogramme; le point ajusté 930a donc pour coor- données: X' = X+AX1+AX2 Y' = Y+AYl+AY2 Le quatrième cas est celui d'un point précédé et suivi par des lignes que l'on doit toutes deux ajuster de la même quantité. Sur la figure 21d, le point de contrôle 970 est précédé par la ligne 975 et suivi par la ligne 980. Les deux lignes 975 et 980 sont déplacées toutes deux d'une distance d. Il faut donc ajuster le point de contrôle 970 d'un. e quantité AX et AY pour donner le point ajusté 985. On obtient ceci par l'équation suivante: d * cos (al) AX = sin(a2-a1) TD est l'épaisseur du trait diagonal, TD' est l'épaisseur ajustée du trait diagonal et al et a2 sont déterminés à partir de l'ébauche du caractère. AY est déterminé de la même façon par l'équation suivante: d * sin (al) AY = sin(a2-=1) Une fois achevé le processus d'ajustement diagonal, on ajuste les points de l'ébauche représentant chacun des caractères, et on ajuste les points de contrôle de chaque caractère en fonction des points d'ébauche ajustés au moyen des transformations linéaires décrites plus haut. L'invention a été décrite à propos d'un mode de mise en oeuvre préféré. De nombreuses variantes, modifications, variations et utilisations apparaîtront aux spécialistes de cette technique à la lecture de la description qui précède. Par exemple, on peut utiliser les processus d'ajustement horizontal, vertical et diagonal de manière indépendante, combinés entre eux ou encore combinés à d'autres processus d'ajustement. De le même façon, le processus d'analyse du caractère et de détermination des composantes visuelles importantes peut être utilisé avec d'autres processus d'ajustement non décrits ici. En outre les processus ou partie de processus qui n'ont pas besoin de l'échelle comme donnée d'entrée peuvent être exécutés indépendamment des processus qui ont besoin de l'échelle comme donnée d'entrée. Par exemple, le processus d'analyse des caractères de la police permettant de déterminer les composantes visuelles importantes peut être un processus distinct exécuté une fois pour toutes pour chaque police de caractère. Les données obtenues en sortie peuvent être conservées sous un format intermédiaire de données et retrouvées chaque fois que nécessaire pour produire la police de caractère. Ceci diminue le temps de calcul nécessaire, du fait que le processus d'analyse n'est exécuté qu'une seule fois pour une police de caractères donnée. Les données de sortie du processus d'analyse peuvent être ensuite utilisées en liaison avec les processus d'ajustement horizontal, vertical et diagonal pour produire la police de caractères ajustée correspondant à une échelle donnée. Si la police de caractères doit être ajustée à une autre échelle, on peut retrouver les mêmes données obtenues en sortie du processus d'analyse et les utiliser à nouveau avec les processus d'ajustement horizontal, vertical et diagonal pour produire une police de caractères ajustée correspondant à cette échelle. REVENDICATIONS 1. Un procédé pour minimiser la dégradation visuelle de polices de caractères numérisés, dans lesquelles chaque caractère de la police est décrit par un format utilisant des points de contrôle formés par des couples de coordonnées X-Y, procédé caractérisé par les étapes suivantes: - formation, pour chaque caractère, d'une ébauche à partir des points de contrôle, cette ébauche étant représentée par une pluralité de points d'ébauche définis par des couples de coordonnées X-Y, - détermination des traits constituant chacun des caractères, ces traits étant orientés dans le sens horizontal et dans le sens vertical et étant formés par une pluralité de points d'ébauche, - ajustement, pour chaque caractère de la police, des coordonnées X des points d'ébauche représentatifs des traits X, ces traits X étant orientés dans le sens vertical et classés par ordre d'importance visuelle en fonction du caractère, ces traits étant ajustés en fonction de leur priorité, le degré d'ajustement des traits de plus faible priorité étant fonction des épaisseurs des traits de priorité plus élevée, cet ajustement régularisant les épaisseurs des traits X et préservant la largeur de chaque caractère, - ajustement des coordonnées X des points d'ébauche qui ne forment pas un trait, cet ajustement étant fonction de la préservation de la largeur du caractère et des épaisseurs des traits X ajustés, - ajustement, pour chaque caractère de la police, des coordonnées Y des points d'ébauche représentatifs des traits Y, ces traits Y étant orientés dans le sens horizontal et classés par ordre d'importance visuelle en fonction du caractère, ces traits étant ajustés en fonction de leur priorité, le degré d'ajustement des traits de plus faible priorité étant fonction des épaisseurs des traits de priorité plus élevée, cet ajustement préservant les hauteurs des caractères de la police et l'alignement horizontal des traits Y, et - ajustement des coordonnées Y des points d'ébauche qui ne forment pas un trait, cet ajustement étant fonction de la préservation de la hauteur du caractère et des épaisseurs et de l'alignement horizontal des traits X ajustés, de manière à conserver les caractéristiques visuelles importantes des caractères de la police et minimiser ainsi la dégradation visuelle de cette police de caractères. 2. Le procédé de la revendication 1, comprenant en outre les étapes suivantes: - détermination des traits diagonaux constituant chaque caractère et orientés dans le sens diagonal, ces traits étant formés par une pluralité de points d'ébauche, et - ajustement des points d'ébauche de chaque caractère de la police représentatifs des traits diagonaux, cet ajustement étant fonction de la préservation des positions et épaisseurs ajustées des traits X et Y ajustés. 3. Un procédé d'analyse des caractères d'une police de caractères et de détermination des composantes visuelles importantes de ceux-ci, police dans laqelle le contour de chaque caractère de la police est décrit par un format utilisant des points de contrôle définis par des couples de coordonnées X-Y, ces contours de caractères ayant un sens spécifié fonction de la convention de contour choisie, procédé caractérisé par les étapes suivantes: - formation, pour chaque caractère, d'une ébauche à partir desdits points de contrôle, chaque ébauche étant une représentation visuelle simplifiée du caractère correspon- dant, les ébauches étant représentés par une pluralité de points d'ébauche définis par des couples de coordonnées X-Y - identification de certaines coordonnées X des points d'ébauche comme coordonnées maîtresses X, si le point d'ébauche est une extremum dans le sens horizontal ou si le point d'ébauche est l'extrémité d'un segment de droite formant un côté vertical ou quasi-vertical de l'ébauche, - formation de segments maltres X, ces segments maîtres étant des approximations d'une partie de l'ébauche du caractère, ces segments maîtres étant définis sous la forme d'un segment de droite vertical qui s'étend vers le haut ou vers le bas à partir d'une coordonnée maîtresse X sur une distance telle que chaque extrémité du segment de droite soit éloignée de l'ébauche d'une distance horizontale prédé- terminée, - identification du sens de chacun des segments maîtres X, le sens des segments maîtres correspondant au sens de l'ébauche dont le segment est une approximation, le sens de l'ébauche étant dicté par la convention de contour choisie, - identification des segments X comme présentant une nature "intérieure" de contour, si le segment est identifié comme étant dirigé vers le haut, - identification des segments X comme présentant une nature "extérieure" de contour, si le segment est identifié comme étant dirigé vers le bas, - identification de certaines couples de segments maîtres X comme traits X, si deux segments adjacents se recouvrent verticalement, si le segment gauche est de nature "interne" et si le segment droit est de nature "externe", ces segments se recouvrant verticalement sur une distance telle que le rapport entre la longueur du recouvrement vertical et la distance entre les segments soit supérieur à une quantité prédéterminée révélatrice de la reconnaissance visuelle d'un trait, - identification de certaines coordonnées Y des points d'ébauche comme coordonnées maîtresses Y, si le point d'ébauche est une extremum dans le sens vertical ou si le point d'ébauche est l'extrémité d'un segment de droite formant un côté horizontal ou quasi- horizontal de l'ébauche, - formation de segments maîtres Y, ces segments maîtres étant des approximations d'une partie de l'ébauche du caractère, ces segments maîtres étant définis sous la forme d'un segment de droite horizontal qui s'étend vers la droite ou vers la gauche à partir d'une coordonnée maîtresse Y sur une distance telle que chaque extrémité du segment de droite soit éloignée de l'ébauche d'une distance verticale prédé- terminée, - identification du sens des segments maîtres Y, le sens des segments maltres correspondant au sens de l'ébauche dont le segment est une approximation, le sens de l'ébauche étant dicté par la convention de contour choisie, - identification des segments Y comme présentant une nature "intérieure" de contour, si le segment est identifié comme étant dirigé vers la gauche, - identification des segments Y comme présentant une nature "extérieure" de contour, si le segment est identifié comme étant dirigé vers la droite, - identification de certaines couples de segments maîtres Y comme traits Y, si deux segments adjacents se recouvrent horizontalement, si le segment supérieur est de nature "interne" et si le segment inférieur est de nature "externe", ces segments se recouvrant horizontalement sur une distance telle que le rapport entre la longueur du recouvrement et la distance entre les segments soit supé- rieur à une quantité prédéterminée révélatrice de la recon- naissance visuelle d'un trait. 4. Un procédé d'ajustement dans le sens horizontal d'au moins un caractère d'une police de caractères numérisés, chaque caractère étant défini par une pluralité de points d'ébauche qui forment l'ébauche du caractère, ce caractère étant en outre décrit par une pluralité de traits X révélateurs d'éléments visuels importants par rapport aux coordonnées X de l'ébauche, ces traits étant définis par les points d'ébauche du caractère, procédé caractérisé par les étapes suivantes: - identification des traits X comme traits X forts si le rapport entre la longueur du trait et l'épaisseur du trait est supérieur à une quantité prédéterminée révélatrice d'un trait fort, - construction d'une artère principale X comprenant des traits X forts ne se chevauchant pas horizontalement et classés par ordre de longueur, cette artère principale X étant révélatrice des composantes visuelles de plus forte priorité d'un caractère, - ajustement des coordonnées X des points d'ébauche des traits X formant l'artère principale X, cet ajustement préservant les symétries et les relations géométriques entre les traits formant les caractères de la police, - ajustement, dans le sens horizontal, du blanc X appa- raissant entre traits X, ce blanc étant soumis à une modification proportionnelle d'échelle et étant ajusté le manière à préserver la largeur totale du caractère, et - ajustement des coordonnées X des points d'ébauche des traits X ne se trouvant pas sur l'artère principale X, le degré d'ajustement des coordonnées X étant fonction des traits X ajustés de plus forte priorité et du blanc X entre les traits de l'artère principale X, de manière à préserver la largeur du caractère et les symétries et relations géométriques entre les traits des caractères de la police. 5. Un procédé d'ajustement dans le sens vertical d'au moins un caractère d'une police de caractères numérisés, chaque caractère étant défini par une pluralité de points d'ébauche qui forment l'ébauche du caractère, ce caractère étant en outre décrit par une pluralité de traits Y révélateurs d'éléments visuels importants par rapport aux coordonnées Y de l'ébauche, ces traits étant formés par deux segments Y, ces traits étant définis par les points d'ébauche du caractère, procédé caractérisé par les étapes suivantes: - identification des traits Y comme traits Y forts si le rapport entre la longueur du trait et l'épaisseur du trait est supérieur à une quantité prédéterminée révélatrice d'un trait fort, - construction d'une artère principale Y comprenant des traits Y forts ne se chevauchant pas verticalement et classés par ordre de longueur, cette artère principale Y étant révélatrice des composantes visuelles de plus forte priorité d'un caractère, - formation d'au moins une grappe d'extrema supérieurs comprenant un ensemble de valeurs de coordonnées Y consécutives d'extrema supérieurs des caractères de la police, ensemble tel que l'on n'ait jamais deux valeurs de coordonnées Y consécutives éloignées l'une de l'autre d'une distance supérieure à une valeur prédéterminée, - formation d'au moins une grappe d'extrema inférieurs comprenant un ensemble de valeurs de coordonnées Y consécutives d'extrema inférieurs des caractères de la police, ensemble tel que l'on n'ait jamais deux valeurs de coordonnées Y consécutives éloignées l'une de l'autre d'une distance supérieure à une valeur prédéterminée, - détermination de celles des grappes supérieures qui sont des grappes supérieures importantes et de celles des grappes inférieures qui sont des grappes inférieures importantes, l'importance des grappes étant fonction du nombre d'extrema formant chacune des grappes, - identification de ceux des traits d'artère principale Y qui comprennent au moins un segment qui est un segment noir convexe et qui se trouve dans les limites de coordonnées Y d'une grappe importante du même type, - ajustement de la coordonnée Y du segment noir convexe se trouvant dans une grappe importante du même type, par un processus d'alignement Y dans lequel on aligne horizonta- lement la coordonnée Y du segment sur les coordonnées Y les plus proches d'autres segments de caractères de la police, - si un segment d'un trait d'artère principale Y a été ajusté par un processus d'alignement Y, ajustement de la coordonnée Y de l'autre segment en fonction de l'épaisseur du trait, - ajustement du blanc Y entre traits d'artère principale Y, cet ajustement du blanc Y étant fonction de la préservation de la hauteur du caractère, - ajustement des coordonnées Y des traits d'artère principale Y n'ayant pas été ajustées par un processus d'alignement Y, ces coordonnées Y étant alors ajustées par rapport aux traits d'artère principale Y ajustés, - identification de ceux des traits Y qui ne se trouvent pas sur l'artère principale Y et qui comprennent au moins un segment qui est un segment noir convexe et qui se trouve dans les limites de coordonnées Y d'une grappe importante du même type, ajustement de la coordonnée Y du segment noir convexe se trouvant dans une grappe importante du même type, par un processus d'alignement Y dans lequel on aligne horizonta- lement la coordonnée Y du segment sur les coordonnées Y les plus proches d'autres segments de caractères de la police, - si un segment d'un trait qui ne se trouve pas sur l'artère principale Y a été ajusté par un processus d'alignement Y, ajustement de la coordonnée Y de l'autre segment en fonction de l'épaisseur du trait, - ajustement des coordonnées Y des traits non encore ajustés, par rapport aux traits d'artère principale Y ajustés, - identification de ceux des segments Y qui ne forment pas un trait et qui comprennent au moins un segment qui est un segment noir convexe et qui se trouve dans les limites de coordonnées Y d'une grappe importante du même type, - ajustement de la coordonnée Y du segment noir convexe se trouvant dans une grappe importante du même type, par un processus d'alignement Y dans lequel on aligne horizonta- lement la coordonnée Y du segment sur les coordonnées Y les plus proches d'autres segments de caractères de la police, - ajustement des coordonnées Y des segments non encore ajustés, par rapport aux traits d'artère principale Y ajustés. 6. Le procédé d'ajustement de la revendication 5, dans lequel le procédé pour ajuster les segments Y par un processus d'alignement Y comprend les étapes suivantes: - détermination de la coordonnée Y importante, YIMPT, de la grappe importante dans laquelle se trouve le segment, cette valeur YIMPT étant la coordonnée Y supérieure extrême de la grappe si la grappe comporte des extrema supérieurs et étant la coordonnée Y inférieure extrême de la grappe si la grappe comporte des extrema inférieurs, - ajustement de YIMPT sur la position de grille la plus proche, - ajustement de la distance entre YIMPT et le segment à ajuster de telle sorte que la distance soit égale à une valeur de pas de la grille, et - ajustement de la valeur de coordonnée Y du segment pour la rendre égale à la somme des valeurs ajustées de YIMPT et de la distance si la valeur de coordonnée Y du segment est supérieure ou égale à YIMPT, et ajustement de la valeur de coordonnée Y du segment pour la rendre égale à la différence des valeurs ajustées de YIMPT et de la distance si la valeur de coordonnée Y du segment est inférieure à YIMPT. 7. Un procédé d'ajustement des caractères d'une police de caractères numérisés par un processus d'alignement Y, chaque caractère étant défini par une pluralité de points d'ébauche qui forment l'ébauche du caractère, ces points d'ébauche formant des segments horizontaux, ou segments Y, aux valeurs de coordonnées Y des points d'ébauche, ces segments Y étant révélateurs de composantes visuelles du caractère et constituant des approximations de parties de l'ébauche, ces segments ayant un sens fonction du sens de l'ébauche dont le segment est une approximation, procédé caractérisé par les étapes suivantes: - formation d'au moins une grappe d'extrema supérieurs comprenant un ensemble de valeurs de coordonnées Y consécutives d'extrema supérieurs des caractères de la police, ensemble tel que l'on n'ait jamais deux valeurs de coordonnées Y consécutives éloignées l'une de l'autre d'une distance supérieure à une valeur prédéterminée, - formation d'au moins une grappe d'extrema inférieurs comprenant un ensemble de valeurs de coordonnées Y consécutives d'extrema inférieurs des caractères de la police, ensemble tel que l'on n'ait jamais deux valeurs de coordonnées Y consécutives éloignées l'une de l'autre d'une distance supérieure à une valeur prédéterminée, détermination de celles des grappes supérieures qui sont des grappes supérieures importantes et de celles des grappes inférieures qui sont des grappes inférieures importantes, l'importance des grappes étant fonction du nombre d'extrema formant chacune des grappes, - identification de ceux des segments Y qui sont des segment noirs convexes et qui se trouvent dans les limites de coordonnées Y d'une grappe importante du même type, le type de segment étant fonction du sens du segment, et - ajustement de la coordonnée Y du segment noir convexe se trouvant dans une grappe importante du même type, ledit processus d'alignement Y comprenant les étapes suivantes: * détermination de la coordonnée Y importante, YIMPT, de la grappe importante dans laquelle se trouve le segment, cette valeur YIMPT étant la coordonnée Y supé- rieure extrême de la grappe si la grappe comporte des extrema supérieurs et étant la coordonnée Y inférieure extrême de la grappe si la grappe comporte des extrema inférieurs, * ajustement de YIMPT sur la position de grille la plus proche, * ajustement de la distance entre YIMPT et le segment & ajuster de telle sorte que la distance soit égale & une valeur de pas de la grille, et * ajustement de la valeur de coordonnée Y du segment pour la rendre égale à la somme des valeurs ajustées de YIMPT et de la distance si la valeur de coordonnée Y du segment est supérieure ou égale à YIMPT, et ajustement de la valeur de coordonnée Y du segment pour la rendre égale à la différence des valeurs ajustées de YIMPT et de la distance si la valeur de coordonnée Y du segment est inférieure à YIMPT. 8. Un procédé pour améliorer la lisibilité de polices de caractère numérisés, dans lequel on modifie les points d'ébauche qui forment les extrémités des segments diagonaux de l'ébauche du caractère, procédé caractérisé par les étapes suivantes: - classement de tous les segments diagonaux en fonction de leur pente; - formation de groupe de segments diagonaux d'angles relativement proches, - rotation de chaque groupe de segments diagonaux par le complément de la pente moyenne du groupe, de manière à rendre approximativement verticaux les segments transver- saux, - identification de certaines couples de segments maîtres diagonaux en tant que traits diagonaux si les deux segments se recouvrent verticalement l'un l'autre et que le rapport de la longueur du recouvrement vertical à la distance entre segments est supérieur à une quantité prédéterminée révélatrice de la reconnaissance visuelle d'un trait, - ajustement de l'épaisseur des traits diagonaux en fonction des épaisseurs ajustées des traits horizontaux ou verticaux qui avaient une épaisseur identique ou quasiment identique avant l'ajustement, et - ajustement des points d'ébauche des traits diagonaux de manière à les faire correspondre à l'épaisseur ajustée du trait diagonal, les épaisseurs des traits adjacents étant préservées par déplacement des points d'ébauche le long des segments des traits adjacents. 9. Un procédé pour modifier l'échelle de distances dans une police de caractères numérisés à une échelle donnée, procédé caractérisé par les étapes suivantes: - mémorisation, dans un premier tableau indexé, d'un nombre n de valeurs dont on doit modifier l'échelle, ces valeurs étant mémorisées dans le tableau par ordre de valeurs croissantes, - mémorisation, dans un second tableau indexé correspon- dant au premier tableau, des priorités des valeurs mémorisées dans le premier tableau, priorités qui définissent l'ordre dans lequel on devra modifier les échelles des valeurs, - affectation de la priorité la plus élevée à la valeur la plus faible, - mémorisation, dans un troisième tableau indexé corres- pondant au premier tableau, de l'index de l'élément du premier tableau dont la priorité est immédiatement inférieure à celle de l'élément de tableau actuellement indexé, - modification de l'échelle de la valeur la plus faible, cette valeur étant multipliée par le facteur d'échelle et arrondie à la position de grille la plus proche, - détermination, à partir de l'index mémorisé dans le troisième tableau, de la valeur suivante à mettre à l'échelle, - mise à l'échelle, par ordre de priorité, des valeurs restantes, le processus de mise à l'échelle comprenant les étapes suivantes: * détermination de la valeur la plus élevée qui a été mise à l'échelle et qui est inférieure à la valeur courante à mettre à l'échelle, * détermination de la valeur la plus faible qui a été mise à l'échelle et qui est supérieure à la valeur courante à mettre à l'échelle, * en l'absence de valeur supérieure à la valeur courante à mettre à l'échelle, calcul de la valeur courante mise à l'échelle d'après l'expression suivante: A[m]+R((V[k]-V[m])*S) A[m] étant la valeur ajustée de la valeur la plus élevée mise à l'échelle et qui est inférieure à la valeur courante à mettre à l'échelle,. R étant la fonction qui arrondit le nombre à la position de grille la plus proche, V[k] étant la valeur à ajuster, V[m] étant la valeur d'origine de la valeur la plus élevée qui a été mise à l'échelle et qui est inférieure à la valeur courante à mettre à l'échelle et S étant l'échelle, et, * en présence d'une valeur supérieure à la valeur courante à mettre à l'échelle, calcul de la valeur courante mise à l'échelle d'après l'expression suivante: A[m]+R((A[r]-A[m] *(V[k]-V[m]/(V[r]-V[m])) A[m] étant la valeur ajustée de la valeur la plus élevée mise à l'échelle et qui est inférieure à la valeur courante à mettre à l'échelle, R étant la fonction qui arrondit le nombre à la position de grille la plus procle, A[r] étant la plus petite valeur mise à l'échelle et qui est supérieure à la valeur courante à mettre à l'échelle, V[k] étant la valeur à ajuster, V[m] étant la valeur d'origine de la valeur la plus élevée qui a été mise à l'échelle et qui est inférieure à la valeur courante à mettre à l'échelle, V[r] étant la valeur d'origine de la plus petite valeur mise à l'échelle et qui est supérieure à la valeur courante à mettre à l'échelle et S étant l'échelle.