FR2646729A1 - Procede et systeme de manipulation des esquisses d'une image de symbole dans differentes dimensions et par differents deplacements de points pour ameliorer une figure de caractere numerique sur un dispositif de sortie a trame - Google Patents

Procede et systeme de manipulation des esquisses d'une image de symbole dans differentes dimensions et par differents deplacements de points pour ameliorer une figure de caractere numerique sur un dispositif de sortie a trame Download PDF

Info

Publication number
FR2646729A1
FR2646729A1 FR9005712A FR9005712A FR2646729A1 FR 2646729 A1 FR2646729 A1 FR 2646729A1 FR 9005712 A FR9005712 A FR 9005712A FR 9005712 A FR9005712 A FR 9005712A FR 2646729 A1 FR2646729 A1 FR 2646729A1
Authority
FR
France
Prior art keywords
sketches
point
definition
dimension
displacement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9005712A
Other languages
English (en)
Other versions
FR2646729B1 (fr
Inventor
Sampo Kaasila
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of FR2646729A1 publication Critical patent/FR2646729A1/fr
Application granted granted Critical
Publication of FR2646729B1 publication Critical patent/FR2646729B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/12Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
    • G06K15/128Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers generating or processing printable items, e.g. characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • G06K2215/0034Outline coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation

Abstract

L'invention concerne un procédé et un système de manipulation des esquisses d'une image de symbole dans différentes dimensions et par différents déplacements de points pour améliorer une figure de caractère numérique sur un dispositif de sortie à trame 17. Le procédé consiste à : mémoriser dans une première mémoire 16 des points de définition spécifiant lesdites esquisses d'une image de symbole, chacun desdits points de définition étant associé à une dimension et à un déplacement de point pour lequel lesdites esquisses nécessitent une manipulation; sélectionner un point de définition desdites esquisses qui nécessite une manipulation; indiquer une dimension pour laquelle lesdites esquisses nécessitent une manipulation; spécifier un déplacement de point dont doit être déplacé ledit point de définition; manipuler lesdites esquisses en utilisant ladite dimension et ledit déplacement de point qui sont associés à chaque point de définition provenant de ladite première mémoire; et mémoriser les résultats de ladite manipulation d'esquisses dans une seconde mémoire 10 de façon à former une famille de figures de caractères numériques améliorées.

Description

La présente invention concerne le domaine de la typographie numérique. En
particulier, la présente invention concerne des systèmes de restitution de polices permettant de restituer des figures de caractères numériques de haute qualité en vue d'un affichage
sur des dispositifs de sortie en petite trame.
Les techniques existantes de restitution de trames numériques sur des ordinateurs peuvent être classifiées en trois catégories: (1) type à configuration de bits, (2) type à algorithme, et
(3) type à esquisse.
Des techniques de restitution avec configura-
tion de bits constituent le moyen le plus direct pour représenter des polices du fait que, finalement, toutes les polices doivent être réalisées sous la forme de configurations de bits dans les dispositifs de sortie à trames tels que des imprimantes ou des tubes cathodiques. A cet égard, des polices sont décrites et manipulées sous la forme de configuration de bits explicites. Cependant, des techniques de ce genre consomment une proportion importante de la mémoire d'un ordinateur (par exemple cf. le brevet U.S. No. 4 029 947). Etant donné la grande diversité de figures de caractères, de sélection de dimensions de points et le choix infini de résolutions, les techniques de restitution avec configurations de
bits sont difficiles à mémoriser et à manipuler.
Les techniques de restitution algorithmique décrivent et spécifient des figures de caractères avec des programmes algorithmiques. Des programmes de ce genre peuvent être paramétriques, en permettant à des 'concepteurs et applicateurs de polices de modifier un modèle au moyen de paramètres à chaque fois que
le programme est exécuté.
Les techniques de restitution avec esquisses décrivent et manipulent des figures de caractères sous la forme d'esquisses. Une représentation compacte d'une police résulte de l'utilisation de tracés pour enregistrer et rétablir la forme de courbes. Les tracés sont des courbes qui sont définies par un petit ensemble de points de définition et de tangentes pré-établis. Certains fabricants de polices d'esquisses dans le monde utilisent un système basé sur les principes de IKARUS. Cf. Peter Karow, "Digital Formats for Typefaces", (URW Verlag, 1987). Des techniques de restitution de polices d'esquisses créent des esquisses à partir d'une entrée numérisée de figures de caractères et convertissent des esquisses automatiquement en des formes de configuration de bits équivalentes pour une transmission à un dispositif de sortie à
trame, comme une imprimante ou un tube cathodique.
Une représentation d'un dessin idéalisé par des esquisses - permet non seulement d'éviter une grande capacité de mémorisation mais permet également une édition
interactive par le concepteur de police.
Néanmoins, des esquisses ne restituent
pas parfaitement des caractères dans toutes les dimensions.
La plupart des systèmes de restitution de polices d'esquisses sont basés sur des structures de données qui supposent des étapes prédéfinies dans la définition d'esquisses. Quelques formats de polices d'esquisses
font intervenir ce qu'on appelle des "primitives".
Des "primitives" sont des méthodes fondamentales permettant de définir des esquisses, par exemple
de corriger la hauteur de figures de caractères.
Le petit nombre de pixels pour une petite résolution de trame rend difficile l'adaptation de polices ayant des dimensions et résolutions différentes. Il est à noter que la plupart des dispositifs de sortie à trame qui sont utilisés couramment, comme des tubes cathodiques et des imprimantes de dessins, rentrent
dans la catégorie de petites résolutions de trame.
Il en résulte qu'il est important d'améliorer la configuration de bits résultante de figures de caractères
-10 pourune petite résolution de trame.
En conséquence, un objet de la présente invention est d'améliorer la définition d'esquisses de systèmes de restitution de polices pour une petite
résolution de trame.
La présente invention concerne un procédé et un appareil qui sont très avantageusement utilisés en coopération avec un ordinateur numérique pour
améliorer la possibilité de restitution de polices.
Ce procédé permet à des systèmes de restitution de polices d'améliorer l'affichage d'une police pour une petite résolution de trame. Une police est un ensemble de glyphes qui possèdent généralement un certain degré de similitude dans leur aspect (par
exemple des empattements, ou une épaisseur de trait).
Un glyphe est une image graphique qui représente usuellement un caractère, un symbole ou un autre objet textuel. Une police d'esquisses est un moyen compact pour représenter des glyphes sur un ordinateur numérique par création d'esquisses à partir de points
de définition sur les glyphes.
Conformément à une réalisation typique de la présente invention, il est prévu des moyens pour recevoir à l'entrée une représentation d'esquisses d'une police, qui peut être composée de caractères alphanumériques, de caractères non romains ou d'autres symboles arbitraires. Cette représentation d'entrée est le plus avantageusement appliquée à un ordinateur numérique. Après sa réception, un programme de commande enregistré dans la mémoire de l'ordinateur assure l'affichage des esquisses sur un dispositif approprié,
comme un tube cathodique, pour le glyphe sélectionné.
Des instructions concernant des polices, notamment des techniques d'adaptation d'échelle, d'interpolation et de réticulation, sont disponibles pour un utilisateur de façon à produire des esquisses de figures de caractères avec des dimensions et résolutions différentes. La réticulation consiste à effectuer l'alignement de
points de définition intervenant dans une description
d'esquisses numériques sous la forme d'une grille et à effectuer une autre manipulation des positions des points de définition en vue de faciliter une
conversion d'analyse de sorties.
Du fait que les esquisses ne créent pas des caractères parfaits pour toutes les dimensions (en particulier de petites. dimensions), des systèmes de restitution de polices sont limités dans leurs possibilités d'amélioration des configurations de
bits résultantes pour une petite résolution de trame.
Des moyens de manipulation d'esquisses sont revendiqués dans la présente invention pour améliorer la commande de systèmes de restitution de polices en ce qui concerne les esquisses d'un glyphe. Des moyens de manipulation d'esquisses constituent des exceptions pour d'autres techniques de restitution de polices: lorsque ces moyens sont correctement structurés, ils déplacent des points de -définition sur les esquisses d'un glyphe avec une résolution de trame spécifique, ce déplacement correspondant
à une ou plusieurs fractions d'un pixel.
D'autres caractéristiques et avantages de l'invention, seront mis en évidence, dans la suite
de la description, donnée à titre d'exemple non limitatif
en référence aux dessins annexés dans lesquels: La Figure 1 représente un ordinateur
comportant la présente invention.
La Figure 2 montre un agencement typique de mémoire de programme dans le système de la Figure 1. La Figure 3 représente une structure de donnéed'esquisse de tracé-B typique pour mémoriser
un glyphe.
La Figure 4 représente une structure de donnée d'esquisse de tracé-B typique pour mémoriser
une police.
La Figure 5 représente un organigramme du processus de conversion d'une donnée de police de tracé-B en une figure de caractère numérique par l'intermédiaire d'un interpréteur et d'un convertisseur
d'analyse.
La Figure 6 représente des esquissés de tracés-B d'un caractère, avec ses points de définition
pour une petite résolution de trame.
La Figure 7 représente des esquisses de tracés-B d'un. caractère pour une petite résolution de trame, avec superposition de sa configuration
de bits résultante.
La Figure 8 représente une application d'exception Delta à un caractère pour une petite résolution de trame en vue de modifier des points
de définition et des esquisses.
La Figure 9 montre une amélioration de la configuration de bits résultante d'un caractère après que des exceptions Delta ont été appliquées
pour modifier des points de définition et des esquisses.
La Figure 10 montre la structure de données
d'une exception Delta.
La Figure 11 représente une table de
reconfiguration interne pour une exception Delta.
NOTATION ET NOMENCLATURE
La description détaillée - qui va suivre
est présentée largement en termes d'algorithmes et de représentations symboliques d'opérations effectuées sur des bits de données et des structures de données
à l'intérieur d'une mémoire d'ordinateur. Ces descriptions
algorithmiques et représentations sont les moyens utilisés par les spécialistes du domaine de traitement de données pour faire comprendre le plus efficacement l'essence de leurs travaux à d'autres spécialistes
de ce domaine.
Un algorithme est conçu ici, et d'une
façon générale, sous la forme d'une séquence spécifique-
ment logique d'étapes conduisant à un résultat désiré.
Ces étapes sont celles nécessitant une manipulation physique de quantités physiques. Usuellement, mais nécessairement, ces quantités prennent la forme de signaux électriques ou magnétiques capables d'être mémorisés, transférés, combinés, comparés et autrement manipulés. Il s'avère commode parfois, principalement pour des raisons d'usage commun, de rapporter à ces signaux des bits, des valeurs, des éléments, des symboles, des caractères, des termes, des nombres ou analogues. Cependant, il faut toujours considérer que tous ces termes, et les termes semblables, doivent être associés aux quantités physiques appropriées et constituent simplement des désignations appropriées
qui sont appliquées auxdites quantités.
En outre, les manipulations effectuées sont souvent désignées par des termes, comme par addition ou comparaison, qui sont communément associés à des opérationsmentales effectuées par un opérateur humain. Dans la plupart des cas, aucune capacité comparable d'un opérateur humain n'est nécessaire, ou souhaitable, pour l'une quelconque des opérations décrites ici et qui font partie de la présente invention, les opérations étant des opérations-machines. Des machines utiles pour effectuer les opérations de la présente invention comprennent des ordinateurs numériques d'utilisation générale, ou d'autres dispositifs semblables. -Dans tous les cas, il faudra faire une distinction entre les opérations méthodiques intervenant dans le fonctionnement d'un ordinateur et la méthode de calcul proprement dite. La présente invention se rapporte aux étapes méthodiques pour faire fonctionner un ordinateur en vue du traitement de signaux électriques ou d'autres signaux physiques (par exemple, mécaniques, chimiques) en vue de produire d'autres signaux physiques désirés. La présente invention se rapporte également
a un appareil pour l'exécution desdites opérations.
Cet appareil peut être spécifiquement construit pour les applications requises ou bien il peut comprendre
un ordinateur d'utilisation générale qui sera sélective-
ment actionné ou reconfiguré par un programme d'ordinateur mémorisé dans l'ordinateur. Les algorithmes présentés ici ne sont pas intrinsèquement en relation avec un ordinateur particulier ou un autre appareil. En particulier, différentes machines d'utilisation générale peuvent être employées avec des programmes établis en concordance avec les principes définis ici, ou bien il peut s'avérer plus commode de réaliser un appareil plus spécialisé pour l'exécution des étapes méthodiques requises. La structure requise pour une diversité de machines de ce genre ressortira de la
description donnée dans la suite.
DESCRIPTION DETAILLEE DE L'INVENTION
La description détaillée qui va suivre
est divisée en plusieurs chapitres. Le premier d'entre eux traitera d'un agencement général de système pour produire des polices numériques d'ordinateur. Les chapitres suivants traiteront le processus de création d'esquisses d'un glyphes, de spécifications de dimension et de résolution du glyphe devant être affiché, et de l'utilisation d'exceptions Delta pour déplacer des points de définition d'une ou plusieurs fractions de pixels quand cela est souhaité pour améliorer la configuration de bits résultante. Finalement, une application spécifique d'utilisation d'exceptions Delta sera décrite en relation à la modification
d'une lettre minuscule "o".
En outre, dans la description qui va
suivre, de nombreux détails spécifiques seront indiqués,
comme une convention algorithmique, des nombres spécifi-
ques de bits, etc., de manière à permettre une bonne compréhension de la présente invention. Cependant, il sera évident pour un spécialiste de ce domaine que la présente invention peut être mise en pratique sans ces détails spécifiques. Dans d'autres cas, des circuits et structures bien connus n'ont pas été décrits en détail pour ne pas obscurcir inutilement
la présente invention.
CONFIGURATION GENERALE DU SYSTEME
La Figure 1 représente un système typique basé sur ordinateur pour produire des images graphiques
d'ordinateur conformément à la présente invention.
La figure représente un ordinateur 10 qui comprend trois composants principaux. Le premier d'entre eux est le circuit d'entrée/sortie (I/O) 12, qui est utilisé pour transmettre des informations sous une forme de structure appropriée aux autres parties de l'ordinateur 10. L'unité centrale de traitement (CPU) 13 et la mémoire 14 font également partie de l'ordinateur 10. Ces deux derniers éléments sont prévus typiquement dans la plupart des ordinateurs d'utilisation générale et dans presque tous les ordina- teurs d'utilisation spéciale. En fait, les différents éléments prévus dans l'ordinateur 10 sont destinés à représenter la large catégorie de processeurs de données permettant de remplir le rôle de l'ordinateur 10 dans les machines fabriquées par la Société "Apple Computer Co.", Cupertino, Californie. D'autres ordinateurs ayant des capacités analogues peuvent évidemment être adaptés d'une manière directe pour remplir les différentes fonctions qui vont être décrites dans
la suite.
Sur la Figure 1 est également représenté un dispositif d'entrée 15, mis en évidence de façon typique sous la forme d'un clavier à touches. Cependant, il va de soi que ce dispositif d'entrée pourrait en réalité être un lecteur de cartes, un lecteur de bandes magnétiques ou de bandes de papier ou un autre dispositif d'entrée bien connu (notamment évidemment un autre ordinateur). Un dispositif 16 formant mémoire de masse est reli.é au circuit I/O 12 et crée une capacité additionnelle de mémorisation pour l'ordinateur 10. La mémoire de masse peut contenir d'autres programmes, des polices concernant des caractères donnés et analogues, et elle peut se présenter sous la' forme d'un lecteur de bandes magnétiques ou de papier ou d'un autre dispositif bien connu. Il est à noter que lès données contenues dans la mémoire de masse 16 peuvent, dans des cas appropriés, être incorporées d'une façon normalisée dans l'ordinateur 10 sous la forme d'une
partie de la mémoire 14.
En outre, la figure représente un moniteur d'affichage 17, qui est utilisé pour afficher les images en train d'être engendrées par la présente invention. Un tel moniteur d'image peut se présenter sous la forme de l'une quelconque des différentes variétés de visualiseur à tubes cathodiques. Une commande à curseur 18 est utilisée pour sélectionner des modes de gestion et pour éditer des données graphiques, comme par exemple une image particulière, et elle constitue un moyen plus commode pour introduire une
information dans le système.
La Figure 2 montre un agencement typique des programmes principaux contenus dans la mémoire 14 représentée sur la Figure 1. En particulier, il est représenté une configuration de bits de destination vidéo 21. Cette configuration de bits de destination représente la mémoire vidéo pour le moniteur d'affichage 17. Chaque bit de la configuration de bits de destination correspond à la coordonnée de gauche supérieure d'un
pixel correspondant sur le moniteur d'affichage.
En conséquence, la configuration de bits de destination peut être définie comme un- réseau bidimensionnel de points ayant des coordonnées connues. Evidemment, dans le cas présent o le moniteur d'affichage est utilisé en coopération avec un dispositif de sortie à petite trame comme une imprimante, les contenus de la configuration de bits 21 constitueraient la configuration de bits résultante et représenteraient les points de données à afficher par le dispositif
de sortie particulier à petite résolution de trame. -
La mémoire 14 contient également un programme de système 20 qui représente une diversité de séquences d'instructions à exécuter par l'unité CPU. Par exemple, les programmes de commande, comme ceux concernant le système d'interprétation, le système de conversion d'analyse, les systèmes d'actionnement de disques il et analogues, peuvent être mémorisés dans cet emplacement
de mémoire. -
Une ressource de polices 22 contient des polices de configurations de bits, des polices d'esquisses, des coordonnées et des caractères dans
la mémoire 14, ou bien elle peut être mémorisée temporai-
rement dans la mémoire de masse 16, selon ce qui peut être requis dans une application donnée de la présente invention. Additionnellement, un espace intérieur de la mémoire 14 est retenu pour d'autres programmes et pour former une mémoire de réserve qui est désignée par 23. Ces autres programmes peuvent comprendre une diversité de programmes de calcul
ou de service pouvant être utilisés éventuellement.
DESCRIPTION GENERALE DU PROCEDE
Le procédé de la présente invention sera mieux
compris en référence aux étapes que doit effectuer un con-
cepteur de police pour la création d'une police d'es-
quisses, pour l'adaptation d'échelle d'un glyphe à une dimension plus petite et pour la réticulation des
esquisses avec unepetite résolution de trame.
On a indiqué dans la suite certaines unités de mesure couramment utilisées dans le domaine de la typographie numérique et qui sont utiles en relation avec les quantités et qualités intervenant
dans la présente description. La dimension d'un caractère
est mesurée en points. Un pouce correspond à Dnviron 72 points. La résolution d'un dispositif de sortie à trame est exprimée en points par pouce (dpi). Des imprimantes à laser ont typiquement une résolution de 240 à 400 dpi tandis que des tubes cathodiques ont une résolution de 50 à 200 dpi. Pour l'expression d'une dimension d'un caractère -à afficher avec une résolution de trame particulière à la sortie, on utilise le nombre de pixels par em (ppem). Cela correspond auxproduits de la dimension et de la résolution, divisés
par le nombre de points dans un pouce.
Sur la Figure 2, la ressource de polices 22 se compose d'une structure de données qui contient les polices d'esquisses actuelles en même temps que des polices de configurations de- bits et d'autres ensembles de caractères standard. Un concepteur de police établira une police d'esquisses en effectuant
d'abord une description et une mémorisation d'un
glyphe dans un format d'esquisse ou de tracé. Des tracés-B de second ordre constituent une classe importante de tracés du fait qu'ils créent une bonne -approximation à des formes de lettres, qu'ils sont relativement rapides à calculer et qu'ils permettent à des utilisateurs d'établir à la fois des points de définition situés sur-courbe. et hors- courbe. Pour spécifier les esquisses d'un glyphe en utilisant un tracé-B de second ordre, on doit fournir: (i) le nombre d'esquisses, (ii) le dernier point de chaque contour, et (iii) un indicateur indiquant si un point de définition est situé sur l'esquisse ou en dehors de l'esquisse. En conséquence, des glyphes sont spécifiés dans les formats suivants, comme indiqué sur la Figure 3:
Domaine Octets Signes Description
2 Sanssigne Nombzed'esquisses 8 Avec signe Blocdedélimitation: x-min; ymin; x-max; et y-max
n Sans signe Points de terminai-
son d'esquisses
2 Sans signe Nombre d'octets uti-
lisés pour instruc-
tions n Sans signe Instruction pour glyphe - n Sans signe Liste d'indicateurs de points n Sans signe Coordonnées-x n Sans signe Coordonnées-y Le premier point de départ est exprimé en termes de coordonnées x et y absolus et il est, par définition, toujours le point 0 (zéro). Pour toutes les esquisses suivantes, le point de départ est le point de terminaison de la dernière esquisse plus un. En appliquant le format précité à notre exemple de la Figure 6, nous obtiendrions la structure de données suivante:
Caractéristique Nombre Description
Nombre d'esquisses 2 Le côté extérieur de la lettre "o" et son côté intérieur. Bloc de délimita- x-min; y-min Les quatre coins d'un tion xmax; y-max bloc délimitant un glyphe. Points de termi- 11, 23 L'esquisse pour le côté naison de extérieur part de 0-11
et celle du côté inté-
rieur part de 12-23 Nombre d'octets n Cette longueur spécifie pour instructions le nombre d'octets pour instructions.
Instructions n octets Emplacement des instruc-
tions actuelles pour la
définition d'un glyphe.
Liste d'indicateurs 24 indicateurs ,.pour 24 points Coordonnées-x 48 octets pour Dimension plus petite 24 points si une méthode compacte avec indicateurs est utilisée. Coordonnées-y 48 octets pour Dimension plus petite 24 points si une méthode compacte avec indicateurs est utilisée. La Figure 4 montre une structure de données possible pour une police d'esquisses lorsqu'une famille de glyphes correspondants est décrite et mémorisée dans la ressource de polices. La Table de Valeurs de Commande et le Pré-Programme seront particulièrement intéressants pour l'utilisateur. La Table de Valeurs de Commande se compose d'une série de figures pouvant être utilisées pour définir des dimensions uniformes pour différents éléments de glyphes ou de caractères. Par exemple, les informations suivantes peuvent être mémorisées: - Hauteur de majuscule (pour des caractères arrondis et des caractères plats) - Hauteur-x - Hauteur de partie ascendante (pour des caractères arrondis ou des caractères plats) Hauteur de partie descendante (pour des caractères arrondis ou des caractères plats) - Hauteur de figure - Chevauchements (exemple: le degré d'élancement d'une lettre majuscule "O" par rapport à une lettre majuscule "H") - Largeur de barres de caractères, etc. Les contenus de la Table de Valeurs de Commande correspondent aux unités fondamentales de
mesure dans le domaine de la typographie numérique.
La hauteur-x est la hauteur de base des lettres minuscules "x", tandis que la "partie ascendante" correspond aux parties des lettres minuscules qui s'étendent au-dessus de la hauteur-x et que la "partie descendante" correspond aux parties qui descendent en dessous de la ligne de base. Dans ces conditions, des instructions utilisant des valeurs tirées de la Table de Valeurs de Commande pourront restituer des glyphes avec les
dimensions de points appropriées.
Le Pré-Programme de la Figure 4 est un ensemble d'instructions qui modifient la Table de
Valeurs de Commande à l'intérieur de la police d'esquisses.
A chaque fois que l'utilisateur sélectionne une nouvelle police ou une nouvelle dimension dans la même police, le Pré-Programme est exécuté pour modifier les valeurs dans la Table de Valeurs de Commande. De façon analogue, le Pré-Programme établit l'Etat Graphique de l'inter- préteur avant que l'utilisateur commence à opérer
avec la nouvelle police ou avec la nouvelle dimension.
L'Etat Graphique est divisé en un état local et un état global. L'Etat Graphique local ne comporte par de mémoire inter-glyphes, de sorte qu'il est nouveau pour chaque glyphe. Au contraire, l'Etat Graphique global comporte une mémoire inter-glyphe et il intervient
ainsi en fait entre le Pré-Programme et le glyphe.
La Figure 5 représente un interpréteur
et un convertisseur d'analyse. L'entrée dans l'inter-
préteur se compose des points de commande qui définissent un glyphe, une information décrivant le début et la fin des esquisses, le Pré-Programme, des instructions
de police, et la Table de Valeurs de Commande. L'inter-
préteur dispose d'un Etat Graphique qui définit le contexte dans lequel l'une quelconque des instructions de polices opère. Par utilisation d'instructions
de polices, la réticulation d'un glyphe, la régularisa-
tion d'un texte et d'autres opérations concernant la police sont effectuées. L'utilisateur peut mettre en séquence des instructions de police dans un ordre quelconque, ce qui lui permet d'obtenir un haut degré de souplesse en ce qui concerne- la commande de la police. On a donné dans la suite un tableau synoptique des différentes grandes catégories d'instructions de polices, parmi lesquelles des utilisateurs peuvent effectuer une sélection pour une restitution de polices numériques: Fonction de Sous-Programmes Nombre de Sous-Programmes Séparation et projection de vecteurs 10
Pointeurs internes et d'élé-
ments de caractères 7
Modification de réglages in-
ternes 14 Manipulation de piles 7 Instructions d'interpolation et de décalage 7 Déplacement de points 8 Lecture et écriture de données 11 Instructions de relation logiques il Instructions d'états-IF 2 Instructions arithmétiques et mathématiques 10 Instructions de courte progression 2 Appels de fonctions 4 Exceptions Delta 3 Lecture et écriture de valeurs métriques 3 Instructions de déblocage 1 Le répertoire d'instructions de polices, associé à la méthode souple de réticulation, offre
aux utilisateurs la liberté de restitution et d'améliora-
tion en ce qui concerne des figures de caractères
numériques pour de petites résolutions de trame.
En particulier, les exceptions Delta définissent uenuel 6hd une nouvelle méthode permettant un déplacement -de points de définition d'une ou plusieurs fractions d'un pixel. L'ajustement incrémental pour une petite résolution de trame permet à des utilisateurs de
résoudre ce qu'on appelle des cas "impossibles".
APPLICATIONS SPECIFIQUES DU PROCEDE DE L'INVENTION
Apres avoir décrit en détail la configuration générale du système, le processus et la terminologie du procédé de l'invention, on va maintenant montrer l'applications d'exceptions Delta à un exemple spécifique, notamment la modification' de représentation de la lettre minuscule "o", comme indiqué sur les Figures
6 à 11.
En référence maintenant aux dessins, l'esquisse à l'échelle de la lettre originale "o" est.représentée sur la Figure 6. La lettre a été transposée en échelle de la dimension de 2048 ppem à la dimension de 18 ppem. Les esquisses spécifiant la lettre "o" comprennent deux esquisses continues l'esquisse 0-11 dans le sens des aiguilles d'une montre et l'esquisse 1223 dans, le sens contraire des aiguilles d'une montre. Les points de définition dans un tracé-B de second ordre sont situés soit sur l'esquissesoit en dehors de l'esquisse: par exemple, les points de définition 0 et 3 sont situés aux extrémités du tracé entre eux tandis que les points de définition 1 et 2 sont des tangentes et
sont situés en dehors de la courbe tracée.
Sur la Figure 7, la configuration de bits résultante concernant les esquisses tracées
pour la lettre minuscule "o" est superposée à l'esquisse.
Pour une résolution de (10 x 9) points, la configuration de bits résultante concernant l'esquisse de la -lettre minuscule "o" ne donne pas satisfaction. Non seulement la configuration de bits n'est pas symétrique mais également les parties verticale et horizontale de la configuration de bits sont mutuellement hors de proportion. Cette altération visuelle se produit du fait que les points de définition de l'esquisse ne coïncident pas toujours avec la position de réticulation discrète correspondant à la résolution du dispositif d'affichage à trame. En outre, une distorsion due à une petite différence de hauteur ou de largeur est augmentée lorsque l'échelle de la figure de caractères diminue. En référence à la Figure -8, des instructions de police ont été appliquées aux esquisses tracées pour la lettre minuscule "o". Les instructions sont résumées comme suit: (i) selon l'axe-x, déplacer le point de définition 9 vers la gauche jusqu'au
point de grille le plus proche en utilisant une instruc-
tion MDAP, (ii) fixer une distance entre le point de définition 9 et le point de définition 15, (iii) fixer une autre distance entre le point de définition 9 et le point de définition 3 en utilisant une instruction MDAP, (iv),fixer une distance entre le point de définition 3 et le point de définition 21 semblable à la distance entre les points de définition 9 et 15 dans la partie (ii), (v) uniformiser tous les autres points de définition non concernés par les instructions de police précédentes, (vi) appliquer des exceptions pendant Delta, et (vii) répéter les étapes précédentes d'une façon semblable pour l'axe-y. Les instructions de police et les exceptions
Delta permettant d'obtenir le résultat précité intervien-
nent également dans les parties supérieures de la
Figure 8.
La Figure 9 montre le résultat d'application d'instructions de police et également d'exceptions Delta pour améliorer la configuration de bits résultante concernant la lettre minuscule "o" pour une résolution de (10 x 9) points. Comme le montrent les pixels dans l'arrière-plan, la figure de caractère numérique
de la lettre minuscule "o" est symétrique et proportion-
nelle. Ce qui est plus important, des exceptions-
Delta sont capables de déplacer plus d'un point de définition dans une gamme de dimensions. Ainsi, un utilisateur peut corriger de façon interactive les configurations de bits résultantes d'un glyphe quelconque dans une gamme de petites résolutions de trame et, au cours de l'opération, il peut établir une famille de figures de caractères numériques qui soient mieux appropriées pour un affichage sur des
dispositifs de sortie à petite trame.
L'exception-Delta exploite un nombre variable d'arguments extraits de la pile et la structure de données permet l'utilisation d'une exception ayant la forme suivante: Delta (0) [argument, pt#]. Pt# est le nombre affecté à un point de définition particulier sur une esquisse. En référence à la Figure 10, la
pile comporte, par exemple, six arguments Delta.
Chaque argument comporte deux parties; il a une longueur d'un octet et est composé de deux parties: un créneau haut mémorisant une dimension du glyphe sur lequel l'utilisateur désire opérer; un créneau bas correspondant à un petit déplacement du point de définition et mémorisant la distance Pt# de déplacement le long du Vecteur Projection. Un vecteur "Liberte de projection" indique dans quelle direction l'utilisateur
désire déplacer le point de définition particulier.
Pour spécifier la dimension correcte correspondant au créneau haut, l'utilisateur doit soustraire le ppem actuel de la Base Delta. La Base Delta est indiquée dans l'Etat Graphique global et elle a une valeur de défaut de 9. Si l'utilisateur ne change pas la valeur de défaut de la Base Delta, l'exception Delta de plus petite résolution qui intervient correspond à 9 ppem. Evidemment, la Base Delta peut être modifiée
en adaptation aux besoins de l'utilisateur.
Pour indiquer la distance correcte de déplacement du point de définition correspondant au créneau bas, l'utilisateur se référera à la Figure 11 qui représente une table de reconfiguration interne concernant le créneau bas de déplacement de points de définition de la pile. Le Décalage Delta a des valeurs comprises entre 0 et 15. Comme la Base Delta, le Décalage Delta est trouvé dans l'Etat Graphique global et la valeur de défaut est de 3. Une exception Delta déplace des points de définition d'une ou plusieurs fractions (un sur deux porté à la puissance de Décalage Delta) d'un pixel. Une détermination de la valeur correcte concernant le créneau bas nécessite que l'utilisateur établisse une corrélation entre la fraction désirée et la gamme de sortie, divisé par 2 porté à la puissance de Décalage Delta. Par exemple, si l'utilisateur désire déplacer Pt # d'un quart de pixel vers la droite, alors une valeur de 2 pour
la gamme de sortie est appropriée (2/8=1/4). En consé-
quence, la gamme d'entrée correspondante est de 9 - la valeur correcte pour le créneau bas. Exactement comme Base Delta, Décalage Delta peut prendre une valeur autre que la valeur de défaut de 3. Il est à noter qu'il est possible de déplacer tout point de définition d'une distance supérieure à un pixel
si Décalage Delta à une valeur inférieure à 3.
On va supposer que l'utilisateur désire déplacer un point de définition Pt # 15 du glyphe correspondant de 1/8 de pixel le long de l'axe-x jusqu'à la dimension 12. Le créneau haut aurait une valeur de 12 - 9 = 3. Pour spécifier 1/8 de pixel, la valeur de gamme de sortie de 1 donne 1/8, lorsqu'il est divisé par 2 porté à la puissance de Décalage Delta. En conséquence, la valeur d'entrée correspondante
de 8 devrait être mémorisée dans le créneau bas.
Une combinaison du créneau haut avec 3 et du créneau
bas avec 8 produit le nombre 56 (00111000, en binaire).
264672g Dans cette condition, l'exception Delta prendra la
forme Delta (0) 56 1.
Dans une application concernant l'exemple concret de la Figure 8, les exceptions- Delta utilisées suivant l'axe-x ont opéré sur les points de définition suivants dans la gamme de résolution indiquée et ont déplacé chaque point de définition d'une ou plusieurs fractions de pixels donnés: Exeption Delta Cré- Dimension Cr6- Déplacement Points de neau de neau de point de Définition haut Glyphes bas Définition Delta 86 I 0101 14 0110 1/4 Pixel Delta 86 5 0101 14 0110 -1/4 Delta 214 1 1101 22 0110 -1/4 Delta 217 1 1101 22 1001 1/4 Delta 214 7 1101 22 0110 -114 Delta 217 5 1101 22 1001 1/4 Delta 230 11 1110 23 0110 -1/4 Delta 233 1 1110 23 1001 1/4 Delta 230 7 1110 23 0110 1/4 Delta 233 5 1110 23 1001 114 Delta 242 1l 1111 24 0010 -3/4 Delta 253 1 1 111 24 1101 3/4 Delta 242 7 1111 24 0010 -314 Delta 253 5 1111 24 1101 3/4
Il est à noter à partir de la description
faite ci-dessus que des exceptions Delta permettent à un utilisateur de systèmes de restitution de polices de corriger rapidement et d'ajuster les esquisses d'un glyphe dans une large gamme de résolutions (de 9 ppem jusqu'à 24 ppem). En utilisant des exceptions Delta, l'inventeur a amélioré la restitution de figures de caractères numériques avec des dispositifs de sortie à trame pour une résolution aussi basse que
72 dpi.
On se rendra compte à partir de la description
précédente d'une application spécifique du procédé de l'invention que ce procédé peut être utilisé dans une diversité d'applications pour améliorer la restitution de figures de caractères numériques ou de données de polices de manière à obtenir des configurations de bits résultantes pour une petite résolution de trame. En outre, le format des données d'entrée de
polices n'est pas limité à des polices de tracés-
B de second ordre. Par exemple, l'un quelconque des formats de typeesquisse convient pour introduire des données servant à une amélioration d'esquisses avec des exceptions Delta. De façon analogue, le procédé peut être utilisé pour produire des esquisses alignées par réticulation pour une transmission à
d'autres dispositifs de sortie.

Claims (8)

REVENDICATIONS
1. Procédé de manipulation des esquisses d'une image de symbole dans différentes dimensions et par différents déplacements de points pour améliorer une figure de caractère numérique sur un dispositif de sortie à trame, comprenant les étapes consistant à: - mémoriser dans une première mémoire des points de définition spécifiant lesdites esquisses d'une image de symbole, chacun desdits points de définition étant associé à une dimension et à un déplacement de point pour lequel lesdites esquisses nécessitent une manipulation; - sélectionner un point de définition desdites esquisses qui nécessite une manipulation; - indiquer une dimension pour laquelle lesdites esquisses nécessitent une manipulation; spécifier un déplacement de point dont doit être déplacé ledit point de définition; - manipuler lesdites esquisses en utilisant ladite dimension et ledit déplacement de point qui sont associés à chaque point de définition provenant de ladite première mémoire; et - mémoriser les résultats de ladite manipulation d'esquisses dans une seconde mémoire; de façon à former une famille de figures de caractères
numériques améliorées.
2. Procédé selon la revendication 1, caractérisé en ce que ledit déplacement de point correspond à une distance prédéterminée dont ledit
- point de définition est déplacé pour ladite dimension.
3. Procédé selon la revendication 2, caractérisé en ce que ladite distance prédéterminée comprend une fraction, dont le dénominateur est égal à 2 porté à la puissance de ladite valeur de déplacement
du point.
4. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre l'étape de manipulation desdites esquisses successivement dans chaque dimension, de façon à former une famille de nouvelles figures de caractères numériques.
5. Système d'affichage à ordinateur pour manipuler les esquisses d'une image de symbole dans différentes dimensions et par différents déplacements de points pour un affichage d'une figure de caractère numérique sur un dispositif de sortie à trame, ledit système d'affichage à ordinateur comprenant: - une première mémoire pour mémoriser des points de définition spécifiant lesdites esquisses d'une image de symbole, chacun desdits points de définition étant associé à une dimension et à un déplacement de point pour lequel lesdites esquisses nécessitent une manipulation; - un moyen d'indication de la dimension pour laquelle lesdites esquisses nécessitent une manipulation; - un moyen de déplacement de point pour spécifier la valeur du déplacement dudit point de définition; - un moyen de manipulation pour la manipulation
desdites esquisses par utilisation dudit moyen d'indica-
tion de dimensions et dudit moyen d'indication de déplacement de point en association avec chaque point de définition provenant de ladite première mémoire; - une seconde mémoire pour mémoriser les résultats desdites manipulation d'esquisses; de façon à former une famille de figures de caractères
numériques améliorées.
6. Système selon la revendication 5, caractérisé en ce que ledit moyen de déplacement de point définit une distance prédéterminée dont ledit point de définition doit être déplacé pour
ladite dimension.
7. Système selon la revendication 6, caractérisé en ce que ladite distance prédéterminée correspond à une fraction, dont le dénominateur est égal à 2 porté à la distance dudit déplacement de point.
8. Système selon la revendication 5, caractérisé en ce qu'il comprend en outre un moyen de manipulation desdites esquisses successivement dans chaque dimension de façon à former une famille
de nouvelles figures de caractère numérique.
FR9005712A 1989-05-08 1990-05-07 Procede et systeme de manipulation des esquisses d'une image de symbole dans differentes dimensions et par differents deplacements de points pour ameliorer une figure de caractere numerique sur un dispositif de sortie a trame Expired - Lifetime FR2646729B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/348,703 US5159668A (en) 1989-05-08 1989-05-08 Method and apparatus for manipulating outlines in improving digital typeface on raster output devices

Publications (2)

Publication Number Publication Date
FR2646729A1 true FR2646729A1 (fr) 1990-11-09
FR2646729B1 FR2646729B1 (fr) 1995-11-17

Family

ID=23369167

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9005712A Expired - Lifetime FR2646729B1 (fr) 1989-05-08 1990-05-07 Procede et systeme de manipulation des esquisses d'une image de symbole dans differentes dimensions et par differents deplacements de points pour ameliorer une figure de caractere numerique sur un dispositif de sortie a trame

Country Status (3)

Country Link
US (1) US5159668A (fr)
JP (1) JPH03208094A (fr)
FR (1) FR2646729B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0461811A2 (fr) * 1990-06-11 1991-12-18 Canon Kabushiki Kaisha Méthode de traitement de motifs

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559940A (en) * 1990-12-14 1996-09-24 Hutson; William H. Method and system for real-time information analysis of textual material
US6377261B1 (en) * 1991-02-28 2002-04-23 Adobe Systems Incorporated Compiling glyphs into instructions for imaging for execution on a general purpose computer
US5553219A (en) * 1991-05-10 1996-09-03 Fuji Xerox Co., Ltd. Font outline and bit map generator synthesizing filling data with selected outline data or duplicate outline data
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
JP2962937B2 (ja) * 1992-07-14 1999-10-12 キヤノン株式会社 文字処理装置及び方法
JPH06208370A (ja) * 1992-08-28 1994-07-26 Go Corp エイリアシング阻止および格子適合を結合した文字表示ラスタ化方法
TW262547B (fr) * 1992-11-30 1995-11-11 Canon Kk
US5623588A (en) 1992-12-14 1997-04-22 New York University Computer user interface with non-salience deemphasis
US8381126B2 (en) 1992-12-14 2013-02-19 Monkeymedia, Inc. Computer user interface with non-salience deemphasis
US20080158261A1 (en) 1992-12-14 2008-07-03 Eric Justin Gould Computer user interface for audio and/or video auto-summarization
US5715473A (en) * 1992-12-29 1998-02-03 Apple Computer, Inc. Method and apparatus to vary control points of an outline font to provide a set of variations for the outline font
US5796409A (en) * 1993-04-06 1998-08-18 Ecole Polytechnique Federale De Lausanne Method for producing contrast-controlled grayscale characters
US5586241A (en) * 1993-06-10 1996-12-17 Hewlett-Packard Company Method and system for creating, specifying, and generating parametric fonts
JP3021278B2 (ja) * 1993-08-30 2000-03-15 シャープ株式会社 均一幅線の生成装置及び均一幅線の生成方法
US5459307A (en) * 1993-11-30 1995-10-17 Xerox Corporation System for storage and retrieval of digitally encoded information on a medium
US5517601A (en) * 1994-09-30 1996-05-14 Hewlett-Packard Company High speed apparatus and method for rasterization of font glyphs
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6393158B1 (en) 1999-04-23 2002-05-21 Monkeymedia, Inc. Method and storage device for expanding and contracting continuous play media seamlessly
US10051298B2 (en) 1999-04-23 2018-08-14 Monkeymedia, Inc. Wireless seamless expansion and video advertising player
EP1203345A4 (fr) * 1999-04-29 2004-04-14 Microsoft Corp Procede, systeme et structures de donnees permettant de maintenir une position de base consistante dans un systeme de rendu textuel
JP2001195330A (ja) * 2000-01-11 2001-07-19 Nec Mobile Commun Ltd ゲートウェイサーバ及びコンテンツ取得方法
US7343082B2 (en) 2001-09-12 2008-03-11 Ryshco Media Inc. Universal guide track
US7136067B2 (en) * 2004-01-26 2006-11-14 Microsoft Corporation Using externally parameterizeable constraints in a font-hinting language to synthesize font variants
US7187382B2 (en) * 2004-01-26 2007-03-06 Microsoft Corporation Iteratively solving constraints in a font-hinting language
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US7236174B2 (en) * 2004-01-26 2007-06-26 Microsoft Corporation Adaptively filtering outlines of typographic characters to simplify representative control data
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7292247B2 (en) * 2004-01-26 2007-11-06 Microsoft Corporation Dynamically determining directions of freedom for control points used to represent graphical objects
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US20060041484A1 (en) 2004-04-01 2006-02-23 King Martin T Methods and systems for initiating application processes by data capture from rendered documents
US8799303B2 (en) 2004-02-15 2014-08-05 Google Inc. Establishing an interactive environment for rendered documents
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US8081849B2 (en) 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US20070300142A1 (en) 2005-04-01 2007-12-27 King Martin T Contextual dynamic advertising based upon captured rendered text
WO2008028674A2 (fr) 2006-09-08 2008-03-13 Exbiblio B.V. Scanners optiques, tels que des scanners optiques portables
US8793162B2 (en) 2004-04-01 2014-07-29 Google Inc. Adding information or functionality to a rendered document via association with an electronic counterpart
US8621349B2 (en) 2004-04-01 2013-12-31 Google Inc. Publishing techniques for adding value to a rendered document
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US20080313172A1 (en) 2004-12-03 2008-12-18 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US9460346B2 (en) 2004-04-19 2016-10-04 Google Inc. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US20110096174A1 (en) * 2006-02-28 2011-04-28 King Martin T Accessing resources based on capturing information from a rendered document
US8920343B2 (en) 2006-03-23 2014-12-30 Michael Edward Sabatino Apparatus for acquiring and processing of physiological auditory signals
US8638363B2 (en) 2009-02-18 2014-01-28 Google Inc. Automatically capturing information, such as capturing information using a document-aware device
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
WO2010105245A2 (fr) 2009-03-12 2010-09-16 Exbiblio B.V. Fourniture automatique de contenu associé à des informations capturées, de type informations capturées en temps réel
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US9536279B2 (en) 2013-03-11 2017-01-03 Google Technology Holdings LLC Method and apparatus for creating a graphics data representation and scaling a graphic represented thereby
CN105183708A (zh) * 2014-06-05 2015-12-23 北大方正集团有限公司 一种基于微博内容的书籍制作方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4029947A (en) * 1973-05-11 1977-06-14 Rockwell International Corporation Character generating method and system
EP0167838A2 (fr) * 1984-07-06 1986-01-15 MILES INC. (an Indiana corporation) Méthode pour produire des données typographiques avec possibilité de changement d'échelle
WO1987004835A1 (fr) * 1986-02-07 1987-08-13 Bitstream Inc. Generation automatique de caracteres en mode point a partir de contours
DE3806223A1 (de) * 1987-02-27 1988-09-08 Hitachi Ltd Verfahren zur erzeugung eines zeichenabbilds

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6273385A (ja) * 1985-09-27 1987-04-04 Toshiba Corp 境界検出対象領域指示回路
US4829446A (en) * 1986-12-12 1989-05-09 Caeco, Inc. Method and apparatus for recording and rearranging representations of objects in a model of a group of objects located using a co-ordinate system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4029947A (en) * 1973-05-11 1977-06-14 Rockwell International Corporation Character generating method and system
EP0167838A2 (fr) * 1984-07-06 1986-01-15 MILES INC. (an Indiana corporation) Méthode pour produire des données typographiques avec possibilité de changement d'échelle
WO1987004835A1 (fr) * 1986-02-07 1987-08-13 Bitstream Inc. Generation automatique de caracteres en mode point a partir de contours
DE3806223A1 (de) * 1987-02-27 1988-09-08 Hitachi Ltd Verfahren zur erzeugung eines zeichenabbilds

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0461811A2 (fr) * 1990-06-11 1991-12-18 Canon Kabushiki Kaisha Méthode de traitement de motifs
EP0461811A3 (en) * 1990-06-11 1992-11-19 Canon Kabushiki Kaisha Pattern processing method
US5519412A (en) * 1990-06-11 1996-05-21 Canon Kabushiki Kaisha Pattern processing method

Also Published As

Publication number Publication date
FR2646729B1 (fr) 1995-11-17
US5159668A (en) 1992-10-27
JPH03208094A (ja) 1991-09-11

Similar Documents

Publication Publication Date Title
FR2646729A1 (fr) Procede et systeme de manipulation des esquisses d'une image de symbole dans differentes dimensions et par differents deplacements de points pour ameliorer une figure de caractere numerique sur un dispositif de sortie a trame
US10467508B2 (en) Font recognition using text localization
US10699166B2 (en) Font attributes for font recognition and similarity
US8400473B2 (en) Multi-operator media retargeting
CN101849246B (zh) 缩放图像的系统和方法
US11049307B2 (en) Transferring vector style properties to a vector artwork
US9824304B2 (en) Determination of font similarity
FR2638264A1 (fr) Procede pour minimiser la degradation visuelle de caracteres numerises, notamment lors de leur affichage sur un ecran
US20180174276A1 (en) Completing an image
US11314400B2 (en) Unified digital content selection system for vector and raster graphics
CN110163866A (zh) 一种图像处理方法、电子设备及计算机可读存储介质
US20230262189A1 (en) Generating stylized images on mobile devices
CN107808363B (zh) 图像遮罩处理方法及装置
CN114298900A (zh) 图像超分方法和电子设备
US8405681B2 (en) Image comparison by asymmetric dynamic warping
US11295494B2 (en) Image modification styles learned from a limited set of modified images
EP1701292A2 (fr) Analyse de mise en page de document avec contrôle de zone sans caractères
CN110991440A (zh) 一种像素驱动的手机操作界面文本检测方法
US7170528B1 (en) Fast glyph rendering for vector based fonts
CN101841641B (zh) 一种基于细分方法的视频放大方法及系统
US11854128B2 (en) Automated digital tool identification from a rasterized image
CN117274438B (zh) 一种图片翻译方法及系统
CN115496990B (zh) 一种基于深度学习的服装图像解析方法
AU2019213404B2 (en) Unified selection model for vector and raster graphics
EP4336457A1 (fr) Appareil de traitement d'image pour générer un profil de surface d'un modèle géométrique tridimensionnel, son procédé de commande et support d'informations