FR2638263A1 - Appareil pour la conversion de donnees de contour d'image en donnees de point representatives de points a former - Google Patents

Appareil pour la conversion de donnees de contour d'image en donnees de point representatives de points a former Download PDF

Info

Publication number
FR2638263A1
FR2638263A1 FR8913972A FR8913972A FR2638263A1 FR 2638263 A1 FR2638263 A1 FR 2638263A1 FR 8913972 A FR8913972 A FR 8913972A FR 8913972 A FR8913972 A FR 8913972A FR 2638263 A1 FR2638263 A1 FR 2638263A1
Authority
FR
France
Prior art keywords
data
coordinate
point
axis
values
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
FR8913972A
Other languages
English (en)
Other versions
FR2638263B1 (fr
Inventor
Naoyuki Kawamoto
Yoshida Hitoshi
Takahiro Kanegae
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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
Priority claimed from JP63269074A external-priority patent/JPH0747339B2/ja
Priority claimed from JP1078782A external-priority patent/JPH0743584B2/ja
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Publication of FR2638263A1 publication Critical patent/FR2638263A1/fr
Application granted granted Critical
Publication of FR2638263B1 publication Critical patent/FR2638263B1/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
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/182Extraction of features or characteristics of the image by coding the contour of the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Appareil comprenant un dispositif 16, 38, S2 pour calculer les valeurs de coordonnées des intersections entre le contour d'image et des lignes de balayage parallèles x, y, superposées dans un système de coordonnées, et un dispositif 12, 16, 22, S3 pour stocker les valeurs de coordonnées calculées de sorte que les valeurs pour chaque ligne de balayage sont rangées dans l'ordre de la grandeur des valeurs et deux valeurs ordonnées adjacentes sont associées en une paire de valeurs de coordonnées. L'appareil comprend en outre un dispositif 16, 40, S8 pour préparer un lot de données de point indicatives des points à former dans des éléments d'image correspondants positionnés dans le système de coordonnées. Les données de point sont préparées de sorte que les bits successifs des données de point correspondant à des éléments d'image successifs, qui consistent en deux éléments d'image représentés par la paire précitée de valeurs de coordonnées et en au moins un élément d'image entre ces derniers, sont établis simultanément de manière que chacun des bits successifs indique un point à former dans l'élément d'image correspondant.

Description

i Appareil pour la conversion de données de contour d'image en données de
point représentatives de points
à former.
La présente invention concerne d'une manière générale un appareil pour la conversion de données de contour représentatives d'un contour d'une image, telle
qu'une lettre, un symbole et une représentation graphi-
que, en données de point représentatives de points à former pour reproduire l'image. Plus particulièrement, la présente invention concerne des perfectionnements d'un
tel appareil de données.
Des images, telles que des caractères compre-
nant des lettres et des symboles représentés par des don-
nées d'image, sont imprimées, affichées ou reproduites
d'une autre façon conformément aux données d'image trai-
tées de façon appropriée par un ordinateur. Habituelle-
ment, les données d'image sont sous la forme de données de point indiquant si un point doit ou non être formé dans chacun des éléments d'image qui sont la plus petite partie de l'image et qui déterminent la résolution de l'image reproduite. Si on prépare un lot de données de point représentatives de toutes les images disponibles pour la reproduction et si on le stocke dans une mémoire de données d'image, telle qu'une mémoire de données de
caractères, la mémoire doit avoir une très grande capaci-
té de stockage. Il est donc souhaitable de stocker un lot de données de contour représentatives des contoursdes images, telles que les caractères, et de convertir les données de contour en données de point correspondantes, à l'aide de moyens appropriés de conversion de données, lorsqu'on imprime, affiche ou reproduit d'une autre façon les images, comme décrit dans la Publication de brevet
japonais n 53-41017.
Dans les moyens de conversion de données dé-
crits dans la publication précitée, les données de con-
tour sont définies dans un système de coordonnées dans
lequel les éléments d'image sont définis par une plura-
lité de lignes de balayage parallèles, qui sont parallè-
les à l'un des axes X etY. Par exemple, chaque trait
d'un caractère est défini par les éléments d'image (ap-
pelés "éléments d'image de contour") dans lesquels se trouvent les intersections entre le contour du caractère et chaque ligne de balayage. Les bits des données de point correspondant à ces éléments d'image de contour sont tous établis de manière à indiquer les points à
former dans les éléments d'image de contour correspon-
dants. Ces bits sont appelés "bits de formation de point".
Ensuite, les bits des données de point correspondant aux éléments d'image (appelés "éléments d'image intérieurs") qui sont entourés par le contour défini par les éléments
d'image de contour sont tous établis comme bits de forma-
tion de point.
Cet appareil connu de conversion de données
est donc conçu pour exécuter deux opérations de prépara-
tion d'un lot nécessaire de données de point, à savoir une première opération pour obtenir les bits de formation de point concernant les éléments d'image de contour, et une deuxième opération pour obtenir les bits de formation de point concernant les éléments d'image intérieurs. En
outre, l'appareil connu nécessite que la deuxième opéra-
tion soit effectuée de sorte que la valeur logique des
bits est établie, un bit après l'autre, pour les élé-
ments d'image intérieurs individuels. Autrement dit, l'appareil nécessite une détermination pour chacun d'un grand nombre de bits de données de point correspondant
à un grand nombre d'éléments d'image de contour et d'élé-
ments intérieurs disposés le long de chaque ligne de ba-
layage,afin de vérifier si chaque bit est un bit de for-
mation de point ou non. Les bits sont établis de manière à indiquer l'absence de points à former (c'est-à-dire
l'absence d'une partie quelconque du caractère à repro-
duire), jusqu'à ce qu'on détecte un premier bit de forma-
tion de point pour un élément d'image de contour, le long de la ligne de balayage considérée. Les bits si- tués entre le premier bit de formation de point détecté et un deuxième bit de formation de point pour un autre élément d'image de contour sont tous établis de manière à indiquer les points à former, c'est-à-dire établis
comme bits de formation de point pour les éléments d'ima-
ge intérieurs. Les bits qui suivent le deuxième bit de
formation de point détecté pour le deuxième élément d'i-
mage de contour sont établis de manière à indiquer l'ab-
sence de points à former, jusqu'à ce qu'on détecte un troisième bit de formation de point pour un troisième élément d'image de contour le long de la ligne de balayage
considérée.Les bits qui suivent le troisième bit de for-
mation de point détecté sont également établis comme
bits de formation de point pour un autre groupe d'élé-
ments d'image intérieurs. Par conséquent, l'appareil
connu de conversion de données n'est pas un appareil suf-
fisamment efficace et il demande un temps de traitement de données relativement long pour vérifier chacun des bits, pour chaque ligne de balayage, afin de déterminer
si le bit doit ou non être un bit de formation de point.
La présente invention a donc pour premier objet de procurer un appareil de conversion de données capable de convertir efficacement les données de contour d'une
image en données de point.
Un deuxième objet est de procurer un appareil
de conversion dedonnées capable de convertir des don-
nées de contour d'une image ayant une partie relativement
étroite, en données de point se conformant aussi exac-
tement que possible au contour de l'image.
Le premier objectif peut être atteint confor-
mément au principe d'un premier aspect de la présente in-
vention, qui procure un appareil de conversion de données
pour convertir un lot de données de contour représentati-
ves d'un contour d'une image, telle qu'une lettre, un symbole ou une représentation graphique, en un lot de données de point qui sont indicatives de ce qu'un point doit ou non être formé dans chacun des éléments d'image positionnés dans un système de coordonnées dans lequel les dites données de contour sont définies, caractérisé par (a) des moyens de calcul de coordonnées, pour calculer les valeurs de coordonnées des intersections entre le contour de l'image dans le système de coordonnées et
une pluralité de lignes de balayage parallèles superpo-
sées au contour dans le système de coordonnées; (b) des moyens de stockage de coordonnées pour stocker les
valeurs de coordonnées calculées par les moyens de cal-
cul de coordonnées, de sorte que les valeurs de coor-
données pour chacune des lignes de balayage sont agen-
cées dans l'ordre de la grandeur des valeurs et deux valeurs adjacentes des valeurs ordonnées sont associées
en une paire de valeurs de coordonnées; et (c) des mo-
yens de préparation de données de point, pour prépa-
rer un lot de données de point de sorte que les bits suc-
cessifs des données de point correspondant à une plura-
lité d'éléments d'image successifs,qui sont constitués
de deux éléments d'image représentés par la paire pré-
citée de valeurs de coordonnées et d'au moins un élé-
ment d'image entre les deux éléments d'image précités, sont établis simultanément de sorte que chacun des bits successifs indique un point à former dans l'élément
d'image correspondant.
L'expression "valeurs de coordonnées des in-
tersections entre le contour de l'image et les lignes
de balayage" doit se comprendre comme désignant les va-
leurs de coordonnées des éléments d'image si les inter-
sections sont situées à l'endroit des éléments d'image respectifs, par exemple aux centres des éléments d'image
appropriés, ou bien les valeurs de coordonnées des élé-
ments d'image qui sont les plus proches des intersec-
tions considérées si les intersections ne sont pas si-
tuées à l'endroit des éléments d'image.
L'appareil de conversion de données de la présente invention, construit comme décrit ci-dessus,
est prévu pour convertir les données de contour en don-
nées de bit correspondantes, directement sur la base des
valeurs de coordonnées de chaque paire de valeurs ordon-
nées adjacentes des deux intersections entre le contour d'image et chaque ligne de balayage, de sorte que les bits successifs des données de point correspondant à tous les éléments d'image successifs déterminés par les deux éléments d'image représentés par les deux valeurs de coordonnées ordonnées adjacentes précitées pour chaque
ligne de balayage sont établis simultanément d'une ma-
nière telle que les bits successifs engendrent la forma-
tion de points dans les éléments d'image correspondants.
Cet agencement diffère de l'agencement usuel dans lequel on prépare un lot de données de point pour les éléments d'image de contour qui définissent le contour de l'image, et on prépare ensuite un autre lot de données de point
pour les éléments d'image intérieurs dans le contour d'i-
mage, sur la base des données de point précédemment pré-
parées pour les éléments d'image de contour. On stocke les coordonnées calculées par les moyens de calcul de coordonnées dans une mémoire appropriée de sorte que les valeurs de coordonnées des intersections sont rangées de
la plus petite à la plus grande ou vice versa et les va-
leurs ordonnées sont associées en paires de sorte que les deux valeurs de chaque paire se suivent en terme de la grandeur des valeurs. Les valeurs de coordonnées de chaque paire pour chaque ligne de balayage déterminent des éléments d'image successifs qui définissent une partie de l'image, telle qu'un trait d'un caractère (ils définissent par exemple la largeur du trait). Par conséquent, les bits qui correspondent à ces éléments d'image successifs peuvent être établis comme bits de
formation de points, en même temps.
Ainsi, le présent agencement permet la déter-
mination des valeurs logiques de tous les bits corres-
pondant à chaque ligne de balayage, simultanément, sur
la base des valeurs de coordonnées stockées pour les in-
tersections, sans avoir à vérifier chacun des bits pour chaque ligne de balayage afin de déterminer si le bit
doit être "1" ou "0" comme cela est nécessaire dans l'ap-
pareil usuel. Le présent appareil est donc capable de convertir efficacement les données de contour d'une image en données de point correspondantes, sans nécessiter une
procédure compliquée.
On peut adapter les moyens de calcul de coor-
données pour calculer, comme valeur de coordonnées de chacune des intersections, une valeur de coordonnées du centre d'un des éléments d'image qui est le plus proche
de l'intersection considérée, ce centre pouvant être si-
tué à l'intérieur ou à l'extérieur du contour d'image.
L'image représentée par les données de contour
peut comporter une partie étroite. Par exemple un carac-
tère constituant l'image peut avoir un trait étroit, ou
bien un trait d'un caractère peut avoir une partie d'ex-
trémité étroite, de sorte qu 'on peut obtenir une seule intersection entre le contour d'image et une ligne de balayage. Dans ce cas, l'appareil usuel prépare les données de point de sorte que des bits de formation de point sont établis pour les éléments d'image entre la
seule intersection obtenue et une autre intersection en-
tre le contour d'une autre partie de l'image (par exem-
ple, un autre trait d'un caractère) et la ligne de bala-
yage considérée. Les données de point ainsi préparées
aboutissent à reproduire une image dont le contour dif-
fère du contour nominal représenté par les données de contour originales. Pour éviter cela, le contour de chaque image doit être dessiné avec soin. Conformément à un modepréféré de réalisation de la présente invention, lorsqu'une seule intersection est fournie par les moyens de calcul de coordonnées,
les moyensde stockage de coordonnées peuvent être adap-
tés de sorte que la valeur de coordonnées de la seule in-
tersection précitée est stockée à différents emplace-
ments de la mémoire appropriée, sous la forme d'une paire de valeurs de coordonnées qui définissent la largeur de
l'image ou la largeur de la partie concernée de l'image.
Par conséquent, des bits de formation de point sont éta-
blis pour les éléments d'image qui définissent l'inté-
rieur du contour d'image,de sorte qu'on peut éviter l'é-
tablissement erroné des données de point, qui se produit avec 1 'appareil usuel. Ainsi, le deuxième objectif de
l'invention peut être atteint par l'agencement ci-
dessus qui assure la reproduction exacte de l'image re-
présentée par les données de contour.
Dans certains cas, il n'y a pas d'intersection entre le contour d'image et une ligne de balayage. Par exemple, si la largeur de deux segments du contour est assez petite pour que l'image ou une partie de l'image
(un trait d'un caractère) s'interpose entre les deux li-
gnes de balayage adjacentes, les moyens de calcul de coordonnées ne peuvent trouver la valeur de coordonnées d'aucune intersection. Il en résulte l'absence d'une
partie de l'image, malgré le fait que la ligne de balaya-
ge considérée rencontre l'image. Dans ce cas,il n'y a pas
d'établissement de bits de formation de point pour for-
mer les points qui devraient être créés afin de définir
la partie correspondante de l'image, de sorte que l'ima-
ge reproduite est discontinue du fait de l'absence des points dans la partie concernée de l'image. Par suite,
l'image reproduite diffère de l'image originale repré-
sentée par les données de contour.
Cet inconvénient peut être évité conformément au principe du deuxième aspect de la présente invention, qui procure un appareil de conversion de données pour convertir un lot de données de contour représentatives
d'un contour d'une image, telle qu'une lettre, un sym-
bole et une représentation graphique, en un lot de don-
nées de point indicatives de ce qu'un point doit ou non être formé dans chacun des éléments d'image positionnés dans un système de coordonnées dans lequel les données de contour sont définies, l'appareil étant caractérisé par: (a) des premiers moyens de calcul de coordonnées,
pour calculer les valeurs de coordonnées des intersec-
tions entre le contour de l'image dans le système de coor-
données et une pluralité de premières lignes de balayage
parallèles superposées au contour dans le système de coor-
données; (b) des premiers moyens de stockage de coor-
données pour stocker les valeurs de coordonnées calcu-
lées par les premiers moyens de calcul de coordonnées, de sorte que les valeurs de coordonnées pour chacune des premières lignes de balayage sont rangées dans l'ordre de la grandeur des valeurs et deux valeurs adjacentes des valeurs ordonnées sont associées en une paire de valeurs de coordonnées; (c) des premiers moyens de préparation
de données de point pour préparer un premier lot de don-
nées de point de sorte que les bits successifs des don-
nées de point correspondant à une pluralité d'éléments d'image successifs, qui sont constitués de deux éléments d'image représentés par la paire précitée de valeurs de coordonnées et d'au moins un élément d'image situé entre les deux éléments d'image, sont établis simultanément de manière telle que chacun des bits successifs indique un point à former dans l'élément d'image correspondant; (d) des deuxièmes moyens de calcul de coordonnées pour
calculer les valeurs de coordonnées des intersections en-
tre le contour de l'image dans le système de coordonnées et une pluralité de deuxièmes lignes de balayage parallè- les qui sont superposées au contour dans le système de
coordonnées et qui coupent les premières lignes de bala-
yage; (e) des deuxièmes moyens de stockage de coordon-
nées pour stocker les valeurs de coordonnées calculées par les deuxièmes moyens de calcul de coordonnées, de sorte que les valeurs de coordonnées pour chacune des deuxièmes lignes de balayage sont rangées dans l'ordre de la grandeur des valeurs et deux valeurs adjacentes parmi les valeurs ordonnées pour chaque deuxième ligne de balayage sont associées en une paire de valeurs de coordonnées; (f) des deuxièmes'moyens de préparation de données de point pour préparer un deuxième lot de données de point de sorte que les bits successifs des
données de point correspondant à une pluralité d'élé-
ments d'image, qui sont constitués de deux éléments d'image représentés par la paire précitée de valeurs de coordonnées pour chaque deuxième ligne de balayage et
d'au moins un élément d'image situé entre les deux élé-
ments d'image représentés par la paire précitée de valeurs de coordonnées pour chaque deuxième ligne de balayage, sont établis simultanément d'une manière telle
que chacun des bits successifs du deuxième lot de don-
nées de point indique un point à former dans l'élément d'image correspondant; et (g) des moyens de préparation de données combinées pour préparer un lot de données de
point combinées, par combinaison du premier lot de don-
nées de point préparées par les premiers moyens de prépa-
ration de données de point et du deuxième lot de données
de point préparées par les deuxièmes moyens de prépara-
tion de données de point.
Dans l'appareil de conversion de données
construit comme décrit ci-dessus, les valeurs de coordon-
nées des intersections entre le contour d'image et les premières lignes de balayage, et celles des intersections entre le contour d'image et les deuxièmes lignes de bala-
yage coupant les premières lignes de balayage,sont calcu-
lées par les premiers et les deuxièmes moyens de calcul de coordonnées, respectivement. Dans ce dispositif, même si le contour d'image ou une partie du contour d'image
est situé entre les deux premières lignes de balayage ad-
jacentes, par exemple, au moins une des deux deuxièmes
lignes de balayage adjacentes rencontre le contour d'i-
mage ou la partie du contour, de sorte qu'on obtient des intersections pour les deuxièmes lignes de balayage. Par
conséquent, par préparation de données de point combi-
nées au moyen de la combinaison du premier lot de données de point préparées à partir des valeurs de coordonnées
associées aux premières lignes de balayage et du deu-
xième lot de données de point préparées à partir des va-
leurs de coordonnées associées aux deuxièmes lignes de balayage, l'image représentée par les données de point combinées est reproduite de façon continue, puisque les éléments d'image qui sont laissés vierges du fait des
bits erronés du premier lot de données de point sont rem-
plis par les points formés conformément aux bits corres-
pondants du deuxième lot de données de point. Par suite, les données de point combinées assurent la reproduction
de l'imagejsans discontinuité due à l'absence d'inter-
sections entre le contour d'image et l'une des premières
et deuxièmes lignes de balayage.
Outre les dispositions qui précèdent, l'inven-
tion comprend encore d'autres dispositions qui ressorti-
ront de la description qui va suivre.
L'invention sera mieux comprise à l'aide du
complément de description ci-après, qui se réfère aux
dessins annexés dans lesquels:
la figure 1 est un schéma de principe illus-
trant un circuit de commande d'une imprimante à laser qui incorpore un mode de réalisation d'un appareil de conversion de données conforme à la présente invention; la figure 2 est une vue schématique d'une unité centrale de traitement du circuit de commande de la figure 1; la figure 3 est un organigramme illustrant un sous-programme de conversion de données, constituant l'un des programmes de commande stockés dans une mémoire morte de programmes du circuit de commande; la figure 4 est une vue représentant un contour
de la lettre "H" dont les données de contour sont con-
verties en données de point par l'appareil de conversion de données conformément au programme de conversion de la figure 3; la figure 5 représente une partie d'une grille
à coordonnées d'éléments d'image, sur laquelle est su-
perposé le contour de la lettre "H";
les figures 6,7,8,9,10 et 11 sont des illus-
trations expliquant différentes manières de détermina-
tion des intersections entre des lignes d'éléments d'ima-
ge suivant l'axe x, et des segments du contour de carac-
tère qui est converti en données de point par l'appareil de conversion de données;
la figure 12 est une vue illustrant les posi-
tions, sur la grille d'éléments d'image, des intersec-
tions obtenues pour la lettre "H" de la figure 4;
30. la figure 13 indique les valeurs des coordon-
nées sur l'axe x des intersections de la figure 12, cor-
respondant aux lignes d'éléments d'image suivant l'axe x; la figure 14 est une vue expliquant la manière
de préparation des données de point en fonction des va-
leurs de coordonnées sur l'axe x des intersections comme indiqué sur la figure 13; la figure 15 est un schémacorrespondant à
celui de lafigure 1, qui représente un circuit de comman-
de d'une imprimante à laser comportant un deuxième mode de réalisation de l'appareil de conversion de données suivant l'invention; la figure 16 est un organigramme illustrant un programme de conversion de données exécuté dans le mode de réalisation de la figure 15; la figure 17 est une vue illustrant le contour d'un trait courbe d'un caractère, dont les données sont converties en données de point conformément au programme de conversion de données de la figure 16; la figure 18 est une vue représentant le trait courbe de la figure 17, superposé à la grille d'éléments d'image; la figure 19 est une vue correspondant à la figure 13, qui indique les valeurs de coordonnées sur l'axe x des intersections entre les lignes d'éléments d'image suivant l'axe x et le contour du trait courbe de la figure 18; la figure 20 est une vue indiquant les valeurs de coordonnées sur l'axe y des intersections entre les lignes d'éléments d'image suivant l'axe y et le contour du trait courbe de la figure 18; et la figure 21 est une vue expliquant la façon de préparer les données de point en fonction des valeurs
de coordonnées sur l'axe x des intersections comme indi-
qué sur la figure 19.
Il doit être bien entendu, toutefois, que ces dessins et les parties descriptives correspondantes
sont donnés uniquement à titre d'illustration de l'ob-
jet de l'invention, dont ils ne constituent en aucune
manière une limitation.
On se reporte aux figures 1 et 2 qui illus-
trent un appareil de conversion de données, construit
conformément à un mode de réalisation de la présente in-
vention, pour convertir des données de contour en don-
nées de point de imprimer dans une imprimante à laser,
dans laquelle l'impression sur un support d'enregis-
trement est effectuée par exposition de la surface du support à un faisceau laser commandé conformément aux
données de point.
Le schéma de principe de la figure 1 représente une partie d'un circuit de commande de l'imprimante à
laser, qui concerne la conversion de données conformé-
* ment au principe de l'invention. Le circuit de commande est principalement constitué par un micro-ordinateur 10 qui comprend une unité centrale de traitement (CPU) 12, une mémoire morte (ROM CAPACTERES) 14, une mémoire morte
(ROM PROGRAMMES) 16, une mémoire de TEXTE 18, une mémoi-
re de TRAVAIL 20, une mémoire de COORDONNEES 22 et une
mémoire de DONNEES DE POINT 24. Ces éléments du micro-
ordinateur 10,tels que l'unité CPU 12, sont mutuellement interconnectés par un bus 28. Un dispositif d'entrée de
données 30 et un dispositif d'impression 32 sont connec-
tés au bus 28. Le dispositif d'entrée 30 est prévu pour
charger le micro-ordinateur 20 avec les données néces-
saires pour l'impression, tandis que le dispositif d'im-
pression 32 est construit pour effectuer l'impression
laser conformément aux instructions et aux signaux four-
nis par le micro-ordinateur 10. La présente imprimante à laser possède une résolution d'image de 300 points par
25,4 mm (pouce).
Comme indiqué schématiquement sur la figure 2, l'unité centrale CPU 12 comprend une partie de lecture de données 36, une partie de calcul de coordonnées 38 et une partie de préparation de données de point 40. La
partie de calcul de coordonnées 38 agit de manière à cal-
culer les coordonnées des intersections entre un contour d'une image, sous la forme d'un caractère, et les lignes x d'éléments d'image ou pixels suivant l'axe x d'une
grille de coordonnées d'éléments d'image (qui est décri-
te plus loin). La partie de préparation de données de
point 40 agit pour préparer des données de point repré-
sentatives du caractère, ces données de point correspon-
dant au contour du caractère. La mémoire de TEXTE 18 stocke un lot de données de caractères, sous la forme de
données de code indicatives d'un texte introduit au mo-
yen du dispositif d' entrée 30 et la mémoire de TRAVAIL
stocke les données nécessaires pour que le micro-ordi-
nateur 10 exécute divers programmes de commande stockés
dans la mémoire de PROGRAMME 16. La mémoire de COORDON-
NEES 22 stocke les données de coordonnées calculées par la partie de calcul de coordonnées 38, et la mémoire de
DONNEES DE POINT 24 stocke les données de point prépa-
rées par la partie de préparation de données de point 40. La mémoire morte de CARACTERES 14 stocke des lots multiples de données de contour représentatives des
contours de caractères multiples, tels que des caractè-
res alphabétiques et d'autres lettres et symboles, et d'autre images quelconques. Le contour de chaque image,
telle qu'un caractère,est défini dans un système de coor-
données X-Y comportant 1000 positions sur l'axe Y, prises
le long de l'axe Y, et 1000 positions sur l'axe X, pri-
ses le long de l'axe X perpendiculaire à l'axe Y, comme indiqué sur la figure 4. Par exemple, les majuscules de toutes les lettres alphabétiques. sont placées entre la ième et la 1000 ième positions sur l'axe Y, tandis
qu'on utilise la plage totale de l'axe Y pour les minus-
cules (plus précisément, on utilise également les posi-
tions de 0 à 200 sur l'axe Y pour les minuscules). Lors-
que la configuration de chaque caractère est définie dans
le système de coordonnées X-Y indiqué ci-dessus, le pro- fil de chaque trait 44 du caractère, ayant une largeur prédéterminée, est
défini par une ligne d'entourage ou contour 46. Les données de contour de chaque caractère sont constituées d'une pluralité de groupes de données de segment qui représentent des segments respectifs du contour 46. Chaque segment est défini par deux points noirs, comme indiqué sur la figure 4 dans le cas de la
lettre "H" à titre d'exemple. Les deux points indi-
quent le début et la fin du segment considéré. Chaque ensemble de données de segment comprend des données de coordonnées représentatives des coordonnées du début et de la fin du segment. Les données de coordonnées des
points définissant les segments du contour 46 sont sto-
ckées eans la mémoire morte de CARACTERES 14, dans l'or-
dre prédéterminé, dans la direction prédéterminée le long
du contour 46, comme indiqué par une flèche sur la figu-
re 4. L'un des deux points définissant chaque segment
du contour 46, dont les données de coordonnées sont sto-
ckées avant celles de l'autre point, est défini comme étant le début du segment considéré, tandis que l'autre
point est défini comme étant la fin du segment. Les don-
nées de segment pour un segment rectiligne comprennent des données de désignation de segment indicatives du
segment rectiligne, et des données de coordonnées repré-
sentatives des coordonnées des points de début et de fin du segment. Les données de segment pour un segment courbe
comprennent des données de désignation de segment indica-
tives du segment courbe, des données de fonction indica-
tives d'une courbure du segment, et des données de coor-
données représentatives des coordonnées des points de début et de fin et d'un point auxiliaire. Les données de segment pour un segment d'arc de cercle comprennent
des données de désignation de segment indicatives du seg-
ment d'arc, et des données de coordonnées représentati-
ves des coordonnées des points de début et de fin et
d'un centre de courbure du segment. La mémoire de CARAC-
TERES 14 stocke également des données indicatives du nom-
bre des segments de chaque caractère.
Dans la présente imprimante à laser construi- te comme décrit ci-dessus, la conversion des données de contour de chaque image, telle qu'un caractère, en un lot correspondant de données de point est effectuée au moyen d'une grille bidimensionnelle 50 de coordonnées
d'éléments d'image ou pixels, comme représenté sur la fi-
gure 5,sur laquelle on superpose le contour 46 de l'i-
mage pour calculer les données de point, conformément aux données de contour. La grille de pixels 50 consiste en une multiplicité d'éléments d'image, qui sont les plus
petites parties d'une image imprimée possibles sur l'im-
primante àlaser.Les éléments d'image sont définis par des lignes de séparation p équidistantes sur l'axe x, parallèles à l'axe x de la grille 50, et par des lignes de séparation p équidistantes suivant l'axe y gui sont parallèles à l'axe y de la grille et perpendiculaires aux
lignes de séparation p suivant l'axe x. Ainsi, les élé-
ments d'image utilisés dans le présent mode de réalisa-
tion sont de forme carrée. Des données de point corres-
pondant à chaque élément d'image indiquent si un point
est imprimé ou non à l'élément d'image correspondant.
Comme représenté également sur la figure 5, il est prévu de multiples lignes x de pixels suivant l'axe x, qui s'étendent parallèlement à l'axe x et qui sont situées entre les lignes de séparation p adjacentes suivant
l'axe x, ainsi que de multiples lignes de pixels y sui-
vant l'axe y qui s'étendent parallèlement à l'axe y et
qui sont situées entre les lignes de séparation adja-
centes p suivant l'axe y. Chaque ligne x de pixelssui-
vant l'axe x passe par les centres des éléments d'image d'une rangée correspondante parallèle à l'axe x, tandis que chaque ligne y de pixels suivant l'axe y passe par
les centres des éléments d'image d'une colonne corres-
pondante parallèle à l'axe y. La position de chaque élé-
ment d'image est indiquée par les coordonnées de son cen-
tre (centre de pixel), c'est-à-dire par l'une des lignes
x de pixels suivant l'axe x et l'une des lignes y de pi-
xels suivant l'axe y. Les éléments d'image peuvent avoir
des formes rectangulaires ou autres.
La grille 50 de coordonnées d' éléments d'ima-
ge correspond à une surface d'impression d'un support d'enregistrement dans laquelle une impression par laser
est effectuée conformément à des lots appropriés de don-
nées de point. A ce sujet, on note que la figure 5 re-
présente une partie de la grille 50 de coordonnées de pixels dans laquelle on représente seulement la lettre
"H" parmi les images à imprimer dans la surface d'im-
pression, dans un but de clarté et de simplification.
Les lignes x et y de pixels suivant l'axe x et l'axe y sont numérotées sur toute la surface de la grille 52. On comprend que les éléments d'image des autres caractères, non indiqués sur la figure 5, sont représentés par les lignes x,y de pixels suivant l'axe x et l'axe y qui sont numérotées de façon appropriée, les numéros identifiant ces lignes de pixels x,y étant plus grands que ceux qui
sont indiqués sur la figure 5 pour la lettre "H".
La conversion des données de contour en don-
nées de point correspondantes est effectuée avec super-
position du contour du caractère sur la grille de coordon-
nées de pixel 50, de sorte qu'un point est formé à l'en-
droit de chaque élément d'image de la grille 50 qui se trouve à l'intérieur de la zone définie par le contour du caractère (cette zone étant simplement appelée dans ce
qui suit "contour du caractère"). Dans ce mode deréalisa-
tion, la valeur logique des données de point correspon-
dant à l'élément d'image dans lequel un point doit être
formé est "1". Il est entendu que certains éléments d'i-
mage sont situés entièrement à l'intérieur du contour du caractère, tandis que certains éléments d'image sont situés partiellement à l'intérieur du contour. On décrit ci-après de façon plus détaillée la manière spécifique de conversion des données de contour en données
de point.
La présente imprimante à laser est capable
d'imprimer des caractères dans une dimension choisie par-
mi différentes dimensions, à savoir 4,8 points, 10 points,
12 points, 20 points, 24 points et 30 points, par exem-
ple. En fonction de la dimension de caractère choisie,
les coordonnées des points définissant le contour du ca-
ractère dans le système de coordonnées 1000 x 1000 de la
figure 4 sont converties en valeurs de coordonnées cor-
respondantes sur la grille de coordonnées de pixel 50
de la figure 5 dans laquelle chaque élément d'image car-
ré est dimensionné comme 1 x 1. Si un caractère de di-
mension de B points est formé par une matrice C x C d'éléments d'image (points), les valeurs de coordonnées d'un point sur la grille de pixels 50 sont obtenues par
multiplication des valeurs de coordonnées du point cor-
respondant sur le contour de caractère dans le système de coordonnées 1000 x 1000, par C/1000. Dans le présent exemple, la dimension de caractère est de 4,8 points, et
chaque caractère est formé par une matrice 20 x 20 d'é-
léments d'image ou points. Les nombres 0 à 20 indiqués sur la grille de pixels 50 de la figure 5 pour identifier
les lignes x,y de pixels suivant l'axe x et l'axe y re-
présentent les valeurs de coordonnées sur la grille 50 dans le présent exemple. Pour superposer le contour de
chaque caractère sur la grille de pixels 50, on déter-
mine les valeurs de coordonnées du point de référence du caractère sur la grille 50, sur la base des données de position d'impression. Conformément aux coordonnées déterminées du point de référence et aux coordonnées calculées du contour de caractère, on positionne le
caractère sur la grille de pixels 50 de la figure 5.
La mémoire morte de PROGRAMME 16 stocke di-
vers programmes de commande nécessaires pour l'impression,
tels qu'un programme de conversion de données suivant l'orga-
nigramme de la figure 3. On décrit ci-après une opération de conversion des données de contour pour la lettre "H" en données de point correspondantes, avec référence à
l'organigramme dela figure 3, à titre d'exemple. Puis-
que l'impression conforme aux données de point n'est pas essentielle à la compréhension du principe de la présente
invention, on ne donne pas de description détaillée du
mode d'impression. En bref, un texte stocké dans la mémoi-
re TEXTE 18 est imprimé, une page après l'autre. Chaque fois qu'on imprime une page, les données de caractère correspondant à cette page du texte sont extraites de la mémoire deTEXTE 18 et un lot de données de contour (stockées dans la mémoire de CARACTERES 14) correspondant à cette page est converti en un lot correspondant de
données de point.
On exécute initialement une étape SI pour extraire les données de contour, les données indicatives du nombre de segments du contour de caractère, et les
données indicatives de la taille de caractère choisie.
Ensuite, la commande passe à une étape S2 dans laquelle la partie de calcul de coordonnées 38 du CPU 12 calcule les coordonnées des intersections entre le contour de caractère 46 et chaque ligne x de pixels suivant l'axe
x sur la grille de pixels 50, pour chaque segment du ca-
ractère "H". On décrit ici une règle suivant laquelle
les valeurs de coordonnées sur l'axe x de ces intersec-
tions sont déterminées, avec référence aux figures 6 à 11. La figure 6 représente un segment rectiligne qui coupe à la fois les lignes x de pixels suivant l'axe x et les lignes y de pixels suivant l'axe y. Ce segment
rectiligne coupe une pluralité de lignes x de pixels sui-
vant l'axe x à des positions respectives indiquées par des marques "x" entre le début et la fin du segment con- sidéré. Les coordonnées d'axe x à stocker dans la mémoire de COORDONNEES 22 ne sont pas celles des intersections
entre les lignes x de pixels suivant l'axe x et le seg-
ment considéré, mais ce sont les coordonnées d'axe x des centres (indiqués par des marques "o" sur la figure 6) des éléments d'image qui sont situés à l'intérieur de
la zone ( indiquée par des hachures sur la figure) défi-
nie par le segment et qui sont les plus proches du segment le long de l'axe x (c'est-à-dire les plus proches des intersections entre les lignes x de pixels suivant l'axe x et le segment considéré). Si une intersection entre une ligne x de pixels suivant l'axe x et le segment se trouve juste au centre d'un élément d'image, la coordonnée d'axe x de ce centre de pixel est stockée comme valeur
de coordonnée d'axe x.
La figure 7 représente un segment rectiligne parallèle aux lignes x de pixels suivant l'axe x. Un segment rectiligne représenté sur la figure 8 est situé entre les deux lignes x adjacentes de pixels suivant
l'axe x, et la longueur du segment et l'angle d'inclinai-
son par rapport aux lignes x de pixels suivant l'axe x sont assez faibles pour que le segment ne coupe pas de lignes de pixels suivant l'axe x. Dans le cas des figures 7 et 8, la mémoire de COORDONNEES 22 stocke des données
qui indiquent que le segment considéré n'a pas d'inter-
sections avec les lignes x de pixels suivant l'axe x.
La figure 9 représente une combinaison de trois segments
rectilignes connectés, le segment intermédiaire se trou-
vant sur une des lignes x de pixels suivant l'axe x, tandis que les deux autres segments sont inclinés par
rapport aux lignes de pixels x et connectés aux extrémi-
tés opposées du segment intermédiaire. Dans ce cas, le segment intermédiaire n'a pas d'intersections. En outre, les coordonnées pour l'une des deux intersections extérieures de chacun des deux segments inclinés ne sont pas stockées dans la mémoire de coordonnées 22. Plus précisément, les valeurs de coordonnées sont obtenues pour une seule des deux intersections extérieures, à savoir celle dont la valeur de coordonnée sur l'axe x est plus petite que celle de l'autre intersection (qui est située à la gauche de cette autre intersection dans la direction de l'axe x sur la figure 9). On se
reporte à la figure 10 qui représente une partie d'ex-
trémité relativement étroite d'un trait d'un caractère
qui est définie par deux segments rectilignes incli-
nés sécants. Ces deux segments se coupent mutuellement de sorte qu'il existe un seul élément d'image dont le centre est situé à l'intérieur de la zone définie par les deux segments, le centre se trouvant sur la ligne
x de pixels suivant l'axe x adjacente au point d'inter-
section. Dans ce cas, la valeur de coordonnée sur l'axe x du centre de l'élément d'image indiqué ci-dessus est
stockée comme valeur de coordonnée d'axe x de l'inter-
section de chacune des deux lignes droites inclinées.
Autrement dit, la même intersection sur la même ligne x de pixels suivant l'axe x est obtenue pour chacun des deux segments inclinés sécants, dans les mêmes parties terminales sur le côté du point d'intersection de ces deux segments. Par conséquent, dans ce cas, la même
valeur de coordonnée sur l'axe x est stockée comme va-
leur de coordonnée sur l'axe x des points auxquels les deux segments coupent la ligne x de pixels suivant
l'axe x adjacente à l'intersection des deux segments.
Dans le cas de la figure 11, l'espacement en-
tre deux segments rectilignes parallèles aux lignes y de pixels suivant l'axe y est faible et il n'existe pas d'éléments d'image dont les centres sont situés
entre les deux segments. Dans ce cas également, on uti-
lise les mêmes valeurs de coordonnées sur l'axe x pour les deux segments. De façon spécifique, la mémoire de COORDONNEES 22 stocke, comme valeurs de coordonnées sur l'axe x des intersections pour les deux segments, les
valeurs de coordonnées sur l'axe x des centres des élé-
ments d'image qui sont adjacents dans la direction de l'axe x à la zone définie par les deux segments et qui sont situés sur l'un des côtés opposés de cette zone, sur lequel les valeurs de coordonnées sur l'axe x sont plus grandes.Si les centres decertains éléments d'image se trouvent à l'intérieur de la surface définie par les deux segments, les valeurs de coordonnées sur l'axe
x de ces centres sont stockées comme valeurs de coordon-
nées sur l'axe x des intersectionsentre les lignes x
de pixels suivant l'axe x et les deux segments.
Les intersections ainsi déterminées entre les lignes x de pixels suivant l'axe x et chaque segment du contour 46 de la lettre "H" sont indiquées par des
points noirs sur la figure 12. Les valeurs de coordon-
nées sur l'axe x de ces intersections sont stockées dans
la mémoire de COORDONNEES 22, à une étape S3 de l'orga-
nigramme de la figure 3. Dans le présent mode de réalisa-
tion, il y a un total de 20 lignes x de pixels suivant l'axe x pour chaque caractère, et parconséquent un total de 20 valeurs de coordonnées sur l'axe y des 20 lignes x de pixels suivant l'axe x. La valeur de coordonnée sur l'axe x de chaque intersection de chaque ligne x de pixels suivant l'axe x est stockée en combinaison avec la valeur de coordonnée sur l'axe y appropriée, qui indique le niveau de la ligne x de pixels suivant
l'axe x considérée. Les données de coordonnées pour cha-
que ligne x de pixels suivant l'axe x sont précédées par des données indicatives du nombre des intersections entre cette ligne de pixels x et le contour de caractère 46. La figure 13 indique les nombres des intersections et les valeurs de coordonnées pour certaines des lignes de pixels x coupant le contour 46 de la lettre "H". La commande passe ensuite à une étape S4 pour incrémenter le compte n d'un compteur qui compte le nombre des segments du contour de caractère 46 qui ont été traités. L'étape S4 est suivie par une étape S5 pour déterminer si le compte n est égal à une valeur N qui représente le nombre des segments du contour 46 du caractère considéré. Plus précisément,l'étape S5 est effectuée pour déterminer si les coordonnées sur l'axe x des intersections associées à tous les segments du contour de caractère 46 ont été ou non calculées par la partie de calcul de coordonnées 38 du CPU 12. Si on obtient une décision négative (NON) à l'étape S5, la commande revient à l'étape S2, de sorte que les étapes S3-S5 sont exécutées pour calculer les coordonnées sur
l'axe x associé au nouveau segment. On exécute répétiti-
vement les étapes S2 à S5 jusqu'à ce que les coordonnées
des intersections detous les segments du contour de ca-
ractère 46 aient été calculées et stockées dans la mémoi-
re de COORDONNEES 22. Si le compte n a été incrémenté à N, on obtient une décision affirmative (OUI) à l'étape S5 et on exécute une étape S6 pour remettre le compteur
à zéro.
L'étape S6 est suivie d'une étape S7 dans la-
quelle on range les valeurs de coordonnées sur l'axe x, de la plus petite à la plus grande pour chaque ligne
x de pixels suivant l'axe x, et on associe les deux va-
leurs successives en paires. Les valeurs de coordonnées sont calculées à l'étape S2 pour chacun des segments
du contour 46 qui sont traités dans l'ordre prédéterminé.
A ce sujet, on note qu'un segment du contour 46 peut être traité avant un autre segment dont les valeurs de coordonnées sur l'axe x sont plus petites que celles de ce premier segment traité. Pour cela, on effectue une étape S7. Dans la présente imprimante à laser, on stocke les deux mêmes valeurs de coordonnées sur l'axe x pour deux segments respectifs du contour de caractère,
même s'il n'y a qu'une seule intersection ou pas d'inter-
section dans une zone relativement étroite définie par les deux segments considérés, comme décrit plus haut à propos des figures 10 et 11. Par conséquent, il y a
toujours un nombre pair d'intersections pour chaque li-
gne x de pixels suivant l'axe x qui coupe le contour
du caractère, de sorte que chacune des valeurs de coor-
données sur l'axe x des deux intersections adjacentes peut être associée dans une paire. Pour la préparation des données de point correspondant à chaque ligne x
de pixels suivant l'axe x qui coupe le contour de carac-
tère, les valeurs logiques des donnnées de point corres-
pondant aux éléments d'image entre les deux intersec-
tions de la paire sont établies à "1". Dans le présent mode de réalisation, les valeurs logiques des données
de point correspondant aux éléments d'image qui corres-
pondent àla paire de deux intersections sont également
établies à "1".
Lorsque les valeurs de coordonnées sur l'axe
x des intersections obtenues ont été ordonnées et asso-
ciées en paires,à une étape S7, la commande passe à une étape S8 pour préparer un lot de données de point correspondant aux données de coordonnées stockées dans la mémoire de COORDONNEES 22. On prépare les données de point, un octet après l'autre. Le microordinateur est capable de traiter un octet de données à la fois, c'est-à-dire capable de préparer huit bits correspondant aux huit éléments d'image respectifs,. simultanément. Avec
référence à la figure 14, on décrit un exemple de prépa-
ration de données de point, en relation avec une paire de coordonnées sur l'axe x,(5,18),qui désignent les positions de deux éléments d'image le long de l'axe x
sur la grille de coordonnées d'éléments d'image 50.
Initialement, on calcule le nombre d'élé- ments d'image dont les bits de données de point sont mis à "1". De façon spécifique, les deux valeurs de coordonnées sur l'axe x "5" et "18" sur une ligne x de pixels suivant l'axe x définissent un segment dont le point de début possède la valeur de coordonnée x "5"
et dont le point d'extrémité possède la valeur de coor-
données x "18". La valeur "5" correspondant au point de début est soustraite de la valeur "18" correspondant au point d'extrémité et on ajoute "1" à la différence obtenue "13". Ensuite, la valeur de coordonnées x "5"
correspondant aupoint de début est soustraite de la va-
leur de coordonnées x correspondant au premier bit de
l'octet de poids fort suivant par rapport à l'octet au-
quel appartient le bit correspondant au point de début (valeur "5"). Les éléments d'image le long de chaque ligne x de pixels suivant l'axe x sont numérotés à partir de "0", et les valeurs des coordonnées sur l'axe x
sont égales aux nombres des élémentsd'image corres-
pondants. Par conséquent, la valeur de coordonnées sur l'axe x correspondant au premier bit de l'octet de poids fort suivant est un multiple de "8". Dans ce cas, on soustrait la valeur de coordonnées sur l'axe x "5"
de la valeur de coordonnées sur l'axe x "8". La diffé-
rence obtenue "3" représente le nombre des éléments d'i-
mage qui appartiennent au premier groupe de huit élé-
ments d'image ( 0 à 7)correspondant au premier octet et dont les valeurs de coordonnées sur l'axe x sont égales ou supérieures à celle de l'élément d'image correspondant
au pointde début du segment considéré. Les bits cor-
respondant aux trois éléments d'image ainsi déterminés
(5,6,7) sont mis à "1" en même temps.
Ensuite, on calcule le nombre d'octets corres-
pondant aux éléments d'image restants dont les bits sont mis à "1". De façon spécifique, la valeur de coordonnées sur l'axe xcorrespondant au premier bit de l'octet de poids faible est soustraite de la valeur de coordonnée surl'axe x correspondant au point final, et on ajoute la valeur "1" à la différence obtenue. La somme obtenue est divisée par "8". Dans le présent exemple, la valeur "8" est soustraite de la valeur "18" et on ajoute "1" à la différence "10". On divise la somme "11" par "8", de sorte qu'on obtient un quotient de "1" avec un reste de "3". Cela signifie que les éléments d'image restants
(8-18) comprennent huit éléments d'image (8-15) qui cor-
respondent à l'octet suivant dont les bits sont tous mis à "1". Ensuite, les trois bits restants sont mis à"1". De cette façon, on prépare les données de point correspondant aux valeurs de coordonnées stockées pour chaque ligne x de pixel suivant l'axe x. A la fin de
la préparation des données de point pour toutes les li-
gnes de pixels x coupant le contour de caractère, la
* commande revient au programme principal.
Comme décrit ci-dessus, la présente impri-
mante à laser est conçue de sorte que les données de
point pour deux éléments d'image ou davantage, correspon-
dant à la largeur d'un trait d'une image telle qu'un caractère, peuvent être préparées simultanément. Plus précisément, la préparation des données de point dans
la présente imprimante est effectuée un octet après l'au-
tre,de sorte qu'onétablit jusqu'à huit bits à la fois, à la différence de la préparation usuelle bit par bit des données de point qui nécessite la détermination de
la valeur logique ("1" ou"0") de chaque bit correspon-
dant à chaque élément d'image. En conséquence, la prépara-
tion des données de point dans la présente imprimante peut être effectuée avec une efficacité bien meilleure et une vitesse de traitement des données comparativement élevée. En outre, on stocke deux ensembles de données de coordonnées sur l'axe x dans la mémoire de COORDON- NEES même pour un trait étroit d'un caractère qui coupe la ligne ou les lignes x de pixels suivant l'axe x, de sorte que la largeur du trait est définie par les deux intersections représentée par ces deux ensembles de
données. Par conséquent, les profils des caractères peu-
vent être facilement définis, sans se soucier de s'as-
surer qu'il existe deux intersections entre les lignes de pixels suivant l'axe x et le contour de chaque trait
de chaque caractère.
L'explication ci-dessus montre que les lignes x de pixels suivant l'axe x sontutilisées comme ligne
de balayage parallèles pour obtenir des points qui défi-
nissent des segments du contour de caractère 46, et que la partie de la mémoire morte de PROGRAMME 16 pour l'étape S2 et la partie du CPU 12 affectée à 1' exécution de l'étape S2, c'est-à--dire la partie de calcul des coordonnées 38,coopèrent pour constituer des moyens de calcul des valeurs de coordonnées sur l'axe x des intersections
entre chaque ligne de pixelx et le contour de caractè-
re 46. On comprend également que la mémoire de COORDON-
NEES 22 et les parties de la mémoire de PROGRAMME 16 et du CPU 12 qui sont affectées àl'exécution des étapes S3 et S7 coopèrent pour constituer des moyens de stockage des valeurs de coordonnées sur l'axe x calculées, et que la partie de la mémoire de PROGRAMME 16 pour l'étape S8 et la partie du CPU 12 affectée à l'exécution de l'étape S8, c'est-à-dire la partie 40 de préparation des données de point, coopèrent pour constituer des moyens de préparation de données de point en fonction des valeurs de coordonnées sur l'axe x stockées par les
moyens de stockage.
Bien qu'on utilise les lignes x de pixels sui-
vant l'axe x comme lignes de balayage, on peut utiliser
les lignes y de pixels suivant l'axe y ou d'autres li-
gnes droites parallèles comme lignes de balayage. Bien que leprésent mode de réalisation soit
prévu de sorte que deux groupes de données de coordon-
nées sur l'axe x sont stockés même pour des traits é-
troits de caractères, afin depermettre un dessin facile des caractères, on peut éliminer cette fonction si les données de caractère, stockées dans la mémoire de CARACTERES 14, sont préparées de sorte qu'on obtient
deux intersections pour tous les traits de tous les carac-
tères. On se reporte maintenant aux figures 15 à 21
qui illustrent un autre mode de réalisation de la pré-
sente invention. Pour faciliter l'explication et pour simplifier,les mêmes repères utilisés dans le précédent mode de réalisation sont employés dans le présent mode
de réalisation pour identifier les éléments correspon-
dants et on ne donne pas de nouvelle description de ces
éléments.
Dans ce mode deréalisation modifié, le micro-
ordinateur 10 comprend une première mémoire de COORDON-
NEES 22a et une deuxième mémoire de COORDONNEES 22b, au lieu de la mémoire de COORDONNEES 22 unique prévue
dans le précédent mode de réalisation. La première mé-
moire de COORDONNEES 22a stocke des données de coordon-
nées sur l'axe x similaires à celles qui étaient sto-
ckées dans la mémoire de COORDONNEES 22 du mode de réa-
lisation précédent. La deuxième mémoire de COORDONNEES
22b stocke des données de coordonnées sur l'axe y re- présentatives des coordonnées sur l'axe y des intersec-
tions entre les lignes y de pixels suivant l'axe y et
un contour 46 définissant un trait courbe 14 d'un carac-
tère, comme représenté sur la figure 17 à titre d'exem-
ple. Le contour 46 est défini sur le même système de coordonnées x-y qui a été décrit plus haut avec référence
à la figure 4. Le micro-ordinateur 10 comprend une premiè-
re et une deuxième mémoires de DONNEES DE POINT 24a, 24b qui correspondent aux première et deuxième mémoires de COORDONNEES 22a,22b. La première mémoire de DONNEES
DE POINT24a stocke des données de point préparées confor-
mément aux données de coordonnées sur l'axe x stockées dans la première mémoire de COORDONNEES 22a, tandis que la deuxième mémoire de DONNEES DE POINT 24b stocke des données de point préparées conformément aux données de coordonnées sur l'axe y stockées dans la deuxième
mémoire de COORDONNEES 22b. A la différence du micro-
ordinateur utilisé dans le précédent mode de réalisa-
tion, le micro-ordinateur 10 du présent mode de réali-
sation comporte une mémoire de DONNEES COMBINEES 26 qui stocke des données de point qui sont préparées à partir
des lots de données de point stockées dans les deux mémoi-
res de DONNEES DE POINT 24a,24b, comme décrit plus loin.
La figure 18 représente le trait courbe 44 superposé à la grille de coordonnées d'éléments d'image sur laquelle sont prévues les lignes de séparation p suivant l'axe x et l'axe y et les lignes x,y de pixels suivant l'axe x et l'axe y dans le cas de la dimension
de caractère de 4,8 points dans laquelle chaque carac-
tère est défini par 20 x 20 éléments d'image, comme
décrit plus haut à propos du précédent mode de réali-
sation. Pour faciliter l'explication, les lignes de séparation p suivant l'axe x et l'axe y, définissant
les éléments d'image, sont numérotées sur la figure 18.
De même, les lignes x,y de pixels suivant l'axe x et l'axe y sont numérotées pour identifier les positions des éléments d'image sur la grille d'éléments d'image 50. Par exemple, les coordonnées x et y d'un élément
d'image défini par les deux lignes de séparation adja-
centes p suivant l'axe x numérotées "3" et "4" et les deux lignes de séparation adjacentes p suivant l'axe y numérotées "2" et "3" sont (3,2) comme représenté par la ligne x de pixels suivant l'axe x numérotée "(3)"
et la ligne y de pixels suivant l'axe y numérotée "(2)".
On se reporte maintenant à l'organigramme de la figure 16 qui illustre un programme de conversion des données de contour du trait courbe 44 de la figure 18 en données de point combinées correspondantes. Dans
cet organigramme, les étapes Sl,S2 et S4-S7 sont similai-
res à celles de l'organigramme dela figure 3, et les étapes S3' et S8' sont légèrement modifiées par rapport aux étapes correspondantes S3 et S8 de la figure 3. Plus précisément, les valeurs de coordonnées sur l'axe x des intersections entre chaque segment de contour du trait courbe 44 et les lignes x de pixels suivant l'axe x sont d'abord obtenues à l'étape S2. Toutefois, dans le présent mode deréalisation, les valeurs calculées de coordonnées
sur l'axe x sont stockées, à l'étape S3', dans la premiè-
re mémoire de coordonnées 22a, et les données de point préparées en fonction des données de coordonnées sur
l'axe x stockées dans la première mémoire de coordon-
nées 22a sont stockées, à l'étape S8', dans la première
mémoire de DONNEES DE POINT 24a.
Sur la figure 18, les points noirs indiquent
les positions des intersections calculées entre les li-
gnes x de pixels suivant l'axe x et le trait courbe 44,et chaque cercle indique un point imprimé dans un élément d'image. Comme indiqué sur lafigure 19, les valeurs des coordonnées sur l'axe x des intersections du trait 44 sont calculées et stockées pour chaque ligne
x de pixels suivant l'axe x qui coupe un segment de con-
tour du trait 44. Aux étapes S2 etS3' du premier cycle de commande, on calcule et on stocke les valeurs de coordonnées sur l'axe x des intersections entre le segment de contour courbe inférieur (comme représenté sur la figure 18) du trait 44 et les lignes x de pixels suivant l'axe x. Ensuite, on incrémente le compte n à l'étape S4, et on exécute à nouveau les étapes S2 et S3' pour calculer et stocker les coordonnées sur l'axe x des intersections entre le court segment de contour
rectiligne du côté droit (comme représenté sur la fi-
gure 18) du trait 44 et les lignes x de pixels suivant l'axe x. Toutefois, il n'existe pas d'intersections
pour ce court segment de contour rectiligne. Après in-
crémentation du compte n à l'étape S4, on exécute les
étapes S2 et S3' pour calculer et stocker les coordon-
nées sur l'axe x des intersections du segment courbe supérieur du contour du trait 44. Finalement, on exécute les opérations S2 et S3' pour obtenir les coordonnées
sur l'axe x de l'intersection du court segment de con-
tour rectiligne du côté gauche du trait 44. I1 n'y a
pas d'intersection de ce segment de contour rectiligne.
Comme dans le mode précédent de réalisation, on range les valeurs de coordonnées sur l'axe x stockées, de la plus petite à la plus grande, et on les associe en
paires à l'étape S7.
A l'étape S8', les données de coordonnées sur
l'axe x stockées dans la première mémoire de COORDON-
NEES 22a sont converties en données de point correspon-
dantes à stocker dans la première mémoire de DONNEES DE POINT 24a. Avec référence à la figure 21, on décrit maintenant le traitement des données de coordonnées sur
l'axe x pour la ligne x de pixels suivant l'axe x numé-
rotée "(2)", à titre d'exemple. Dans ce cas, une premiè-
re paire de valeurs de coordonnées sur l'axe x des pre-
mière et deuxième intersections est (3,4), et une deuxiè-
me paire de valeurs de coordonnées sur l'axe x des troisième et quatrième intersections est (9,10), comme résultat de l'opération de rangement et d'association
en paires de l'étape S7. Tout d'abord, les bits cor-
respondants aux éléments d'image représentés par les
valeurs de coordonnées sur l'axe x (3,4) sont mis à "1".
De façon spécifique, la plus grande valeur de coordon- nées sur l'axe x (4) de la deuxième intersection est comparée avec la valeur de coordonnée sur l'axe x "7"
correspondant au dernier bit de l'octet auquel appar-
tient le bit correspondant à la plus petite valeur de
coordonnées sur l'axe x (3) de la première intersec-
tion. Puisque la valeur "7" est plus grande que la valeur (4) de la deuxième intersection, les éléments d'image correspondant aux première et deuxième intersections sont jugés comme appartenant à un groupe d'éléments d'image qui correspond à l'octet considéré des données de point. Par conséquent, les bits correspondant aux
valeurs de coordonnées sur l'axe x (3) et (4) des premiè-
re et deuxième intersections sont mis à "1". De même, les bits correspondant aux valeurs de coordonnées sur
l'axe x (9) et (10) des troisième et quatrième intersec-
tions sont mis à "1". Sur la figure 21, les cercles hachurés indiquent la valeur logique "1" des bits des
données de point.
Si la plus grande valeur de coordonnée sur l'axe x de chaque paire est plus grande que la valeur de coordonnée sur l'axe x correspondant au dernier bit de l'octet considéré, les bits correspondants aux valeurs de coordonnées sur l'axe x entre la plus petite valeur de coordonnée sur l'axe x de la paire et la valeur de coordonnée sur l'axe x correspondant au dernier bit sont mis à "1". Ensuite, la valeur de coordonnée sur
l'axe x correspondant au dernier bit de l'octet considé-
ré est soustraite de la plus grande valeur de coordon-
née sur l'axe x de la paire, pour vérifier s'il y a huit éléments d'image correspondant à l'octet suivant de données de point, comme décrit plus haut à propos
du premier mode de réalisation avec référence à la fi-
gure 14.
Le lot de données de point ainsi préparé est stocké dans la première mémoire de DONNEES DE POINT 24a, dont la capacité est déterminée pour stocker les données de point pour un caractère lorsqu'on choisit la plus grande taille de caractère. Si la taille de caractère choisie est plus petite que la plus grande taille, on stocke les données de point pour un caractère dans une
partie de la mémoire 24a.
L' étape S8' est suivie par une étape S9 pour déterminer si la dimension de caractère choisie est de 12 points ou plus petite.Si la dimension choisie est de 12 points ou plus petite, on exécute une étape S10 pour calculer les valeurs des coordonnées sur l'axe y des intersections entre le trait courbe 44 et les lignes y de pixels suivant l'axe y. La règle de calcul des valeurs de coordonnées sur l'axe y est la même que la règle de calcul des valeurs de coordonnées sur l'axe x. Les positions des éléments d'image correspondant aux
valeurs calculées de coordonnées sur l'axe y sont indi-
quées par des marques "*" sur la figure 18, qui sont
placées sur les centres des éléments d'image. Les va-
leurs des coordonnées sur l'axe y des éléments d'image sont indiquées par les numéros des lignes x de pixels
suivant l'axe x. Les valeurs calculées des coordon-
nées sur l'axe y des intersections sont stockées à une étape Sll dans la deuxième mémoire de COORDONNEES 22b. On stocke les valeurs de coordonnées sur l'axe y pour chaque ligne y de pixels suivant l'axe y qui coupe un segment de contour du trait 44, comme indiqué sur la figure 20. On exécute des étapes S12 à S16 de la même manière que les étapes S4 à S8, de sorte que les données de point appropriées sont préparées et stockées dans la deuxième mémoire de DONNEES DE POINT 24b. Comme la
première mémoire de DONNEES DE POINT 24a, cette mémoi-
re 24b possède une capacité de stockage permettant de
stocker les données de point pour un caractère lors-
qu'on choisit la plus grande taille de caractère. Après stockage des données de point dans la deuxième mémoire e DONTEES DE POINT 24b, on exécute une étape S17 pour transférer les lots de données de point des première et deuxième mémoires de DONNEES DE POINT 24a,24b à la mémoire de DONNEES COMBINEES 26, de sorte que les deux lots de données de point se combinent ensemble en un lot de données de point combinées, d'une manière décrite ci-après. La mémoire de DONNEES COMBINEES 26 possède une capacité de stockage permettant de stocker des données de point pour une page de texte. Les deux lots de données de point venant des deux mémoires de
DONNEES DE POINT 24a,24b sont stockés à des emplace-
ments appropriés de lamémoire de DONNEES COMBINEES 26 qui sont déterminés par les positions d'impression du caractère considéré. Les deux lots de données de point
sont combinés ou synthétisés par une opération OU in-
clusif pour obtenir une somme logique des valeurs logi-
ques de deux bits correspondants des deux lots de don-
nées de point stockés dans les première et deuxième mé-
moires de DONNEES DE POINT 24a,24b. Plus précisément,
la valeur logique d' un bit des données de point combi-
nées stockées dans la mémoire de DONNEES COMBINEES 26 est de "1" lorsque la valeur logique d'au moins un des deux bits correspondants des deux lots de données de point dans les deux mémoires de DONNEES DE POINT 24a, 24b est de "1". La valeur logique d'un bit dans la mémoire 26 est de "0" seulement lorsque les valeurs logiques des deux bits correspondants des données de
point dans les mémoires 24a,24b sont toutes deux "0".
Sur la figure 18, les cercles hachurés indi-
quent les points à imprimer, sur la base des valeurs
calculées des coordonnées sur l'axe x des intersec-
tions entre le contour du trait 44 et les lignes x de
pixels suivant l'axe x. D'autre part, les cercles hachu-
rés indiquent les points à imprimer, sur labase des va- leurs calculées des coordonnées y des intersections entre
le trait 44 et les lignes y de pixels suivant l'axe y.
Toutefois, dans cet exemple spécifique, les cercles à hachures croisées indiquent également ces derniers
points.
La figure 18 montre que les points indiqués par les cercles hachurés ne seraient pas imprimés si l'impression était effectuée seulement sur la base des données de point, stockées dans la première mémoire de DONNEES DE POINT 24a, qui sont préparées à partir des données de coordonnées sur l'axe x des intersections entre le trait 44 et les lignes x de pixels suivant l'axe x. Dans ce cas, le trait courbe imprimé 44 est discontinu, ses parties correspondant aux cercles hachurés restant vierges. Conformément au présent mode de réalisation modifié, on obtient par contre les intersections du trait 44 également avec référence aux lignes y de pixels suivant l'axe y, et les données de
point utilisées pour l'impression sont préparées éga-
lement sur la base des données de point qui sont prépa-
rées à partir des coordonnées sur l'axe y des inter-
sections entre le trait 44 et les lignes y de pixels suivant l'axe y. Cette disposition permet de former de façon continue le trait courbe 44, par utilisation des points imprimés indiqués par les cercles hachurés et des points imprimés indiqués par les cercles à hachures croisées. Si on fait tourner le trait courbe 44 de
900 sur la grille d'éléments d'image 50, le trait impri-
mé 44 est discontinu si les données de point utilisées pour l'impression sont préparées seulement sur la base
des données de coordonnées sur l'axe y des intersec-
tions entre le trait 44 et les lignes y de pixels sui-
vant l'axe y, mais il est continu si les données de
point sont préparées sur la base des données de coordon-
nées sur l'axe x des intersections entre le trait 44
et les lignes x de pixels suivant l'axe x.
Lorsque la taille de caractère choisie est
supérieure à la taille de 12 points, on obtient une déci-
sion affirmative (OUI) à l'étape S9 et on saute les éta-
pes S10 à S16. Par conséquent, dans ce cas, on n'obtient pas les intersections entre le trait 44 et les lignes y de pixels suivant l'axe y, et les données de point stockées dans la mémoire de DONNEES COMBINEES 26 sont
préparées seulement sur la base des données de coordon-
nées sur l'axe x des intersections entre le trait 44
et les lignes x de pixels suivant l'axe x. Cette dispo-
sition est prévue pour tenir compte d'une tendance gé-
nérale que, lorsque la taille des caractères est plus grande que 12 points, un caractère risque moins de comporter un trait qui est si étroit que le trait se trouve entre deux lignes adjacentes x de pixels suivant l'axe x. Par conséquent, dans ce cas, le caractère
imprimé risque moins de comporter des segments disconti-
nus même si les données de point utilisées pour l'impres-
sion sont préparées seulement sur la base des données
de coordonnées sur l'axe x. Lorsqu'on obtient une déci-
sion négative (NON) à l'étape S9, la commande passe directement à une étape S17 dans laquelle les données de point stockées dans la première mémoire de DONNEES DE POINT 24a sont stockées aux emplacements appropriés
de la mémoire de DONNEES COMBINEES 26 qui sont détermi-
nés par la position d'impression du caractère considéré.
L'explication ci-dessus montre que les lignes x de pixels suivant l'axe x et les lignes y de pixels suivant l'axe y sont utilisées comme premières lignes de balayage parallèles et deuxièmes lignes de balayage parallèles pour obtenir un premier et un deuxième lots de données de point stockés dans les première et deuxième
mémoires de DONNEES DE POINT 24a,24b, respectivement.
On comprend également que la partie de la mémoire morte dePROGRAMME 16 pour l'étape S2 et la partie de calcul de coordonnées 38 de l'unité centrale CPU 12 affectée à l'exécution de l'étape S2 coopèrent pour constituer des premiers moyens de calcul de coordonnées afin de calculer les données de coordonnées sur l'axe x des
intersections entre le contour de caractère et les li-
gnes x de pixels suivant l'axe x. En outre, la première mémoire de DONNEES DE POINT 22a et les parties de la
mémoire de PROGRAMME 16 et du CPU 12 affectées à l'exé-
cution des étapes S3' et S7 coopèrent pour constituer des premiers moyens de stockage de coordonnées, afin
de stocker les données decoordonnées sur l'axe x.
La partie de la mémoire de PROGRAMME 16 pour l'étape S8' et la partie de préparation de données 40 du CPU 12 affectée à l'exécution de l'étape S8' coopèrent pour constituer des premiers moyens de préparation de données de point pour préparer le premier lot de données de point. On comprend également que la partie de la mémoire de PROGRAMME 16 pour l'étape S10 et la partie de calcul de coordonnées 38 du CPU 12 affectée à l'exécution de l'étape S10 coopèrent pour constituer des deuxièmes moyens de calcul de coordonnées, afin de calculer les données des coordonnées sur l'axe y des intersections entre le contour de caractère et les lignes y de pixels
suivant l'axe y. En outre, la deuxième mémoire de DON-
NEES DE POINT 22b et les parties de la mémoire de PRO-
GRAMME 16 et du CPU 12 affectées à l'exécution des
étapes Sll et S15 coopèrent pour constituer des deuxiè-
mes moyens de stockage de coordonnées afin de stocker les données de coordonnées sur l'axe y. La partie de
la mémoire de PROGRAMME 16 pour l'étape S16 et la par-
tie de préparation de données 40 du CPU 12 affectée à l'exécution de l'étape S16 coopèrent pour constituer des deuxièmes moyens de préparation des données, afin de préparer le deuxième lot de données de point. En outre, la partie de la mémoire de PROGRAMME 16 pour l'étape S17 et la partie de préparation de données de
point 40 du CPU 12 coopèrent pour constituer des mo-
yens de préparation de données combinées, afin de pré-
parer des données depoint conformément au contenu des
première et deuxième mémoires de COORDONNEES 24a,24b.
On comprend également que les parties de la mémoire de PROGRAMME 16 et du CPU 12 affectées à l'exécution de l'étape S9 constituent des moyens de commande de fonctionnement pour activer les deuxièmes moyens de calcul de coordonnées, les deuxièmes moyens de stockage de coordonnées et les deuxièmes moyens de préparation de données de point lorsque la taille choisie d'un
caractère à reproduire est plus petite qu'unevaleur pré-
déterminée et pour désactiver les deuxièmes moyens de calcul de coordonnées, les deuxièmes moyens de stockage de coordonnées et les deuxièmes moyens de préparation
de données de point lorsque la taille choisie du carac-
tère n'est pas plus petite que lavaleur prédéterminée.
On note que les premier et deuxième lots de
données de point préparés à partir des données de coor-
données sur l'axe x et decoordonnées sur l'axe y des.
intersections entre le contour de caractère et les lignes de pixels x,y peuvent être stockés directement dans la
mémoire deDONNEES COMBINEES 26.
Dans le présent mode de réalisation modifié,
la valeur logique d'un bit de données de point représen-
tative d'un point à former est de "1" et, par conséquent, l'opération OU inclusif est effectuée pour combiner les
premier et deuxième lots de données de point. Si la va-
leur logique du bit représentatif d'un point à former est de "0", les premieret deuxième lots de données de point sont combinés par une opération ET, de façon à obtenir un produit logique des deux lots de données de points.
On peut préparer les données de point seule-
ment sur la base des données de coordonnées sur l'axe y des intersections entre le contour de caractère et les lignes y de pixels suivantl'axe y, lorsque la taille de caractère choisie est supérieure à la taille de 12 points. Les données de contour pour chaque caractère
peuvent consister seulement en données de coordonnées.
Dans ce cas, les données de contour pour un caractère constitué de deux traits droits ou plus consistent en ensembles de données de coordonnées représentatives des
coordonnées des points définissant les traits droits.
Si les traits d'un caractère comportent un ou plusieurs
traits courbes ou arqués, les données de contour com-
prennent des ensembles de données de coordonnées repré-
sentatives de deux points ou plus qu'on enchaîne pour
définir chaquetrait courbe ou arqué.
Il est clair que la présente invention peut s'appliquer à une imprimante autre qu'une imprimante à laser comme décrit ci-dessus et elle peut également s'appliquer à un dispositif,autre qu'une imprimante,
qui nécessite une conversion de données de contour d'i-
mages, telles que des lettres et des représentations
graphiques,en données de point correspondantes.
Ainsi que cela ressort de ce qui précède, l'in-
vention ne se limite nullement à ceux de ses modes de réalisation et d'application qui viennent d'être décrits de façon plus explicite; elle en embrasse au contraire toutes les variantes qui peuvent venir à l'esprit du technicien en la matière sans s'écarter du cadre ni
de la portée de la présente invention.

Claims (8)

REVENDICATIONS
1. Appareil de conversion de données pour convertir un lot de données de contour représentatives d'un contour d'une image, telle qu'une lettre, un sym-
bole et une représentation graphique, en un lot de don-
nées de point indicatives de ce qu'un point doit ou non être formé dans chacun des éléments d'image positionnés dans un système de coordonnées dans lequel lesdites données de contour sont définies, caractérisé en ce que: des moyens de calcul de coordonnées (16,38, S2) sont prévus pour calculer les valeurs de coordonnées des intersections entre ledit contour (46) de ladite image dans ledit système de coordonnées (50) et une
pluralité de lignes de balayage parallèles (x;y) su-
perposées audit contour dans ledit système de coor-
données; des moyensde stockage de coordonnées (12,16,
22,S3,S7) sont prévus pour stocker les valeurs de coor-
données calculées par lesdits moyens de calcul de coordon-
nées, de sorte que les valeurs de coordonnées pour cha-
cune desdites lignes de balayage (x;y) sont rangées dans l'ordre de la grandeur des valeurs et deux valeurs adjacentes parmi les valeurs ordonnées sont associées en une paire de valeurs de coordonnées; et des moyens de préparation de données de point (16,40,S8) sont prévus pour préparer un lot de données de point de sorte que les bits successifs des données
de point correspondant à une pluralité d'éléments d'i-
mage successifs,qui sont constitués de deux éléments
d'image représentés par laditepaire de valeurs de coor-
données et d'au moins un élément d'image situé entre ces deux éléments d'image, sont établis simultanément d'une manière telle que chacun desdits bits successifs
indique un point à former dans l'élément d'image cor-
respondant.
2. Appareil de conversion de données suivant la revendication 1, caractérisé en ce que lesdits moyens de calcul de coordonnées (16,38, S2) calculent, comme valeur de coordonnée de chacune desdites intersections entre ledit contour (46) de ladite image et lesdites lignes de balayage (x;y), une valeur de coordonnée d'un centre d'un desdits éléments d'image qui est le
plus proche de chaque dite intersection.
3. Appareil de conversion de données suivant la revendication 2, caractérisé en ce que ledit centre dudit un des éléments d'image qui est le plus proche de chaque dite intersection est situé à l'intérieur dudit contour (46) représenté par les dites données
de contour.
4. Appareil de conversion de données suivant
la revendication 2 ou 3, caractérisé en ce que, lors-
qu'une largeur de ladite image est si petite qu'il existe une seule intersection entre ledit contour (46) et lesdites lignes de balayage parallèles (x;y), dont la valeur de coordonnée est calculée par lesdits moyens de calcul de coordonnées (16,38,S2), lesdits moyens de stockage de coordonnées (12,16,22,S3,S7) stockent la valeur de coordonnée de ladite seule intersection, à différents emplacements, comme dite paire de valeurs
de coordonnées.
5. Appareil de conversion de données suivant
l'une quelconque des revendications 1 à 4, caractérisé
en ce que ledit système de coordonnées est divisé en
une pluralité de divisions dans une direction parallè-
le auxdites lignes de balayage, et lesdits moyens de préparation de données de point (16,40,S8) préparent ledit lot de données de point en commençant par un bit correspondant à une valeur de la paire de valeurs de coordonnées, lesdits moyens de préparation de données de point déterminant si ladite pluralité d'éléments d'image successifs comprend ou non au moins un groupe d'éléments d'image consistant chacun en un nombre prédéterminé d'éléments d'image situés dans une division
correspondante desdites divisions dudit système de coor-
données, lesdits moyensde prépa ation des données de point préparant les bits correspondant à chaque dit
groupe d'éléments d 'image de sorte que les bits corres-
pondant à chaque dit groupe d'éléments d'image indi-
quent des points successifs à former dans les éléments
d'image correspondants de chaque dit groupe.
6. Appareil de conversion de données suivant
l'une quelconque des revendications 1 à 5, caractérisé
en ce que ledit appareil constitue une partie de conver-
sion de données d'une imprimante à laser dans laquelle ladite image est imprimée sur un support d'enregistrement par exposition d'une surface du support à un faisceau
laser pendant que le faisceau laser est commandé confor-
mément audit lot de données de point préparées par les dits moyens de préparation de données de point (16,40, S8).
7. Appareil de conversion de données pour convertir un lot de données de contour représentatives
d'un contour d'une image, telle qu'une lettre, un sym-
bole et une représentation graphique, en un lot de don-
nées de point indicatives de ce qu'un point doit ou
non être formé dans chacun des éléments d'image position-
nés dans un système de coordonnées dans lequel lesdites données de contour sont définies, caractérisé en ce que: des premiers moyens de calcul de coordonnées (16,38,S2) sont prévus pour calculer les valeurs de coordonnées des intersections entre ledit contour (46) de ladite image dans ledit système de coordonnées (50)
et une pluralité de premières lignes de balayage paral-
lèles (x) superposées audit contour dans ledit système de coordonnées; des premiers moyens de stockage de coordonnées (12,16,22a,S3',S7) sont prévus pour stocker les valeurs de coordonnées calculées par lesdits premiers moyens de calcul de coo données, de sorte que les valeurs de coordonnées pour chacune desdites premières lignes de balayage (x) sont rangées dans l'ordre de la grandeur des valeurs et deux valeurs adjacentes parmi les valeurs ordonnées sont associées en une paire de valeurs de coordonnées des premiers moyens de préparation de données de point (16,40,S8') sont prévus pour préparer un premier lot de données de point de sorte que les bits successifs des données de point correspondant à
une pluralité d'éléments d'image successifs,qui consis-
tent en deux éléments d'image représentés par ladite
paire de valeurs de coordonnées et en au moins un élé-
ment d'image situé entre lesdits deux éléments d'image, sont établis simultanément d'une manière telle que chacun desdits bits successifs indique unpoint à former dans l'élément d'image correspondant; des deuxièmes moyens de calcul de coordonnées (16,38,S10) sont prévus pour calculer les valeurs de coordonnées des intersections entre ledit contour de la dite image dans ledit système de coordonnées et une pluralité de deuxièmes lignes de balayage parallèles
(y) qui sont superposées audit contour dans ledit systè-
me de coordonnées et qui coupent lesdites premières lignes de balayage (x) ;
des deuxièmes moyens de stockage de coor-
données (12,16,22b,S11,S15) sont prévus pour stocker
les valeurs de coordonnées calculées par lesdits deuxiè-
mes moyens de calcul de coordonnées, de sorte que les valeurs de coordonnées pour chacune des dites deuxièmes lignes de balayage (y) sont rangées dans l'ordre de la grandeur des valeurs et deux valeurs adjacentes parmi les valeurs ordonnées pour chaque dite deuxième ligne de balayage sont associées en une paire de valeurs de coordonnées;
des deuxièmes moyens de préparation de don-
nées de point (16,40,S16) sont prévus pour préparer un deuxième lot de données de point de sorte que les bits successifs des données de point correspondant à une pluralité d'éléments d'image, qui consistent en deux éléments d'image représentés par ladite paire de valeurs de coordonnées pour chaque dite deuxième ligne de balayage et en au moins un élément d'image situé entre lesdits deux éléments d'image représentés par ladite paire de valeurs de coordonnées pour chaque
dite deuxième ligne de balayage, sont établis simulta-
nément d'une manière telle que chacun desdits bits suc-
cessifs dudit deuxième lot de données de point indique un point à former dans l'élément d'image correspondant; et
des moyens de préparation de données combi-
nées (16,40,S17) sont prévus pour préparer un lot de données de point par combinaison dudit premier lot de données de point, préparées par lesdits premiers moyens de préparation de données de point, et dudit deuxième lot de données de point préparées par lesdits deuxièmes
moyens de préparation de données de point.
8. Appareil de conversion de données suivant la revendication 7, caractérisé en ce que ladite image est un caractère, tel qu'une lettre et un symbole, qui
est reproduit dans une taille choisie parmi une plura-
lité de tailles différentes, et en ce que de& moyens de commande du fonctionnement sont prévus pour activer lesdits deuxièmes moyens de calcul de coordonnées (16,
38,S10), lesdits deuxièmes moyens de stockage de coor-
données (12,16,22b,S11,Sl15) et lesdits deuxièmes mo-
yens de préparation de données de point (16,40,1Sl6) lorsque la taille choisie est plus petite qu'une
valeur prédéterminée, et pour activer lesdits deu-
xièmes moyens de calcul de coordonnées, lesdits deu- xièmes moyens destockage de coordonnées et lesdits deuxièmes moyens de préparation de données de point lorsque la taille choisie n'est pas plus petite que
ladite valeur prédéterminée.
FR898913972A 1988-10-25 1989-10-25 Appareil pour la conversion de donnees de contour d'image en donnees de point representatives de points a former Expired - Lifetime FR2638263B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63269074A JPH0747339B2 (ja) 1988-10-25 1988-10-25 データ変換装置
JP1078782A JPH0743584B2 (ja) 1989-03-29 1989-03-29 データ変換装置

Publications (2)

Publication Number Publication Date
FR2638263A1 true FR2638263A1 (fr) 1990-04-27
FR2638263B1 FR2638263B1 (fr) 1993-08-13

Family

ID=26419843

Family Applications (1)

Application Number Title Priority Date Filing Date
FR898913972A Expired - Lifetime FR2638263B1 (fr) 1988-10-25 1989-10-25 Appareil pour la conversion de donnees de contour d'image en donnees de point representatives de points a former

Country Status (4)

Country Link
US (1) US5073956A (fr)
DE (1) DE3935558C2 (fr)
FR (1) FR2638263B1 (fr)
GB (1) GB2224913B (fr)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155805A (en) * 1989-05-08 1992-10-13 Apple Computer, Inc. Method and apparatus for moving control points in displaying digital typeface on raster output devices
JP3189276B2 (ja) * 1990-09-12 2001-07-16 ブラザー工業株式会社 データ変換装置
JP3196236B2 (ja) * 1991-05-08 2001-08-06 ブラザー工業株式会社 アウトラインデータ処理装置
US5595450A (en) * 1992-06-11 1997-01-21 Esselte N.V. Label printing apparatus with display
JP3057935B2 (ja) * 1992-11-16 2000-07-04 ブラザー工業株式会社 文字出力装置
JPH0816801A (ja) * 1994-06-30 1996-01-19 Canon Inc 画像処理方法及び装置
JP2910588B2 (ja) * 1994-10-20 1999-06-23 ブラザー工業株式会社 デ−タ変換装置
JPH08339449A (ja) * 1995-04-11 1996-12-24 Canon Inc 画像処理装置及びその方法
US6266444B1 (en) * 1996-10-11 2001-07-24 Canon Kabushiki Kaisha Character processing apparatus and method therefor
CN113391736B (zh) * 2020-12-02 2023-04-07 腾讯科技(深圳)有限公司 对象连线的确定方法和装置、存储介质及电子设备
CN113268207A (zh) * 2021-05-12 2021-08-17 武汉先同科技有限公司 一种基于图像处理技术的打印控制方法及***
CN116579854B (zh) * 2022-12-30 2023-12-22 长安银行股份有限公司 理财风险控制数据的可视化数据处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199989A2 (fr) * 1985-04-24 1986-11-05 International Business Machines Corporation Procédé et système de traitement d'images
US4675833A (en) * 1984-04-13 1987-06-23 Xyvision, Inc. Processor controlled photocomposition system
WO1987004835A1 (fr) * 1986-02-07 1987-08-13 Bitstream Inc. Generation automatique de caracteres en mode point a partir de contours

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2147474B (en) * 1983-10-03 1987-05-07 Shaken Kk Method of processing character or pictorial image data
EP0153584B1 (fr) * 1984-02-21 1989-09-06 DR.-ING. RUDOLF HELL GmbH Méthode et dispositif pour l'enregistrement de caractères
CA1223366A (fr) * 1984-09-27 1987-06-23 Abijah S. Fox Systeme de reglage et de correction automatiques d'images de texte en ecriture cursive
US4673977A (en) * 1985-06-20 1987-06-16 International Business Machines Corporation Method of spatially thresholding a discrete color image
US4837847A (en) * 1987-02-03 1989-06-06 Canon Kabushiki Kaisha Image processing apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4675833A (en) * 1984-04-13 1987-06-23 Xyvision, Inc. Processor controlled photocomposition system
EP0199989A2 (fr) * 1985-04-24 1986-11-05 International Business Machines Corporation Procédé et système de traitement d'images
WO1987004835A1 (fr) * 1986-02-07 1987-08-13 Bitstream Inc. Generation automatique de caracteres en mode point a partir de contours

Also Published As

Publication number Publication date
GB8924056D0 (en) 1989-12-13
DE3935558C2 (de) 1997-04-17
GB2224913B (en) 1993-03-17
GB2224913A (en) 1990-05-16
US5073956A (en) 1991-12-17
DE3935558A1 (de) 1990-04-26
FR2638263B1 (fr) 1993-08-13

Similar Documents

Publication Publication Date Title
FR2638263A1 (fr) Appareil pour la conversion de donnees de contour d'image en donnees de point representatives de points a former
CN109376830B (zh) 二维码生成方法及装置
JP6729868B2 (ja) ドットマトリックス2次元コードの符号化および認識方法
FR2468467A1 (fr) Procede et dispositif pour l'agrandissement de caracteres imprimes par points
US8424775B2 (en) Two-dimensional code having rectangular region provided with specific patterns to specify cell positions and distinction from background
KR101557999B1 (ko) 화상 처리 방법, 화상 처리 프로그램을 기록한 기록 매체 및 화상 처리 장치
FR2601167A1 (fr) Procede et systeme de generation de donnees de modele.
FR2638264A1 (fr) Procede pour minimiser la degradation visuelle de caracteres numerises, notamment lors de leur affichage sur un ecran
EP0720125A1 (fr) Dispositif de formation d'image et procédé pour effectuer des corrections de distorsions optiques géométriques dans une image
JP3354754B2 (ja) カーニング処理方法
FR2635208A1 (fr) Article, notamment etiquette, portant une information codee par polygones, et procede et systeme de codage et de lecture de cet article
FR2553208A1 (fr) Appareil de sortie de donnees d'image
CN101281651A (zh) 图像中对称性的自动检测和映射
FR2885717A1 (fr) Procede d'estimation de correction d'une image et dispositif d'angiographie le mettant en oeuvre
CN110796583A (zh) 一种风格化可见水印添加方法
JP4014602B2 (ja) 2次元コードを含む画像生成方法およびプログラム
FR2644263A1 (fr) Procede et dispositif d'acquisition et de stockage numerique de cartes geographiques en couleurs et de restitution de ces cartes
JP3773657B2 (ja) 眉変形システム
FR2643996A1 (fr) Dispositif pour convertir des donnees d'un contour en des donnees de points, comportant des moyens pour garantir la continuite de representations visibles reproduites au moyen des donnees de points
JP4052128B2 (ja) 画像トリミング装置、画像のトリミング方法、及びプログラム
CN111666933A (zh) 一种文本检测的方法、装置、电子设备和存储介质
JP2755789B2 (ja) 文字フオントメモリと、該文字フオントメモリを用いた文字パターン発生装置
CN114998093B (zh) 一种基于权重解调的图像风格迁移方法及装置
JPS58186265A (ja) 濃淡画像の2値化装置
JP2004120127A (ja) 画像レイアウト装置及び画像レイアウトプログラム、並びに画像レイアウト方法