(19)
(11)EP 0 160 943 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
23.08.1989 Bulletin 1989/34

(21)Application number: 85105387.6

(22)Date of filing:  03.05.1985
(51)International Patent Classification (IPC)4G06K 15/10

(54)

Method and apparatus for creating fonts for an electronic character generator

Methode und Apparat zur Erzeugung von Drucktypenarten für einen elektronischen Schriftzeichengenerator

Méthode et appareil pour la création de jeux de types de lettres d'imprimerie pour un générateur électronique de caractères


(84)Designated Contracting States:
DE FR GB IT NL SE

(30)Priority: 07.05.1984 US 607556

(43)Date of publication of application:
13.11.1985 Bulletin 1985/46

(73)Proprietor: PITNEY BOWES, INC.
Stamford Connecticut 06926 (US)

(72)Inventor:
  • Parker, Harry L.
    Fairfield, CT 06430 (US)

(74)Representative: Patentanwälte Leinweber & Zimmermann 
Rosental 7
80331 München
80331 München (DE)


(56)References cited: : 
DE-A- 2 539 738
DE-A- 2 928 865
  
      
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description


    [0001] The present invention relates to a method and an apparatus for creating fonts to be used in look-up tables of an electronic character generator.

    [0002] The printing of alphanumeric characters in the form of a matrix of dots arranged in correspondence with the character to be printed is widely used as is e.g. described in DE-A-2 928 865. This reference especially discloses a method for printing characters of different size with the same dot matrix printer.

    [0003] In the field of dot matrix printing, particularly in the field of non-impact dot matrix printing, a control system must be used whereby data containing information relative to text to be printed is converted to produce preselected characters or patterns. These characters or patterns will be produced as a result of data contained in memory banks which store dot patterns of various fonts. Such fonts must first be placed in storage in the printer memory, for example by burning into memory units such as PROMS.

    [0004] Various schemes have been used in the past to write fonts into the memory of a control unit or computer. These prior schemes of producing fonts were usually slow and time-consuming. The basic method of creating fonts consisted basically of an artist, or draftsman, creating on a page of graph paper a large rendition, one to two feet high, of the character to be digitized. This individual would then manually select what he considered to be the best distribution of the dots. The dot pattern would then be manually entered into a computer memory by typing one key per dot.

    [0005] Such methods suffered because of two problems: first, the method was too slow, about half a day per character and second, the letters were inconsistent throughout the font design. As the artist or draftsman worked, he would unconsciously change his rules for designing the fonts. This would result in an uneven appearance of the font sets.

    [0006] Font creating modules have been developed for automatically creating fonts for dot matrix printers. Although such modules have increased the speed with which fonts can be stored, they lack the ability to simulate the type of print for which the fonts are to be used. For example, laser and light emitting diode printers produce dots with a Gaussian shape, thermal printers produce a rectangular dot with curved corners, hereinafter referred to as curvilinear rectangle, and a pin dot matrix printer, which is an impact printer, produces a disc shaped dot. Prior font creating modules are unable to tailor such dot shapes.

    [0007] It is an object of the present invention to provide for a method and an apparatus of the above-referenced type which allows for a faster and more accurate creation of fonts to be used in look-up tables of an electronic character generator.

    [0008] This method, according to the invention, comprises creating a video image of a character, digitizing and storing the video image, modifying the digitized video image into a two-level pixel image and storing this, converting the two-level pixel image into a dot matrix of a selected grid size, editing the dot matrix with a selected type of dots, and storing the edited dot matrix for use in a look-up table of an electronic character generator.

    [0009] By this method, the video image of a desired character is produced from an original Art Work and a corresponding font is created with the optimum pattern of dots for any character or pattern. The dots not only will be optimally positioned, but they also will have the characteristics of the printer in which they are to be used.

    [0010] In the following description an examplary embodiment of the invention is described with reference to the drawings in which:

    Fig. 1 shows a schematic diagram of an apparatus capable of carrying out the method according to the invention;

    Fig. 2 shows in block diagram form a more detailed view of the image processor portion of the system shown in Fig. 1; and

    Fig. 3 shows in block diagram form a more detailed view of the frame buffer portion of the image processor in Fig. 2.


    Detailed Description of the Preferred Embodiment



    [0011] Referring now to Fig. 1 of the drawing, a font creating system is shown generally at 10 and includes a source of illumination such as lights 12 having reflectors 14 so as to direct light onto artwork 16. The artwork 16 may present an alpha numeric character 17 such as shown, or any other type of symbol, design or pattern. A video camera 18 is positioned to receive light reflected from the artwork 16. The video camera 18 is in communication through a channel 20 with an image processor 22, the structure of which will be described in greater detail hereinafter in conjunction with Fig. 2. A computer 24 interfaces through channels 26 with the image processor 22, the computer being one which has internal memory such as a PDP 11/34 computer system manufactured and marketed by Digital Equipment Corporation of Marlboro, MA. A memory unit having look-up tables 28 interfaces with the computer 24 through channels 30 to exchange data therebetween. The computer 24 also is in connection with a terminal 32 through channels 33 whereby information may be input into the computer by way of a keyboard 34 and information and instructions may be transmitted to the operator of the computer through a CRT 36 integral with the terminal 32. A video monitor 38 is in communication with the image processor 22 through a channel 40 whereby the operator may visually determine what is stored within the image processor and look-up tables 28.

    [0012] Referring now to Fig. 2, the image processor 22-- includes an analog to digital (A/D) converter 44 that receives the output of the video camera 18 through the channel 20. An image array processor 46 is in communication with the A/D converter 44 through a channel 48, with a bus 49 through a channel 51 and with a unit made up of image frame buffers 50 through a channel 52. The frame buffers 50 communicate with a primary intensity transformation tables unit 54 through a channel 56 and are connected to the bus 49 through channels 55. The transformation tables 54 communicate with the image array processor 46 through a channel 58 and are also connected to the bus 49 through another channel 59. The frame buffer unit 50 is composed of four frames or sections, each section storing different information as will be described hereinafter. The frame buffers 50 communicate with an output intensity transformation tables unit (OITT) 60 by way of a channel 62. Downstream from the OITT 60 is a digital to analog converter (D/A) 64 which transforms data into a form acceptable to the video monitor 38.

    [0013] In operation, the artwork 16 is placed so as to address the video camera 18 whereby the character 17 image can be reflected to the camera as a result of the lights 12 being directed upon the artwork and reflected therefrom. The camera 18 produces a video image of the character 17 which is transmitted over channel 20 to the image processor 22. This video image is turned into a digitized signal by the A/D converter 44 and is conveyed in this form to the image array processor 46. The operations to be performed by the image array processor are commanded by and under control of the computer 24. The image is received and stored by one of the frame buffers 50 and is then transmitted to one of the primary intensity transformation tables 54 by way of the channel 56. Each of the tables 54 has 256 levels of intensity. If a picture element (pixel) has an intensity for 0-127, it will be deemed to be an ink spot (black). If the intensity of a pixel is 128-255, it will be deemed to be part of the background (white). Consequently, a black and white, two level, image of high resolution is created and this is referred to as a threshold image. This threshold image passes through the image array processor 46 and is received and stored in one of four image areas of the frame buffers 50 for purposes of display by the video monitor 38.

    [0014] Upon initialization of the terminal 32, the computer will give an operator a menu of character parameters which will be displayed on the video monitor 36 and from which the operator may make a selection. Examples of selections from the menu would be: grid size, the number of rows and columns of dots, the amount of overlap of the dots, the shape of the dots and a display of sharp dots (uniform distribution) curvilinear rectangles or Gaussian shape dots (fuzzy edges). By altering these parameters, many different printers can be accommodated. Because different printers use different types of dots, dots per character, spacing of dots and the like by tailoring the dot parameters, the characteristics of the printer may be modeled or simulated. For example, by selecting Gaussian shaped dots, the operator may create fonts and will see how they will actually be printed by a laser printer or a light emitting diode printer. The operator would select the parameters and the computer 24 would cause display of the video image with such parameters against an alignment grid on the video monitor 38.

    [0015] Referring now to Fig. 3, the four sections of the frame buffer 50 are shown and a description will be given of the manner in which the simulated characters and dot size selection are generated. The first section, section I, receives the threshold image from the image array processor 46. This threshold image is in the form of a two level representation of the character 17 with a square pixel configuration. In section II a representation of the grid selected by the operator will be presented. The operator will select the height and width of the grid as well as the aspect ratio. Shown in section II is a 30 x 36 grid. By superimposing the threshold image of section I onto the grid of section II, the appropriate rectangles of the grid will be imaged in accordance with the character 17. In section III the dot image will be determined in terms of its size, shape, configuration and the like. It is section III that stores the dot shape selected by the operator and will have a sharp configuration, curvilinear rectangle, or a Gaussian shape in response to the operator's input. A sharp dot will have two intensity levels. A Gaussian shaped dot image represents a distribution of gray levels with the darkest part in the center of the grid square where the dot is resident and decreasing in darkness as the edge of the dot is approached. These gray tones are obtained by subtracting intensity in section IV where the dots will be transferred. In creating a curvilinear rectangle, intensity is controlled at the corners to produce a rounded effect. It will be appreciated that section III is shown with a black dot having a white background but in practice the reverse is true, i.e., a white dot with a black background. A Gaussian shape is created in section IV by selectively subtracting intensity from the image transferred from section 111; In creating a curvilinear rectangle, intensity is subtracted from the corners to produce a rounded effect.

    [0016] The computer 24 would sample the character 17 images within each grid square to determine how much is black and how much is white. This sampling may be performed in a manner which gives more weight to the center of the grid than the edges so that dots will be placed only when the central area of the grid is black. Additionally, based on the weighted fractions of black, the proper dot size may be assigned to a given area. By way of example, the system may have four dot sizes from which to choose, the image of the dot sizes being stored in one of the frame buffers 50. These four sizes would be no dot, small, medium or large dot. In the sampling, the computer would look at a 5 x 5 matrix within the grid rectangle to determine the dot size to be assigned to the central grid square. It may sample only half of the pixels in the 5 x 5 matrix, thereby looking at 12 pixels. If 5-8 pixels of the 12 are black, the center dot will be made small. If 9-10 pixels are black, a medium size dot will be assigned, and if 11-12 pixels are black, a large dot will be assigned. This is repeated for all the grid squares and the created representation of the font is displayed on the video monitor for the operator's inspection.

    [0017] More specifically, the sample is weighted to give more importance to the central region of the location as opposed to the edges and corners. The weighted sampling is implemented by first calculating an array of grid coordinate offsets to be sampled, and then using this array to locate which pixels within each grid rectangle to sample. The array of offset coordinates is chosen so that every pixel within 2 pixels of the grid center is sampled, and so that as the sampling progresses towards the corners of the grid more and more pixels are skipped between samples. This is done by using a mathematical function that slowly increases with its parameter to calculate the number of pixels to skip given the distance from the grid center.

    [0018] The preferred function is the truncated base 2 logarithm. This function is the number of times you must multiply 2 by itself to nearly reach but not exceed a given number. For example, given a sequence of distances from the center of a grid: 1 2 3 4 5.6 7 8, the truncated base 2 log of these numbers are: 0 1 1 2 2 2 2 3. Thus, for example, at a location five units away from grid center two pixels would be skipped before we take another sample.

    [0019] Subsequent to displaying the resulting font, an operator is free to edit the font with key-stroke commands. He may change the size or shape of any dot or insert and delete dots. When this is done, and if proportional spacing is called for, the grid matrix may be trimmed to its minimum size. The operator is free to adjust this spacing. Once the operator approves of the font, it is stored in nonvolatile memory, such as disk memory, and the operator may then continue to the next character.

    [0020] Once a complete font is stored, a procedure may be followed whereby these files may be encoded in the proper format for encoding a PROM. The PROM's thus encoded may then be installed into a character generator for electronically supplying font configurations in dot matrix form to a dot matrix printer. The fonts that are resident in the PROM's will be used as part of the look-up tables in the character generator so that upon command of a selected character to be printed, the dot pattern for the same will be supplied from such look-up tables.

    [0021] The advantages of the instant system over alternative methods include: 1) speed: an entire alphabet takes a few hours instead of weeks as required for the manual design method and through instant editing the need for the time-consuming and tedious process of burning, printing the font and editing the file repeatedly to obtain a desired font is eliminated, 2) accuracy: a constant objective standard is used for the decision of proper placement and shape of the dots and 3) the characteristics of the printer in which the fonts are to be used are simulated.


    Claims

    1. A method of creating fonts to be used in look-up tables of an electronic character generator, comprising:

    (a) creating a video image of a character (17),

    (b) digitizing and storing the video image,

    (c) modifying the digitized video image into a two-level pixel image and storing this,

    (d) converting the two-level pixel image into a dot matrix of a selected grid size,

    (e) editing the dot matrix with a selected type of dots, and

    (f) storing the edited dot matrix for use in a look-up table of an electronic character generator.


     
    2. The method of claim 1 including the step of changing the shape of the dots during said editing step.
     
    3. The method of claim 1 or 2 including the step of selectively changing the size of the dots during said editing step.
     
    4. The method of anyone of claims 1 to 3 including the step of selecting the shape of dots to simulate the print characteristics of the printer.
     
    5. The method of anyone of claims 1 to 4 including the step of displaying the dot matrix in the form of an image:
     
    6. Apparatus for creating fonts according to the method of anyone of claims 1 to 5, comprising:

    (a) means (18) for creating a video image of a character (17),

    (b) means (44, 46, 50) for digitizing and storing said video image,

    (c) means (46, 54, 50) for modifying the digitized video image into a two-level pixel image and storing this,

    (d) means (46, 50) for converting the two-level pixel image into a dot matrix of a selected grid size,

    (e) means (32, 24) for editing the dot matrix with a selected type of dots, and

    (f) means (24) for storing the edited dot matrix for use in a look-up table of an electronic character generator.


     
    7. The apparatus of claim 6, comprising means (38) for visually presenting the dot matrix in the form of an image.
     
    8. The apparatus of claim 7 wherein said shape of dots may be either sharp, curvilinear rectangular or Gaussian shaped.
     
    9. The apparatus of claim 7 or 8 including means (24) for providing a grid display as a background to said visually presented character and means (32) for varying the parameters of said grid.
     
    10. The apparatus of anyone of claims 6 to 9 including means (24) for producing dots having a shape that simulates the printing characteristics of the printer in which the character generator is to be used.
     


    Ansprüche

    1. Verfahren zur Erzeugung von in Suchtabellen eines elektronischen Zeichengenerators zu verwendenden Schriftarten mit den Schritten:

    (a) Erzeugen eines Videobildes eines Zeichens (17),

    (b) Digitalisieren und Speichern des Videobildes,

    (c) Modifizieren des digitalisierten Videobildes in ein Zweipegel-Pixelbild und Speichern desselben,

    (d) Umwandeln des Zweipegel-Pixelbildes in eine Punktmatrix von ausgewählter Gittergröße,

    (e) Editieren der Punktmatrix mit einer ausgewählten Art von Punkten, und

    (f) Speichern der editierten Punktmatrix zur Verwendung in einer Suchtabelle eines elektronischen Zeichengenerators.


     
    2. Verfahren nach Anspruch 1 mit dem Verfahrensschritt des Veränderns der Form der Punkte während des Editierschrittes.
     
    3. Verfahren nach Anspruch 1 oder 2 mit dem Verfahrensschritt des selektiven Änderns der Größe der Punkte während des Editierschrittes.
     
    4. Verfahren nach einem der Ansprüche 1 bis 3 mit dem Verfahrensschritt des Wählens der Form der Punkte zur Simulierung der Druckcharakteristiken des Druckers.
     
    5. Verfahren nach einem der Ansprüche 1 bis 4 mit dem Verfahrensschritt des sichtbaren Anzeigens der Punktmatrix in der Form eines Bildes.
     
    6. Vorrichtung zur Erzeugung von Schriftarten gemäß dem Verfahren nach einem der Ansprüche 1 bis 5 mit

    (a) einer Einrichtung (18) zur Erzeugung eines Videobildes eines Zeichens (17),

    (b) einer Einrichtung (44, 46, 50) zur Digitalisierung und Speicherung des Videobildes,

    (c) einer Einrichtung (46, 54, 50) zur Modifizierung des digitalisierten Videobildes in ein Zweipegel-pixelbild und Speicherung desselben,

    (d) einer Einrichtung (46, 50) zur Umwandlung des Zweipegel-Pixelbildes in eine Punktmatrix von ausgewählter Gittergröße,

    (e) einer Einrichtung (32,24) zur Editierung der Punktmatrix mit einer ausgewählten Art von Punkten, und

    (f) einer Einrichtung (24) zur Speicherung der editierten Punktmatrix für die Verwendung in einer Suchtabelle eines elektronischen Zeichengenerators.


     
    7. Vorrichtung nach Anspruch 6 mit einer Einrichtung (38) zur sichtbaren Darstellung der Punktmatrix in der Form eines Bildes.
     
    8. Vorrichtung nach Anspruch 7, wobei die Form der Punkte scharf, gekrümmt, rechteckig oder von Gaußscher Form sein kann.
     
    9. Vorrichtung nach Anspruch 7 oder 8 mit einer Einrichtung (24) zur Lieferung einer Gitteranzeige als Hintergrund für das sichtbar dargestellte Zeichen und einer Einrichtung (32) zum Verändern der Parameter dieses Gitters.
     
    10. Vorrichtung nach einem der Ansprüche 6 bis 9 mit einer Einrichtung (24) zur Erzeugung von Punkten von solcher Form, durch die die Druckcharakteristiken des Druckers, in der der Zeichengenerator verwendet werden soll, simuliert werden.
     


    Revendications

    1. Procédé pour créer des polices de caractères devant être utilisées dans des tables de consultation d'un générateur électronique de caractères, consistant à:

    (a) créer une image vidéo d'un caractère (17),

    (b) numériser et mémoriser l'image vidéo,

    (c) modifier l'image vidéo numérisée en une image à éléments d'image à deux niveaux et la mémoriser,

    (d) convertir l'image à éléments d'image à deux niveaux en une matrice de points possédant une taille de grille sélectionnée,

    (e) éditer la matrice de points avec un type sélectionné de points, et

    (f) mémoriser la matrice de points éditée en vue de son utilisation dans une table de consultation d'un générateur électronique de caractères.


     
    2. Procédé selon la revendication 1, incluant l'étape consistant à modifer la forme des points pendant ladite étape d'édition.
     
    3. Procédé selon la revendication 1 ou 2, incluant l'étape consistant à modifier de façon sélective la taille des points pendant ladite étape d'édition.
     
    4. Procédé selon l'une quelconque des revendications 1 à 3, incluant l'étape consistant à sélectionner la forme des points pour simuler les caractéristiques d'impression de l'imprimante.
     
    5. Procédé selon l'une quelconque des revendications 1 à 4, incluant l'étape d'affichage de la matrice de points sous la forme d'une image.
     
    6. Dispositif pour créer des polices de caractères conformément au procédé selon l'une quelconque des revendications 1 à 5, comprenant:

    (a) des moyens (18) pour créer une image vidéo d'un caractère (17),

    (b) des moyens (44, 46, 50) pour numériser et mémoriser ladite image vidéo,

    (c) des moyens (46, 54, 50) pour modifier l'image vidéo numérisée sous la forme d'une image à éléments d'image à deux niveaux et la mémoriser,

    (d) des moyens (46, 50) servant à convertir l'image à éléments d'image à deux niveaux en une matrice de points possédant une taille de grille sélectionnée,

    (e) des moyens (32, 24) pour éditer la matrice de points avec un type sélectionné de points, et

    (f) des moyens (24) pour mémoriser la matrice de points éditée en vue de son utilisation dans une table de consultation d'un générateur électronique de caractères.


     
    7. Dispositif selon la revendication 6, comprenant des moyens (38) pour représenter optiquement la matrice de points sous la forme d'une image.
     
    8. Dispositif selon la revendication 7, dans lequel ladite forme des points peut être une forme à bord net, une forme de rectangle curviligne ou une forme gaussienne.
     
    9. Dispositif selon la revendication 7 ou 8 includant des moyens (24) pour produire un affichage d'une grille en tant que fond pour ledit caractère représenté optiquement et des moyens (32) pour modifier les paramètres de ladite grille.
     
    10. Dispositif selon l'une quelconque des revendications 6 à 9, incluant des moyens (24) pour reproduire des points possédant une forme simulant les caractéristiques d'impression de l'imprimante dans laquelle le générateur de caractères doit être utilisé.
     




    Drawing