Les conditions spécifiques d'écriture, dans une imprimante faisant usage d'un procédé d'écriture par jet d'encre, imposent certaines caractéristiques de base dans la conception du générateur de caractères associé à une telle imprimante.
La présente invention a pour objet un générateur de caractère, particulièrement adapté aux conditions d'écriture d'un type d'imprimante dans laquelle le jet d'encre prend naissance dans une tête d'écriture sous l'action conjuguée d'une pression hydrostatique, destinée à établir à la sortie de la buse d'émission un ménisque convexe d'encre, et d'un champ électrique exerçant une attraction sur ce ménisque en direction du support d'écriture. Le jet ainsi extrait de la buse est ensuite dévié par les tensions appliquées à deux paires d'électrodes. Ces tensions contrôlées par le générateur de caractères permettent ainsi de déplacer le point d'impact du jet sur le support d'écriture, selon deux axes de coordonnées dans un périmètre dont la grandeur est déterminée par les données géométriques de la tête d'écriture et par les tensions qui peuvent être mises en jeu.
Une imprimante de ce type est décrite, par exemple dans le brevet suisse N" 531935.
L'expérience montre que le jet d'encre est difficilement contrôlable pendant les régimes transitoires d'établissement et d'interruption. D'autre part, et bien que ce jet ne soit pas continu, mais au contraire constitué par de minuscules gouttes sphériques omises successivement, il n'est pas possible, à cause de la fréquence élevée de cette émission, d'imprimer successivement deux points relativement éloignés l'un de l'autre sans qu'apparaissent entre les deux un ou deux points non désirés résultant de gouttes d'encre incomplètement contrôlées.
Dans ces conditions, un mode d'écriture par balayage ligne par ligne de la surface réservée à un caractère, à un mot ou à un groupe de mots, avec impression successive de points, le plus souvent isolés, se heurte à de grandes difficultés. C'est la raison pour laquelle on est conduit à un mode d'impression selon lequel chaque caractère est obtenu par un tracé se rapprochant d'un tracé continu et plusieurs caractères successifs d'un groupe sont tracés sans interruption du jet d'encre, ce dernier étant simplement dévié sur un écran pendant le passage d'un caractére au suivant.
La finesse du tracé et son degré de contraste par rapport au support d'écriture dépendent du volume des gouttes d'encre et du nombre de gouttes attribué à chaque caractère. Le nombre de gouttes nécessaire à l'obtention d'une bonne définition et d'un contraste suffisant pour le caractère présentant le plus long tracé détermine ensuite la vitesse d'écriture.
Des valeurs typiques pour ces différents paramètres se situent dans les ordres de grandeur suivants: diamètre d'une goutte d'encre: 30 à 40 p fréquence d'émission: 2000 à 3000 Hz
temps tracé d'un caractère de dimensions
usuelles en mécanographie: 10 à 20 ms.
II est bien évident que les conditions décrites ci-dessus imposent à un générateur de caractères destiné à contrôler la trajectoire du jet d'encre des caractéristiques de base toutes particulières et très différentes de celles d'un générateur de caractères conçu, par exemple, pour commander un affichage sur tube cathodique.
II est apparu premièrement qu'un générateur fonctionnant selon le principe analogique permettait de résoudre le plus simplement le problème. Le brevet suisse N" 416688 décrit, par exemple, un tel générateur.
Avec le développement de mémoires mortes sous la forme de circuits intégrés à large échelle, I'intérêt d'un générateur de carac tères fonctionnant selon le principe digital est devenu très grand, tant en ce qui concerne le prix de revient que l'encombrement, et ceci d'autant plus que le nombre de caractères différents à produire est plus élevé.
En principe, la mémoire morte d'un tel générateur de caractères digital devrait pouvoir contenir autant de bits qu'il en faut pour définir les coordonnées de chacun des points composant un caractère. Le chiffre 8, par exemple, avec des valeurs typiques de 2000 Hz pour la fréquence d'émission et de 16 ms pour la durée du tracé nécessiterait l'appel successif de 32 points différents avec leurs coordonnées X et Y.
Pour réaliser une qualité de tracé équivalente à celle qui peut être obtenue d'un générateur analogique du type cité ci-dessus, ces 32 points devraient être situés dans une grille de 64 x 64 lignes quadrillant l'espace réservé à un caractère. Le nombre de bits nécessaire serait donc de 6 pour les x. 6 pour les y, soit au total 384 bits par caractère. La réduction du nombre de lignes de la grille à 32 x 32, qui correspondrait déjà à une sensible dégradation de la qualité du tracé de certains caractères, n'apporterait qu'une faible économie sur le volume de la mémoire, le nombre de bits n'étant réduit qu'à 320 par caractère.
Le générateur de caractères selon l'invention permet, notamment dans le cas d'une imprimante à jet d'encre, de réduire de fa çon importante. le volume de la mémoire sans pour cela conduire à une dégradation très sensible de la qualité du tracé des différents caractères. Il comprend une mémoire dans laquelle des informations correspondant aux coordonnées d'un certain nombre de points de chaque caractère à tracer par rapport à un système de coordonnées sont mémorisées, un dispositif d'exploration de cette mémoire permettant d'en extraire successivement les informations correspondant aux différents points d'un caractère déterminé, et un dispositif d'écriture ou d'affichage des caractères commandé par lesdites informations,
et il est caractérisé par le fait que les informations concernant l'une des coordonnées au moins d'une série de points mis en mémoire sont transmises de la mémoire au dispositif d'écriture ou d'affichage par l'intermédiaire d'un système asservi, les valeurs successives de consigne de ce système asservi étant constituées par les informations correspondantes de la série de points mis en mémoire, extraits de cette mémoire dans l'ordre de leur tracé.
Le générateur de caractères selon l'invention permet à une imprimante, notamment à jet d'encre, de tracer un certain nombre de points intermédiaires selon un segment de direction déterminée entre deux points successifs dont les coordonnées ont été mises en mémoire. Ainsi, malgré un nombre fortement réduit de points mis en mémoire pour chaque caractère, par exemple 8 points au lieu des 32 cités précédemment. on peut cependant obtenir un tracé très fidèle de chaque caractère.
Le dessin annexé représente. schématiquement et à titre d'exemple. une forme particulière du générateur de caractères faisant l'objet de l'invention.
La fig. I représente à échelle agrandie un ensemble de 31 signes composés de chiffres. de caractères et de symboles que l'on se propose d'imprimer.
La fig. 2 représente à échelle encore plus grande le chiffre 5 dans la grille choisie pour tracer tous les signes précédents.
La fig. 3 représente, sous forme de schéma-bloc, les éléments essentiels du générateur de caractères nécessaires à la compréhension de l'invention.
La fig. 4 illustre une particularité du tracé d'un segment d'un signe.
Le générateur de caractères décrit comme exemple d'application de l'invention est destiné à commander une imprimante à jet d'encre associée à une calculatrice électronique à quatre opérations, comprenant des registres accumulateurs, des registres mémoire, un ou plusieurs programmes incorporés. Le nombre de signes différents devant être imprimés dépassant 16, on a choisi une capacité de 32 signes différents dont la liste est représentée à la fig. 1. Le 32 signe ne correspond pas à une impression, mais à un
espacement de la largeur d'un signe.
Ce répertoire de 32 signes différents est introduit dans le générateur de caractères sous la forme d'une mémoire morte contenant les coordonnées d'un certain nombre de points de chaque signe par rapport à une grille de références quadrillant l'espace disponible pour chaque signe sur le support d'écriture.
Comme slgnalé plus haut, étant donné que dans une imprimante de ce type, en imprimant par exemple à la vitesse de 60 signes par seconde à la fréquence d'émission de 2000 Hz, on dispose de 32 gouttes d'encre par signe, on serait normalement conduit à introduire 32 points par signe dans la mémoire, Ainsi qu'il va être expliqué, le générateur de caractères décrit permet de réduire ce nombre à un minimum de 8 seulement, sans altérer de façon sensible la lisibilité des signes tracés.
Le choix du nombre de lignes horizontales et verticales constituant la grille de référence, par rapport à laquelle les 8 points mis en mémoire de chaque caractère vont être situés par deux coordonnées, influence également la capacité de la mémoire morte.
Avec le genérateur décrit, une grille de 8 x 8 lignes est entièrement suffisante.
La fig. 2 montre pour le chiffre 5 la façon dont les 8 points sont répartis par rapport à la grille choisie. Celle-ci est en réalité constituée de 7 lignes horizontales et de 7 lignes verticales, I'espacement de ces dernières étant plus grand que celui des pre mièvres. Ce nombre impair de lignes permet, selon les signes, de tracer une ligne médiane de symétrie, ce que ne permettrait pas un nombre pair.
Comme on le voit, le chiffre 5 a été décomposé en un certain nombre de segments horizontaux, verticaux ou diagonaux, et les 8 points numérotés de 0 à 7 sont répartis sur le tracé selon certaines règles qui apparaitront dans le cours de cet exposé.
La position de chaque point sur la grille peut être définie par une coordonnée horizontale X et une coordonnée verticale Y formées chacune d'un chiffre de 0 à 6 codé sous la forme de trois bits.
Afin d'assurer une définition et un contraste optimum pour des signes comportant une longueur de tracé très différente, 9 et 1 par exemple, le générateur de caractères décrit associe une troisième information à celle des coordonnées X et Y d'un point: un nombre binaire à plusieurs bits permettant de commander plusieurs vitesses différentes pour tracer un signe.
Les différents organes et le fonctionnement du générateur de caractères vont maintenant être décrits sur la base du schéma-bloc de la fig. 3.
La mémoire morte M, réalisée sous la forme d'un circuit à large intégration comprenant des éléments semi-conducteurs à oxydes métalliques (MOS), présente cinq entrées numérotées de 1 à 5, reliées par autant de lignes à un registre de sortie R de la calculatrice électronique. Les différents signes du répertoire de trentedeux apparaissent, dans l'ordre commandé par la calculatrice, à la sortie de ce registre R sous la forme d'une information codée de cinq bits en parallèle sur les cinq lignes.
La mémoire M présente trois autres entrées numérotées de 6 à 8 qui sont respectivement reliées aux sorties des trois premiers bistables Ao, Al et A2 d'un compteur A à quatre bits. Les huit informations à trois bits apparaissant successivement sur les entrées 6, 7 et 8 correspondent chacune à l'un des huit points du tracé d'un signe mis en mémoire.
La mémoire M est constituée de telle sorte qu'à chacune des combinaisons de huit bits susceptible d'être appliquée en parallèle sur ses huit entrées 1 à 8 corresponde une ligne déterminée d'un ensemble de 256 lignes L, chaque ligne contenant toutes les informations concernant un point déterminé d'un signe déterminé du répertoire.
Ces informations apparaissent en parallèle sur huit sorties numérotées de 9 à 16. Les sorties 9, 10 et 1 1 fournissent le nombre de trois bits correspondant à la coordonnée verticale Y du point considéré, les sorties 12, 13 et 14 le nombre de trois bits correspondant à la coordonnée horizontale X, et les sorties 15 et 16 le nombre de 2 bits destinés notamment à commander la vitesse de traçage du signe considéré.
Les sorties 9, 10 et 11 sont reliées aux entrées 19, 20, 21 d'un comparateur Cy à cinq bits dont les premières entrées 17 et 18 sont en permanence au niveau 0. Les cinq entrées opposées 22
à 26 sont respectivement reliées aux cinq bistables Bo à B4 d'un
compteur réversible By à cinq bits, c'est-à-dire d'un compteur qui
peut compter dans un sens et dans l'autre.
Les sorties 12, 13, 14 sont reliées aux entrées 32, 33, 34 d'un
second comparateur Cx à cinq bits, dont les premières entrées 30
et 31 sont en permanence au niveau 0. Les cinq entrées oppo
sées 35 à 39 sont respectivement reliées aux cinq bistables Bo à B4
d'un second compteur réversible Bx à cinq bits.
Chacun des deux ensembles constitués par un comparateur
Cx, respectivement Cy, et un compteur Bx, respectivement By,
fonctionne comme un système asservi dans lequel la valeur de
consigne est représentée par le nombre de trois bits correspondant
à la coordonnée x ou y d'un point mis en mémoire. Ces deux sys
tèmes asservis fonctionnent comme suit:
Supposons qu'on veuille tracer le segment reliant le point 2
(coordonnées X' = 6, Y' = 2) au point 3 (coordonnées X" = 4,
Y"=4) du chiffre 5 (fig. 2). A l'instant où l'information X"=4
correspondant au point 3 sort de la mémoire M, et apparait sur
les entrées 32, 33, 34 du comparateur Cx, le compteur Bx se
trouve dans la position X" = 6 correspondant au point 2. Le com
parateur Cx émet un signal sur sa sortie 42 exprimant le fait
que X" X'.
Ce signal parvient à l'entrée 45 du compteur Bx qu'il
enclenche dans le sens du comptage décroissant. Le compteur re
cule au rythme imposé par une horloge H. reliée à l'entrée 44
par 52 et 53. Comme on le constate facilement, il faut quatre in
créments successifs au compteur Bx pour égaliser un incrément
provenant de la mémoire M. Donc pour atteindre X" = 4, il fau
dra huit incréments négatifs successifs du compteur Bx. Dés que
les deux informations parvenant au compteur Cx sont égales, ce
dernier émet un signal sur sa sortie 41, qui, par l'intermédiaire d'une porte P2, ferme l'entrée 44 du compteur Bx.
Le passage de Y'= 2 à Y" = 4 s'effectue de façon similaire. Le
comparateur Cy émet un signal sur sa sortie 27 exprimant le fait
que Y" Y'. Le signal parvenant à l'entrée 46 du compteur By
enclenche l'opération de comptage dans le sens croissant, au rythme des impulsions de l'horloge H reliée à l'entrée 47. Ici égale
ment, il faudra huit incréments successifs du compteur By, cette
fois-ci positifs, pour atteindre Y" = 4. Le signal d'égalité émis sur
la sortie 28 du comparateur Cy ferme l'entrée 47 du compteur By par l'intermédiaire d'une porte Pl.
Les informations contenues dans les compteurs Bx et By sont
transmises en permanence de leurs sorties Sx et Sy à deux conver
tisseurs digital-analogique Dx, respectivement Dy, qui contrôlent
les fonctions Vx = f(t) et Vy = f(t'), variation en fonction du temps de la tension appliquée aux électrodes de déviation verticale et ho
rizontale du jet d'encre, pour que le point d'impact de ce dernier
sur le support d'écriture passe progressivement du point 2 au
point 3 du chiffre 5 selon un segment diagonal 2-3.
Les sorties 41 et 28 des comparateurs Cx et Cy sont également
reliées aux entrées 49 et 50 d'une porte P3. Lorsque le signal
d'égalité X" = X' et celui de Y"= Y' sont émis, la porte P3 trans
met un signal d'horloge vers l'entrée 51 du compteur A qui
avance d'un pas et fait apparaître les informations correspondant
au point suivant du chiffre 5 , soit le point 4 du tracé, à la sortie de la mémoire M.
Le segment 3-4 du chiffre 5 est horizontal: seule la coordonnée x passe de X'=4 à X"= 1, y conservant la valeur
Y' = Y" = 4. La sortie 28 du comparateur Cy est également reliée à l'une des entrées de deux parties formant un aiguillage E. Le signal Y"= Y' émis par le comparateur établit la liaison entre l'entrée 52 de l'aiguillage E et sa sortie 54, acheminant les impulsions de l'horloge H vers l'entrée 55 du bistable Bt du compteur Bx au lieu de les envoyer sur l'entrée 44 du bistable Bt > de ce même compteur.
On constate aisément que le compteur Bx va maintenant reculer par incréments de valeur double par rapport aux incréments du même compteur pendant le tracé du segment 2-3. Cette disposition du générateur de caractères permet de maintenir une densité de points pratiquement constante le long d'un segment de longueur donnée, qu'il soit vertical, diagonal ou horizontal. La fig. 4 illustre ce fait: Si le rapport des distances des deux lignes horizontales et de deux lignes verticales voisines est, par exemple, de -, et si l'on désigne la longueur du segment vertical OP > par 1, la longueur du segment diagonal OP, est de 1,2 et celle du segment horizontal OPx, correspondant à deux pas, de 1,17.
Le passage du point 0 au point 1 du tracé du chiffre 5 com pone deux segments successifs: Premièrement le segment diagonal correspondant au passage de y de la valeur I à la valeur 0 pendant que x passe de la valeur 0 à la valeur 1; secondement un segment horizontal x passant de la valeur I à la valeur 4 alors que y reste 0. Alors que durant le tracé en diagonale du premier segment les incréments en x et y sont de valeur normale, le tracé du second segment s'effectue par des incréments en x de valeur double, dès que le signal Y' = Y' apparaît sur la sortie 28 du comparateur Cy.
Cet exemple illustre bien la souplesse d'utilisation de ce type de générateur qui permet non seulement de relier deux points mé morisés par une succession de points non mémorisés situés sur un segment rectiligne, mais également de situer ces points sur une ligne brisée.
Lorsque les deux comparateurs Cx et Cy émettent le signal
X" = X' et Y" = Y', après que les informations concemant le 8' point d'un signe soient sorties de la mémoire M, le bistable A3 du compteur à 4 bits A bascule pour indiquer la fin du tracé d'un signe. L'impulsion correspondante apparaissant sur la sortie 56 de cette bascule est transmise à l'entrée 58 du convertisseur digitalanalogique Dx et à l'entrée 57 du convertisseur Dy. Elle provoque un brusque saut de la tension appliquée aux électrodes de déviation, amenant le point d'impact du jet sur un écran collecteur situé en dessous de la ligne d'écriture, position dans laquelle il reste jusqu'à ce que les informations concernant le premier point du signe suivant apparaissent à la sortie de la mémoire.
Peu après, une impulsion de fin de signe provenant de la calculatrice en 68 commande le décalage du registre R de sortie de la calculatrice et fait apparaître sur les entrées I à 5 de la mémoire M une information correspondant à un nouveau signe. En même temps, cette impulsion remet à zéro les compteurs A, Bx et
By. Dès ce moment-là, le cycle d'exploration des huits points de ce nouveau signe commence.
Comme cela a été signalé plus haut, les informations concernant chaque point mis en mémoire comprennent encore un nombre à deux bits qui apparait sur les sorties 15 et 16 de la mémoire M en même temps que les coordonnées x et y apparaissent sur les autres sorties. Les sorties 15 et 16 sont reliées à un déco- deur F qui peut transmettre un signal sur l'une de quatre lignes, selon l'information digitale reçue. Les trois premières lignes sont reliées à l'horloge H qui est conçue de telle façon que, selon la ligne empruntée par le signal, trois fréquence d'oscillation différentes lui soient imposées.
Ces trois fréquences sont choisies en fonction de la longueur du tracé d'un signe, de telle façon que pour des longueurs de tracé aussi différentes que celles des signes 8 . 7 et ( < 1 , I o, par exemple, on obtienne une définition et un contraste optimum. La fréquence de l'horloge et par conséquent la vitesse du tracé pourraient également être modifiées en cours d'impression d'un même signe.
Tous les signes ne commencent pas par un point 0 situé à l'ori- gine des coordonnées x et y. Par exemple, le signe 4 débute par un point 0 de coordonnées X = 4, Y = 0. Les deux compteurs Bx et
By ayant été remis à zéro à la fin du tracé ducaractère précèdent, un segment horizontal partant du point origine (0,0) et aboutissant au point X = 4, Y = 0 serait normalement tracé. II en serait de même entre les deux segments du signe =
Pour éviter ces segments parasites, le dispositif suivant est prévu.
Les sorties 9, 10 et 11 de la mémoire M sont également reliées
à des entrées 60, 61 et 62 du compteur By et les sorties 12, 13 et 14
à des entrées 63, 64 et 65 du compteur Bl. Ces compteurs sont
d'un type qui permet l'introduction immédiate de rinformation
reçue sur les entrées ci-dessus lorsqu'un signal est appliqué sur les
entrées 66, respectivement 67. Ce signal est transmis par la ligne 59
du décodeur F à la suite d'une information digitale correspondante
provenant des sorties 15 et 16 de la mémoire M.
Ainsi, le point d'impact du jet d'encre est transféré directe
ment, sans incréments progressifs provenant des compteurs Bx et t By par exemple, de l'écran collecteur au point initial 0 d'un signe,
ou du dernier point d'un segment au premier d'un second segment
non jointif. La rapidité de ce transfert est telle que seuls un ou
deux points perdus puissent apparaitre sur le support d'écriture.
Pour quelques signes dont le tracé peut débuter au point
X X = O, Y = 0, origine des coordonnées, il est possible au contraire
de gagner un segment en considérant ce point origine comme un
point supplémentaire du tracé.
Dans ce cas. l'information associée au point 0 mise en mé
rnoire ne commande pas un transfert immédiat sur ce point 0. par
l'intermédiaire du décodeur F, et on parvient à ce point 0 par un
segment 0',0 normalement tracé par incréments successifs (fig. 1,
28' signe).
Lorsqu'une information correspondant au 32' signe du réper
toire apparait sur les entrées 1 à 5 de la mémoire M, ordre donné
à l'imprimante d'introduire un espacement après le dernier carac
tère imprimé, cette information est reçue par une porte ET P4 qui
transmet alors un signal au bistable A3 du compteur A. Ce der
nier commande alors les convertisseurs Dx et Dy, comme expli
qué précédemment, pour maintenir le point d'impact du jet d'en cre sur l'écran collecteur durant tout le cycle de 8 points corres
pondant à ce signe.
II est clair que d'autres types de circuits et de mémoire pour
raient être conçus pour parvenir au même principe de fonctionne
ment.
D'autre part, il est évident que l'utilisation d'un générateur de caractère fonctionnant selon ce principe n'est pas limitée au
contrôle d'une imprimante faisant usage d'un procédé d'écriture
par jet d'encre. Un tel générateur peut, en effet, être appliqué à
tout procédé d'écriture, de traçage ou d'affichage dans lequel il 'peut apparaître avantageux de tracer des segments de façon continue par opposition à un traçage par balayage de la surface réservée à un signe ou à un groupe de signes.
The specific writing conditions, in a printer using an inkjet writing process, impose certain basic characteristics in the design of the character generator associated with such a printer.
The present invention relates to a character generator, particularly suitable for the writing conditions of a type of printer in which the ink jet originates in a writing head under the combined action of a hydrostatic pressure. , intended to establish at the outlet of the emission nozzle a convex ink meniscus, and an electric field exerting an attraction on this meniscus in the direction of the writing medium. The jet thus extracted from the nozzle is then deflected by the voltages applied to two pairs of electrodes. These voltages controlled by the character generator thus make it possible to move the point of impact of the jet on the writing medium, along two coordinate axes within a perimeter whose size is determined by the geometric data of the writing head and by the tensions that can be involved.
A printer of this type is described, for example, in Swiss patent No. 531935.
Experience shows that the inkjet is difficult to control during transient set-up and shutdown regimes. On the other hand, and although this jet is not continuous, but on the contrary constituted by tiny spherical drops successively omitted, it is not possible, because of the high frequency of this emission, to successively print two points relatively distant from each other without appearing between the two one or two unwanted dots resulting from incompletely controlled ink drops.
Under these conditions, a mode of writing by scanning line by line of the area reserved for a character, a word or a group of words, with successive printing of dots, most often isolated, comes up against great difficulties. This is the reason why we are led to a printing mode according to which each character is obtained by a plot approaching a continuous plot and several successive characters of a group are plotted without interrupting the ink jet, the latter being simply diverted on a screen during the passage from one character to the next.
The smoothness of the line and its degree of contrast with the writing medium depend on the volume of the ink drops and the number of drops assigned to each character. The number of drops required to obtain good definition and sufficient contrast for the character with the longest stroke then determines the writing speed.
Typical values for these different parameters are in the following orders of magnitude: diameter of an ink drop: 30 to 40 p transmission frequency: 2000 to 3000 Hz
time plot of a dimensional character
usual in mechanography: 10 to 20 ms.
It is obvious that the conditions described above impose on a character generator intended to control the trajectory of the inkjet very specific basic characteristics and very different from those of a character generator designed, for example, to order a cathode ray tube display.
It first appeared that a generator operating on the analog principle made it possible to solve the problem more simply. Swiss Patent No. 416688 describes, for example, such a generator.
With the development of read-only memories in the form of large-scale integrated circuits, the interest of a character generator operating according to the digital principle has become very great, both in terms of cost price and size, and this all the more so as the number of different characters to be produced is higher.
In principle, the read only memory of such a digital character generator should be able to contain as many bits as are necessary to define the coordinates of each of the points making up a character. The number 8, for example, with typical values of 2000 Hz for the transmission frequency and 16 ms for the duration of the trace would require the successive call of 32 different points with their X and Y coordinates.
To achieve a plot quality equivalent to that which can be obtained from an analog generator of the type cited above, these 32 points should be located in a grid of 64 x 64 lines crisscrossing the space reserved for a character. The number of bits needed would therefore be 6 for the x. 6 for the y, or a total of 384 bits per character. Reducing the number of grid lines to 32 x 32, which would already correspond to a significant degradation in the quality of the drawing of certain characters, would only bring a small saving on the volume of the memory, the number of bits n 'being reduced to only 320 per character.
The character generator according to the invention makes it possible, in particular in the case of an inkjet printer, to reduce significantly. the volume of the memory without leading to a very noticeable degradation in the quality of the drawing of the different characters. It comprises a memory in which information corresponding to the coordinates of a certain number of points of each character to be drawn with respect to a coordinate system are stored, a device for exploring this memory making it possible to successively extract the corresponding information. at the different points of a determined character, and a device for writing or displaying characters controlled by said information,
and it is characterized by the fact that the information relating to at least one of the coordinates of a series of points stored in memory is transmitted from the memory to the writing or display device by means of a slave system , the successive setpoint values of this controlled system being formed by the corresponding information of the series of points stored in memory, extracted from this memory in the order of their plotting.
The character generator according to the invention allows a printer, in particular an inkjet printer, to plot a certain number of intermediate points along a segment with a determined direction between two successive points whose coordinates have been stored in memory. Thus, despite a greatly reduced number of points stored for each character, for example 8 points instead of the 32 mentioned previously. one can however obtain a very faithful drawing of each character.
The accompanying drawing represents. schematically and by way of example. a particular form of the character generator forming the subject of the invention.
Fig. I represents on an enlarged scale a set of 31 signs composed of numbers. characters and symbols that we intend to print.
Fig. 2 represents on an even larger scale the number 5 in the grid chosen to draw all the preceding signs.
Fig. 3 shows, in the form of a block diagram, the essential elements of the character generator necessary for understanding the invention.
Fig. 4 illustrates a particular feature of the drawing of a segment of a sign.
The character generator described as an example of application of the invention is intended to control an inkjet printer associated with an electronic calculator with four operations, comprising accumulator registers, memory registers, one or more built-in programs. As the number of different signs to be printed exceeds 16, a capacity of 32 different signs was chosen, the list of which is shown in FIG. 1. The 32 sign does not correspond to an impression, but to a
spacing the width of a sign.
This directory of 32 different signs is introduced into the character generator in the form of a read only memory containing the coordinates of a certain number of points of each sign with respect to a grid of references squaring the space available for each sign on writing support.
As mentioned above, given that in a printer of this type, by printing for example at the speed of 60 signs per second at the transmission frequency of 2000 Hz, there are 32 drops of ink per sign, we would be normally results in the introduction of 32 points per sign into the memory. As will be explained, the character generator described makes it possible to reduce this number to a minimum of 8 only, without significantly altering the readability of the signs drawn.
The choice of the number of horizontal and vertical lines constituting the reference grid, in relation to which the 8 points stored in memory of each character will be located by two coordinates, also influences the capacity of the read only memory.
With the generator described, a grid of 8 x 8 lines is entirely sufficient.
Fig. 2 shows for the number 5 how the 8 points are distributed in relation to the chosen grid. This is actually made up of 7 horizontal lines and 7 vertical lines, the spacing of the latter being greater than that of the first ones. This odd number of lines makes it possible, according to the signs, to draw a median line of symmetry, which an even number would not allow.
As we can see, the number 5 has been broken down into a certain number of horizontal, vertical or diagonal segments, and the 8 points numbered from 0 to 7 are distributed on the route according to certain rules which will appear in the course of this presentation.
The position of each point on the grid can be defined by a horizontal X coordinate and a vertical Y coordinate each formed by a number from 0 to 6 encoded in the form of three bits.
In order to ensure optimum definition and contrast for signs comprising a very different plot length, 9 and 1 for example, the character generator described associates a third piece of information with that of the X and Y coordinates of a point: a number binary with several bits allowing to control several different speeds to draw a sign.
The various components and the operation of the character generator will now be described on the basis of the block diagram of FIG. 3.
The read-only memory M, produced in the form of a widely integrated circuit comprising semiconductor elements with metal oxides (MOS), has five inputs numbered from 1 to 5, connected by as many lines to an output register R of the electronic calculator. The various signs of the thirty-two directory appear, in the order commanded by the calculator, at the output of this register R in the form of coded information of five bits in parallel on the five lines.
The memory M has three other inputs numbered 6 to 8 which are respectively connected to the outputs of the first three bistables Ao, Al and A2 of a four-bit counter A. The eight three-bit information appearing successively on inputs 6, 7 and 8 each correspond to one of the eight points of the trace of a sign stored in memory.
The memory M is formed so that each of the combinations of eight bits capable of being applied in parallel to its eight inputs 1 to 8 corresponds to a determined line of a set of 256 lines L, each line containing all the information concerning a given point of a given sign of the repertoire.
This information appears in parallel on eight outputs numbered from 9 to 16. The outputs 9, 10 and 1 1 provide the number of three bits corresponding to the vertical Y coordinate of the point considered, the outputs 12, 13 and 14 the number of three bits corresponding to the horizontal X coordinate, and the outputs 15 and 16 the number of 2 bits intended in particular to control the tracing speed of the sign considered.
The outputs 9, 10 and 11 are connected to the inputs 19, 20, 21 of a five-bit comparator Cy, the first inputs 17 and 18 of which are permanently at level 0. The five opposite inputs 22
to 26 are respectively connected to the five bistables Bo to B4 of a
five-bit By reversible counter, i.e. a counter which
can count both ways.
The outputs 12, 13, 14 are connected to the inputs 32, 33, 34 of a
second five-bit comparator Cx, of which the first inputs 30
and 31 are permanently at level 0. The five oppo inputs
lines 35 to 39 are respectively connected to the five bistables Bo to B4
a second reversible counter Bx with five bits.
Each of the two sets constituted by a comparator
Cx, respectively Cy, and a counter Bx, respectively By,
operates as a slave system in which the value of
setpoint is represented by the corresponding number of three bits
at the x or y coordinate of a point stored in memory. These two sys
Slave systems work as follows:
Suppose we want to draw the segment connecting point 2
(coordinates X '= 6, Y' = 2) at point 3 (coordinates X "= 4,
Y "= 4) of the number 5 (fig. 2). At the moment when the information X" = 4
corresponding to point 3 exits memory M, and appears on
inputs 32, 33, 34 of comparator Cx, the counter Bx is
found in position X "= 6 corresponding to point 2. The com
parator Cx emits a signal on its output 42 expressing the fact
that X "X '.
This signal reaches the input 45 of the counter Bx which it
engages in the direction of downward counting. The meter re
cule at the rate imposed by a clock H. connected to input 44
par 52 and 53. As can easily be seen, four in
successive creations on the Bx counter to equalize an increment
from memory M. So to reach X "= 4, it is necessary
dra eight successive negative increments of the counter Bx. As soon as
the two pieces of information reaching the counter Cx are equal, this
the latter emits a signal on its output 41, which, via a gate P2, closes the input 44 of the counter Bx.
The passage from Y '= 2 to Y "= 4 is carried out in a similar way.
comparator Cy emits a signal on its output 27 expressing the fact
than Y "Y '. The signal reaching input 46 of the By counter
initiates the counting operation in the increasing direction, at the rate of the pulses of the clock H connected to input 47. Here equal
ment, it will take eight successive increments of the By counter, this
positive times, to reach Y "= 4. The equality signal emitted on
the output 28 of the comparator Cy closes the input 47 of the By counter via a gate Pl.
The information contained in the Bx and By counters is
continuously transmitted from their Sx and Sy outputs to two conver
digital-analog weavers Dx, respectively Dy, which control
the functions Vx = f (t) and Vy = f (t '), variation as a function of time of the voltage applied to the vertical deflection electrodes and ho
horizontal inkjet, so that the point of impact of the latter
on the writing medium progressively goes from point 2 to
point 3 of number 5 according to a diagonal segment 2-3.
The outputs 41 and 28 of the comparators Cx and Cy are also
connected to inputs 49 and 50 of a door P3. When the signal
of equality X "= X 'and that of Y" = Y' are emitted, the gate P3 trans
puts a clock signal to input 51 of counter A which
takes a step forward and displays the corresponding information
at the next point of number 5, i.e. point 4 of the plot, at the output of memory M.
Segment 3-4 of number 5 is horizontal: only the x coordinate goes from X '= 4 to X "= 1, y keeping the value
Y '= Y "= 4. The output 28 of the comparator Cy is also connected to one of the inputs of two parts forming a switch E. The signal Y" = Y' emitted by the comparator establishes the connection between the input 52 switch E and its output 54, routing the clock pulses H to input 55 of bistable Bt of counter Bx instead of sending them to input 44 of bistable Bt> of this same counter.
It is easy to see that the counter Bx will now go back in increments of double the value of the increments of the same counter during the trace of segment 2-3. This arrangement of the character generator makes it possible to maintain a virtually constant density of dots along a segment of given length, whether vertical, diagonal or horizontal. Fig. 4 illustrates this fact: If the ratio of the distances of the two horizontal lines and of two neighboring vertical lines is, for example, -, and if we designate the length of the vertical segment OP> by 1, the length of the diagonal segment OP , is 1.2 and that of the horizontal segment OPx, corresponding to two steps, is 1.17.
The passage from point 0 to point 1 of the trace of the number 5 com ponates two successive segments: First, the diagonal segment corresponding to the passage of y from the value I to the value 0 while x passes from the value 0 to the value 1; secondly a horizontal segment x passing from the value I to the value 4 while y remains 0. While during the diagonal plotting of the first segment the increments in x and y are of normal value, the plotting of the second segment is carried out by increments in x of double value, as soon as the signal Y '= Y' appears on the output 28 of the comparator Cy.
This example clearly illustrates the flexibility of use of this type of generator which makes it possible not only to connect two points memorized by a succession of non-memorized points situated on a rectilinear segment, but also to locate these points on a broken line.
When the two comparators Cx and Cy emit the signal
X "= X 'and Y" = Y', after the information concerning the 8 'point of a sign has left the memory M, the bistable A3 of the 4-bit counter A toggles to indicate the end of the trace of a sign. The corresponding pulse appearing on the output 56 of this flip-flop is transmitted to the input 58 of the digital-to-analog converter Dx and to the input 57 of the converter Dy. It causes a sudden jump in the voltage applied to the deflection electrodes, bringing the point of impact of the jet on a collector screen located below the writing line, a position in which it remains until the information concerning the first point of the following sign appear when exiting the memory.
Shortly thereafter, an end-of-sign pulse coming from the calculator at 68 controls the shift of the output register R of the calculator and causes information corresponding to a new sign to appear on the inputs I to 5 of the memory M. At the same time, this pulse resets counters A, Bx and
By. From that moment on, the cycle of exploring the eight points of this new sign begins.
As indicated above, the information concerning each point stored in memory also includes a two-bit number which appears on the outputs 15 and 16 of the memory M at the same time as the x and y coordinates appear on the other outputs. The outputs 15 and 16 are connected to a decoder F which can transmit a signal on one of four lines, depending on the digital information received. The first three lines are connected to the clock H which is designed in such a way that, depending on the line taken by the signal, three different oscillation frequencies are imposed on it.
These three frequencies are chosen according to the length of the trace of a sign, so that for lengths of trace as different as those of signs 8. 7 and (<1, I o, for example, one obtains an optimum definition and contrast. The frequency of the clock and consequently the speed of the trace could also be modified during the printing of the same sign.
Not all signs start with a 0 point at the origin of the x and y coordinates. For example, the sign 4 begins with a point 0 with coordinates X = 4, Y = 0. The two counters Bx and
By having been reset to zero at the end of the preceding character drawing, a horizontal segment starting from the origin point (0,0) and ending at the point X = 4, Y = 0 would normally be drawn. It would be the same between the two segments of the sign =
To avoid these parasitic segments, the following device is provided.
M-memory outputs 9, 10 and 11 are also connected
at inputs 60, 61 and 62 of the By counter and outputs 12, 13 and 14
to inputs 63, 64 and 65 of counter Bl. These counters are
of a type which allows the immediate introduction of information
received on the above inputs when a signal is applied to the
inputs 66, respectively 67. This signal is transmitted by line 59
of the decoder F following a corresponding digital information
from outputs 15 and 16 of memory M.
Thus, the point of impact of the inkjet is transferred direct
ment, without progressive increments coming from the counters Bx and t By for example, from the collector screen to the initial point 0 of a sign,
or from the last point of a segment to the first of a second segment
not contiguous. The speed of this transfer is such that only one or
two lost dots may appear on the writing medium.
For some signs whose line can start at point
X X = O, Y = 0, origin of the coordinates, it is possible on the contrary
to gain a segment by considering this point of origin as a
additional point of the plot.
In that case. the information associated with point 0 set in
rnoire does not order an immediate transfer on this point 0. by
via decoder F, and we reach this point 0 by a
segment 0 ', 0 normally drawn in successive increments (fig. 1,
28 'sign).
When information corresponding to the 32 'sign of the directory
roof appears on inputs 1 to 5 of memory M, order given
the printer to enter a space after the last character
ter printed, this information is received by an AND gate P4 which
then transmits a signal to the bistable A3 of the counter A. This der
deny then commands the Dx and Dy converters, as explained
previously, to maintain the point of impact of the jet of encr on the collector screen throughout the cycle of 8 corresponding points
laying at this sign.
It is clear that other types of circuits and memory for
could be designed to achieve the same operating principle
is lying.
On the other hand, it is obvious that the use of a character generator operating according to this principle is not limited to the
controlling a printer using a writing process
by inkjet. Such a generator can, in fact, be applied to
any method of writing, plotting or displaying in which it may appear advantageous to draw segments continuously as opposed to tracing by scanning the area reserved for a sign or a group of signs.