EP0411740A2 - Dropout-free center point fill method for displaying characters - Google Patents

Dropout-free center point fill method for displaying characters Download PDF

Info

Publication number
EP0411740A2
EP0411740A2 EP90302991A EP90302991A EP0411740A2 EP 0411740 A2 EP0411740 A2 EP 0411740A2 EP 90302991 A EP90302991 A EP 90302991A EP 90302991 A EP90302991 A EP 90302991A EP 0411740 A2 EP0411740 A2 EP 0411740A2
Authority
EP
European Patent Office
Prior art keywords
pixel
character
pixels
black
displaying
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.)
Ceased
Application number
EP90302991A
Other languages
German (de)
French (fr)
Other versions
EP0411740A3 (en
Inventor
William H. Paxton
Stephen N. Schiller
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of EP0411740A2 publication Critical patent/EP0411740A2/en
Publication of EP0411740A3 publication Critical patent/EP0411740A3/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns

Definitions

  • the first part of this detail-oriented method included examining various properties of each pixel beyond just whether or not its center was within the outline to determine if it should be turned on or not. These properties included: 1) the area of the pixel inside the outline, 2) whether any part of the outline passing through the pixel realized local maxima or local minima in either the X or Y coordinates, 3) whether any part of the outline passing through the pixel had any sharp corners and 4) whether the pixel was known to lie on the base line, capital height line or X-height line for characters of the font being considered. All of the above quantities were given numeric values which were then considered independently. If any of these quantities exceeded a certain threshold the pixel was turned on.
  • pixel sub-piece 144 is adjacent to a displayed pixel that should be connected to discontinuous pixel 160 so its distance number is one, but sub-­pieces 146 and 147 are one pixel removed from displayed pixels 160 or 161 so their distance number is two. Pixels containing sub-pieces are then turned on as necessary to make the figure continuous.

Abstract

In a method of displaying a character on a raster device using the center point fill method, the improvement consisting of selecting and displaying additional pixels to make the character connected also, a method of accurately depicting corners of characters on a raster device wherein when a choice is made whether to turn on one pixel or its neighbour, information is stored indicating each pixel which was selected to be on and also which alternate pixel was chosen to be off, then for each such selected pixel which has only one pixel diagonally adjacent which is displayed, and where that diagonally displayed pixel is adjacent to said alternate pixel, and where no other pixels horizontally or vertically adjacent to the selected pixel are also on, the selected pixel will be turned off and the adjacent pixel turned on.

Description

    FIELD OF THE INVENTION
  • In modern computer systems, it is often desireable to sprint or display characters in various sizes on paper, film or a computer screen. When the size of the character is large rela­tive to the resolution of the display or print device, it is relatively easy to choose which picture elements or pixels should be printed or displayed in order to make a readable character, However, when the size of the character is small in relation to the resolution of the display, it is much more difficult to choose which pixels to display in order to make the character as distinct and recognizable as possible. The current invention relates to an improved method of legibly displaying characters at low resolution.
  • BACKGROUND OF THE INVENTION
  • Traditionally, characters have been printed using metal type which allows very detailed rendering of a character, includ­ing subtle curves and very fine lines. In modern computer de­vices, characters are defined on raster devices such as video display terminals or by using a multi-pin print head. Characters can be printed on a surface or displayed on a video screen as a series of dots which are printed or turned on in order to approx­imate as closely as possible the ideal shape of the character. When characters are small enough relative to the resolution of the display device, choosing which pixels should be displayed to accurately represent the character becomes more complex than when the character is large. A typical video monitor can display about 72 pixels per inch. At this resolution it is difficult to display legibly most type faces smaller than about twenty pixels tall.
  • An ideal representation of the character is usually defined in "character space" at very high resolution as one or more areas bounded by an outline or path. A character consists of one or more continuous black areas. For instance the letter "O" consists of a single closed loop, the letter "d" consists of a loop connected to a line and the letter "i" consists essen­tially of a dot a short distance away from a line which may have additional details such as serifs. One way of describing a char­acter involves defining an outline of the outer edge of each contiguous black portion of the character and then filling that outline to display the character. Since characters are usually printed in dark ink on a light background, one can describe filled areas as black but one skilled in the art will recognize that characters which are light on a dark background, commonly used in video displays, are also within the teachings of this invention. This path can be represented as a sequential series of curves and/or linear line segments called edges. If a black area has interior white spaces as, for instance, in the letter "O", each interior white area can also be defined by a path consisting of a series of edges.
  • When tracing or displaying such a character, it is generally useful to trace the edges in a consistent direction, either clockwise or counter-clockwise. If edges of an outside path are traced in the counter-clockwise direction, then the area to the left of that edge will always be black and the area to the right will always be white. If the path is traced in the clock­wise direction, the black area will be on the right of the edge. Enclosed white areas should be traced in the direction opposite to the exterior path so that the black area is on the same rela­tive side of the edge.
  • When a character is displayed on a raster device, those pixels which fall within the black area of the character should be displayed, that is, they should be printed on a surface or turned on for a video display. At high resolution or when the character is very large, multiple pixels may fall within each black area and the character can be displayed in great detail. When the character is reduced to a small size, however, or the resolution of the device is limited, certain black areas may no longer cover multiple pixels and in fact may cover only a frac­tion of a pixel. Displaying small characters on a device of limited resolution has been a persistent problem in the past. This is illustrated in the figures by a character on an 8x10 matrix. In Figure 1 the outline of the character "S" is illus­trated as filled at very high resolution. The raster display, however can only turn on or off entire pixels.
  • One prior approach to this problem is the center point fill method, illustrated in Figure 2. A pixel is displayed only if the center of that pixel falls within or on the boundaries of a black area, illustrated by pixels 40 - 44. Where only a limit­ed number of pixels are available to display the character, there are gaps or dropouts 50 - 52 in the black areas so that it may be difficult to recognize the character. An alternative way of dis­playing the character, called area fill, is to turn on all pixels which intersect or fall within the outline of the character. The result, shown in Figure 3, is that too many pixels are turned on, leading to blobs which also make the character difficult to recognize. At higher resolution both of these methods work successfully but at low resolution characters become difficult to recognize.
  • One object of this invention is to improve the legibility of characters displayed at low resolution by turning on those pixels in which the center falls in or on the edge of a black area and also turning on enough additional pixels to make the character recognizable. Another object of this invention is to minimize dropout caused by a thin character stem going through a pixel row or column without including a pixel center.
  • Another object of this invention is to properly display a pointed character feature such as the bottom of a "V." This is important for cases like the base of a "V", where the bottom pixel must be turned on or the character will appear to float off the baseline.
  • BRIEF DESCRIPTION OF THE DRAWINGS
    • Figure 1 illustrates the superimposition of the outline of a character displayed at very high resolution on a low reso­lution pixel matrix.
    • Figure 2 illustrates the same character outline displayed by low resolution pixels using the center point fill method of the prior art.
    • Figure 3 illustrates the same character on the same pixel matrix displayed using the area fill method of the prior art.
    • Figure 4 illustrates the same character outline on the same pixel matrix displayed using the method of the present invention.
    • Figures 5A and 5B illustrate details of the present invention,
    • Figures 6A - 6C illustrate details of displaying corners in figures.
    • Figure 7 illustrates a figure with multiple edges and enclosed black and white spaces.
    • Figure 8 illustrates the detail-oriented method of correcting dropout.
    SUMMARY OF THE INVENTION
  • Characters can be displayed with improved legibility at relatively low resolution by modifying the center point fill method and displaying additional pixels as needed to maintain connectivity and avoid dropout problems. Additional pixels are turned on as needed where a black section of the character cros­ses the line between two adjacent horizontal or vertical pixel centers. Such lines will be referred to as midlines. One could also practice the present invention using reference points or regions within the pixel other than the center. If the inter­section of a black section of a character with a midline is entirely within one pixel which is not otherwise turned on then that pixel is turned on. If a black section of a character crosses between two such adjacent pixel reference points in parts of both pixels and if neither pixel is already on, the pixel having more of the black section, measured along the line between pixel centers (or other reference points), is turned on.
  • DETAILED DESCRIPTION OF THE INVENTION
  • A character can be represented by a series of filled areas which contrast with the background. For convenience, the filled areas will be referred to as black areas, as in ink printed on a page, but the filled area can also be light on a dark background, as in a typical video display. Pixels to be displayed can be considered as turned on versus turned off.
  • The outline of each black area can be defined by a closed path consisting of sequential series of curves or linear line segments called edges. The interior of each black area can be distinguished from the background by traversing the outline of the character in a clockwise or counter-clockwise direction and filling or turning on of those pixels which are part of the black area. In the following description the outline of the character is assumed to be oriented in the counterclockwise direction; the left side of each edge is part of the character and the right side of the edge is background. As described above, characters which have' enclosed white spaces such as the character "O" will have at least one additional path consisting of a series of edges to define each enclosed space. An interior path should be trav­ersed in the direction opposite to the outer path. A character may contain more than one black area such as the letter "i" or many oriental characters. Once a path or series of paths is defined for a character, that path can, for example, be stored in computer memory and can be used for generating characters of arbitrary size.
  • To display a character in a defined pixel area, often referred to as display space, the outline of the character must first be scaled and placed within a pixel grid by methods well known to those skilled in the art. According to well-known methods generally known as "center-point fill", pixels 40, 41, 42, having centers 10, 11 and 65 respectively, which fall on or within the outline of the character are selected and displayed. See Fig. 2. When the resolution of the display device is low enough relative to character size, certain portions of the character will not include pixel centers and therefore will no longer be displayed, so the legibility of the character will decrease. In Figure 2, for example, certain areas 40 - 44 of the character "S" are properly displayed but pixels such as 50 - 52 contain areas of the character which do not happen to include a pixel center and thus are not displayed, making the character less legible.
  • One method of practicing the present invention is illustrated in Figure 4. The pixels were tested sequentially, starting for example with the pixels in row A numbered 1, 2, 3, etc. in order, followed by pixels in row B starting with number 1 followed by the pixels in row C starting with number 1, and so forth. Pixels were processed by carrying out the following steps for each row.
  • Where the center point of a pixel such as pixels 42, 43 or 44 fell within a black area of a character, that pixel was turned on. Within each horizontal pixel row, points were iden­tified where edges crossed the horizontal midline such as 63 through the pixel centers, including 64, 65 and 66. Where two consecutive edge crossings occurred between two adjacent pixel centers such as 67 and 68 such that a black section crossed a midline, e.g. 60, the following proximity test was performed. The same test was used for horizontal or vertical midline/­character intersections. Compare the examples of edges inter­secting horizontal midlines in pixels 61, 62 and 91, 92 of Figs. 5A and 5B, with edges intersecting vertical midlines in pixels 50, 52 and 74, 75 of Fig. 4. If the black section inter­sected a midline entirely within one pixel, such as pixel 62 in Fig. 5A or pixel 74 in Fig. 4, that pixel was turned on. If the black section crossed a midline, e.g. 95 in Figure 5B, in parts of two adjacent pixels, e.g. 91 and 92, and neither pixel was already on, the pixel which contained the greatest length of black section along the midline was turned on. One simple way to select that pixel was to determine the pixel whose center was closer to an edge/midline intersection, e.g. pixel 91 in Fig. 5B and pixel 50 in Fig. 4. If the black section crossed the midline equidistant from both pixel centers and neither pixel was on, one pixel was turned on arbitrarily. One method of resolving the arbitration is to always turn on the first of the two pixels along the scan line. Another method of resolving the arbitration is to alternatively turn on the first and then the second pixel each time an arbitration is required. Other arbitration schemes are well known to those skilled in the art.
  • Another way to select pixels which include black sections that cross vertical midlines is as follows. Where edges crossed a vertical midline of a pixel not already on anywhere in the row, a pair of flags was set for each such crossing indicating whether the crossing was in the top or the bottom of the pixel and whether the edge was oriented left to right or right to left as it crossed that vertical midline. Multiple pairs of flags were set as needed for each such crossing. After the row was scanned according to the method in the previous paragraph and flags were set, the flags were checked for each pixel in that row which was not already on. If a pixel had only a top, left-to-right or one top, left-to-right plus a bottom, right-to-left crossing, the flags were stored until the next scan line was analyzed to decide whether or not to turn that pixel on. If a pixel had only a bottom, right-to-left or one bottom, right-to-left plus a top left-to-right crossing and the pixel below was already on, then the present pixel was left off, but if the pixel below was off and had flags set indicating only a top left-to-right crossing or one top left-to-right plus a bottom, right-to-left crossing, then the present pixel or the pixel below was turned on according to the proximity test detailed above. If the current pixel had any other flags or combination of flags set, then it was turned on. After each row was analyzed according to the foregoing method, the pixel map could be displayed or could be stored for future display. For example, pixel 50 in Figure 4 had a top left-to-­right crossing, so appropriate flags were set. pixel 52 included a bottom right-to-left crossing but pixel 50 was not turned on according to the center point fill test. Applying the proximity test, the edge/midline intersection in pixel 50 was closer to the pixel center than the edge/midline intersection in pixel 52, so pixel 50 was turned on.
  • The method described above will give generally accurate character bit-maps, but certain shapes will cause an inappropri­ate pixel to be turned on. This is illustrated In Figure 6 by a path which could be part of the letter "Z" or the number "7." Pixels H3 - H6 were turned on in accordance with the center-fill test. Pixels I3 - I6 were not turned on since each had a flag for only a bottom right-to-left crossing and the pixel below was already on. Pixel I7 contained a black section which crossed the vertical midline between pixels I7 and H7 but was entirely within I7, so I7 was turned on. The character would, however, be more legible if I7 was not turned on. Note that the result would be better if the path crossed the I7 - H7 midline with one edge in H7 that was farther from the center of H7 than the edge in 17 was from the center of I7.
  • Such artifacts were eliminated by the following proce­dure. Whenever, during the principle rasterization, a decision was made to activate or not activate a pixel according to the proximity test, the resulting decision was stored as a proximity-­pixel pair consisting of the selected pixel and the alternate pixel. The alternate pixel was necessarily horizontally or vertically adjacent to the selected pixel. After the entire bit-­map had been scanned, each proximity-pixel pair was examined for the following pattern, two examples of which are illustrated in Figure 6B and 6C. Starting from the selected proximity pixel, if a corner pixel adjacent to the alternate pixel and immediately diagonal to the selected pixel was on, if the three pixels horizontally and vertically adjacent to the selected pixel (other than the alternate pixel) were either off or outside the pixel grid and the three pixels diagonally adjacent to the selected pixel (other than the corner pixel) were either off or outside the pixel grid, then the selected pixel was determined to be incorrectly chosen. In this case, the selected pixel was turned off and the alternate pixel was turned on.
  • It is possible to describe or outline some characters with a path which crosses itself one or more times. The five pointed star shown in Figure 7 is one such example. If a row of pixels such as Row 100 is scanned from 101 - 110, pixels inter­sect the five edges 111 - 115 of the five pointed star. Accord­ing to the method described above, pixels 103 and 104 are between edges 113, 114 and 111 and therefore should be displayed. Pixel 108 is between edges 112, 113 and 115 and should also be dis­played. Pixels 105, 106 and 107 should also be displayed because they are to the left of edges 111 and 115. Pixels 126, 127 and 128, however, are also between edges 111 and 115 but should not be displayed.
  • Two well known methods of displaying complex figures such as this are the even-odd method or the winding number method. To best illustrate the invention, the following discussion will illustrate its use with the winding number method using that method where an edge crosses a horizontal or vertical reference line, the direction of the path should be stored. According to the winding number method, for each crossing of a certain direc­tion, for instance, downward, a winding counter can be increment­ed and for each crossing in the opposite direction, up in this example, the winding counter is decremented. In scanning line 100, where edge 113 crosses pixel 102 the winding counter is increased by 1, where edge 111 crosses pixel 104 the winding counter is increased again, where edge 115 crosses pixel 107 the winding counter is decreased by 1 and where edge 112 crosses pixel 109, the winding counter is again decreased. For every pixel between edges where the winding number is non-zero, that pixel should be displayed. Row 120 gives an example where the winding number increases to 1 in pixel 124 and decreases to zero in pixel 125, increases again to 1 in pixel 129 and decreases to zero in that same pixel. Since the winding number is zero for pixels 126, 127 and 128, those pixels are left off. This sort of situation occurs in many characters, for example the letter "B."
  • One skilled in the art will recognize that the method of this invention can be practiced by scanning the pixel rows ver­tically rather than horizontally and making appropriate modifi­cations in the method. One skilled in the art can also practice a variation of the method of this invention wherein horizontal rows of pixels are scanned to determine where edges cross the horizontal midline of the row, turning on those pixels having centers included in the interval between two consecutive edge crossings such that those centers are either on an edge or within a black section of the character and also turning on those pixels having a black section between two horizontal pixel centers according to the proximity test. Each column of pixels should then be scanned, to determine where edges cross the vertical midline of the column, turning on those pixels having centers included in the interval between two consecutive edge crossings such that those centers are either on an edge or within a black section of the character and also turning on those pixels having a black section between two vertical pixel centers according to the proximity test.
  • Another variation that can be practiced by those skilled in the art is to first do a normal center point fill, and then stroke the skeleton of the character using a line drawing algo­rithm. One method of deriving a character skeleton is described by U. Montanari, "Continuous Skeletons from Digitized Images," Journal of the Association for Computing Machinery, 16(4): 534-­549, October 1969. Once the skeleton is determined, wherever the skeleton passes through a horizontal or vertical midline of a pixel which is not already on, according to the center point fill algorithm, the pixel should be turned on.
  • Another variation of this invention is useful when the computer program is not required to run quickly and it is desired to choose the best possible pixel arrangement to represent the character. This detail-oriented version of the algorithm de­scribed above was divided into two parts that roughly corres­ponded to the two parts of the previously mentioned algorithm: a) while determining certain character attributes doing a normal center point fill, and b) turning on extra pixels to avoid drop­out.
  • The first part of this detail-oriented method included examining various properties of each pixel beyond just whether or not its center was within the outline to determine if it should be turned on or not. These properties included: 1) the area of the pixel inside the outline, 2) whether any part of the outline passing through the pixel realized local maxima or local minima in either the X or Y coordinates, 3) whether any part of the outline passing through the pixel had any sharp corners and 4) whether the pixel was known to lie on the base line, capital height line or X-height line for characters of the font being considered. All of the above quantities were given numeric values which were then considered independently. If any of these quantities exceeded a certain threshold the pixel was turned on. For example, if part of character was within a pixel but did not include the pixel center, if the occupied area was greater than approximately 60%, that pixel was turned on. If any part of the character outline realized a local vertical minimum in the lower half of a pixel or a local vertical maximum in the upper half of the pixel, that pixel was turned on. Horizontal maxima and minima were treated similarly. If an outline passing through a pixel had any sharp corners, that is the outline formed an angle sharper than 90 degrees, then a line bisecting that angle was drawn to the closest pixel edge. A sharpness factor was calcu­lated thus: 90 degrees minus the actual angle times a constant (approximately 1/100). If the sum of the sharpness factor and the length of the bisecting line was greater than one-half a pixel edge length, that pixel was turned on. Finally, if a pixel was known to lie on the base line, capital height line or x-­height line, each of the preceding three factors were treated as more significant, that is, if the pixel was on one of these lines and if the included area was approximately 50% or more, if a local minimum was below only about .55 pixel units or if the corner parameter was less about .45, then the pixel was turned on.
  • The purposes of the four criteria listed above are: 1) to turn on pixels that are mostly covered by the outline even though their centers may not be covered, 2) to make sure that curved parts of the character reach a predictable size in their horizon­tal and vertical directions and will thereby be consistent with other characters with similar shapes, 3) to insure that if the outline has sharp corners, which often are part of character fea­tures important for recognition of that character, that pixels will be turned on to represent these corners, and 4) to be sure that the various characters of a font all share the same base line, capital height and X-height.
  • Dropout problems may still remain after doing the first part of the detail-oriented method, as with the center point fill method of the prior art. The second part of this algorithm cor­rected the dropout problems by considering all parts of the original character shape that were not in the bit map as created at this stage. This process is illustrated in Figure 8. The various parts such as 140-149 of the original continuous char­acter shape not within a displayed pixel were identified, and divided by the pixel grid into pixel sub-pieces. For each sub-­piece, S, a distance number was computed telling the minimum number of other pixel sub-pieces that must be traversed to get to a pixel that has been turned on, including the pixel sub-piece itself. In this example, adjacent is used to mean two pixels intersect on an edge or a corner. For example, pixel sub-piece 144 is adjacent to a displayed pixel that should be connected to discontinuous pixel 160 so its distance number is one, but sub-­pieces 146 and 147 are one pixel removed from displayed pixels 160 or 161 so their distance number is two. Pixels containing sub-pieces are then turned on as necessary to make the figure continuous.
  • If displayed portions A & B of the character should have been connected but intervening pixels were not displayed, a list of pixels giving the shortest connecting path of sub-piece pixels was determined by the following method. Among the pixel sub-­pieces touching group A, the sub-piece with the largest area was selected. The corresponding pixel necessarily had a distance number of 1, relative to A. Starting from the selected pixel sub-piece, each adjacent pixel sub-piece having a distance number greater by one was tested and the pixel containing the largest such sub-piece was selected. This process was repeated until the adjacent pixels had only decreasing distance numbers. At that point, the criteria for selection of the next pixei sub-piece was modified by requiring that the distance number of the next pixel in the list went down by one instead of up. Pixels already in the list were not considered. The list was complete when a pixel was added that touched the second group, B. Once the list was completed, the pixel containing each piece in the list was turned on. For example, pixels 161 and 160 should have been connected but were not connected by the first part of the method. Starting from pixel 160, pixels 158 and 159 were adjacent to pixel 160 but pixel 159 included a larger sub-piece 149. There­fore, 159 was the first pixel on the list. Continuing from 159, 156 and 157 each had a distance number of 2 but 156 included the greater amount of character sub-piece area, so pixel 156 was added to the list. There were no sub-pieces adjacent to 156 that had a distance number greater than 2 and 157 was already in the list, so it was ignored. Continuing from pixel 156, 155 and 154 each contained a portion of the character having the next lower distance number, 1. Pixel 154 was selected because it included the greater character sub-piece area. The list comprising 159, 156 and 154 gave a connected path between pixels 160 and 161.
  • One advantage of this method for correcting dropout is that it gives the minimum number of pixels to connect discon­nected groups, while still following the path of the character outline.
  • The method of this invention has been described generally using pixel centers as reference points. One skilled in the art will recognize that other reference regions can also be used, such as a small circle or diamond around or near the pixel center or even a reference region which does not include the pixel center. One skilled in the art will recognize and be able to practice additional variations on the methods described which fall within the teachings of this invention.

Claims (9)

1. In a method of displaying a character on a raster device using the center point fill method, the improvement con­sisting of selecting and displaying additional pixels to make the character connected.
2. The method of claim 1 wherein a character consisting of one or more contiguous black sections is displayed by turning on those pixels having centers within each black section of the character, the improvement consisting of
before displaying said characer, identifying pixels that contain any black portion of the character that do not include pixel centers, but are located between discontinuous portions of the character that should be connected but are not, and
displaying pixels containing black sections of the char­acter which form a closed path between each such discontinuous character portion, selecting when required those pixels contain­ing the greatest amount of black section to give a continuous path one pixel wide so that there are no discontinuous portions of the character as displayed.
3. The method of claim 1 wherein the selecting of additional pixels is carried out by first determining a skeleton of the character and then, wherever said skeleton passes through a horizontal or vertical midline of a pixel which is not already on, said pixel is turned on.
4, In a method of displaying a character comprised of one or more black areas on a raster device at an arbitrary reso­lution so as to approximate as closely as possible a high-­ resolution representation of that character displaying particular pixels by delineating each contiguous black section of that char­acter by an outline consisting of one or more closed paths, said paths consisting of continuous, sequential series of line seg­ments or curves called edges which enclose each black section and then filling the black sections by displaying only those pixels which have reference points that fall on the edge of or within a black section of the character, the improvement consisting of:
defining a reference point or region within each pixel, then
displaying those pixels which have reference regions that fall on or within a black section of the character, then
displaying those pixels not already displayed where a black section of the character crosses the imaginary reference line between reference regions in two adjacent horizontal or vertical pixels and the intersection of the black section and the reference line falls entirely within that pixel, and
if the black section intersects a reference line in parts of two adjacent pixels and neither pixel is already displayed, displaying the pixel containing the greatest length of intersec­tion of the black section and the reference line.
5. The method of Claim 4 wherein a pixel is displayed if a black section crosses a reference line with one edge in each of two adjacent pixels and neither pixel is already on, by dis­playing the pixel in which one edge of the black section crosses the reference line closer to the reference point of that pixel than the other edge of the black section is to the reference point of the adjacent horizontal or vertical pixel.
6. The method of Claim 4 wherein the reference point is the center of each pixel.
7 The method of Claim 6 wherein the reference line is a line connecting adjacent horizontal or vertical pixel centers.
8. The method of Claim 4 wherein the reference point is a region which may or may not include the pixel center.
9. A method of accurately depicting corners of charac­ters on a raster device wherein when a choice is made whether to turn on one pixel or its neighbor, information is stored indicat­ing each pixel which was selected to be on and also which alter­nate pixel was chosen to be off, then for each such selected pixel which has only one pixel diagonally adjacent which is dis­played, and where that diagonally displayed pixel is adjacent to said alternate pixel, and where no other pixels horizontally or vertically adjacent to the selected pixel are also on, the selected pixel will be turned off and the adjacent pixel turned on.
EP19900302991 1989-08-01 1990-03-20 Dropout-free center point fill method for displaying characters Ceased EP0411740A3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/388,336 US5200740A (en) 1989-08-01 1989-08-01 Dropout-free center point fill method for displaying characters
US388336 1989-08-01

Publications (2)

Publication Number Publication Date
EP0411740A2 true EP0411740A2 (en) 1991-02-06
EP0411740A3 EP0411740A3 (en) 1991-11-06

Family

ID=23533705

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19900302991 Ceased EP0411740A3 (en) 1989-08-01 1990-03-20 Dropout-free center point fill method for displaying characters

Country Status (4)

Country Link
US (1) US5200740A (en)
EP (1) EP0411740A3 (en)
JP (1) JP3247988B2 (en)
CA (1) CA2020316A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07122908B2 (en) * 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション Apparatus and method for generating displayable information representing a three-dimensional solid object
US5589851A (en) * 1994-03-18 1996-12-31 Ductus Incorporated Multi-level to bi-level raster shape converter
US5638503A (en) * 1994-07-07 1997-06-10 Adobe Systems, Inc. Method and apparatus for generating bitmaps from outlines containing bezier curves
US5588108A (en) * 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
US5704028A (en) * 1994-12-21 1997-12-30 Micrografx, Inc. Graphics systems and method having data fields and shape placement control
US5790126A (en) * 1995-01-03 1998-08-04 Microsoft Corporation Method for rendering a spline for scan conversion of a glyph
JP3451329B2 (en) * 1995-02-09 2003-09-29 松下電器産業株式会社 Cartographic equipment
US5990907A (en) * 1995-12-15 1999-11-23 Colletti; John C. Automatic font management within an operating system environment
US5742750A (en) * 1996-02-13 1998-04-21 Micrografx, Inc. System and method for automatically inserting and deleting an object in a graphics chart
JP3061186B1 (en) 1999-11-26 2000-07-10 株式会社野村鍍金 Continuous casting mold and method of manufacturing the same
US7152211B1 (en) * 2001-01-30 2006-12-19 Microsoft Corporation Resolution independent theming

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4409591A (en) * 1981-05-20 1983-10-11 Wayne State University Variable size character generator
US4815009A (en) * 1987-04-21 1989-03-21 Xerox Corporation Algorithm for filling an image outline
EP0327002A2 (en) * 1988-01-30 1989-08-09 Kabushiki Kaisha Toshiba Apparatus and method for generating high-quality pattern
EP0397348A2 (en) * 1989-05-10 1990-11-14 Seiko Epson Corporation Dot pattern signal generator

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3036711C2 (en) * 1980-09-29 1985-08-01 Siemens AG, 1000 Berlin und 8000 München Process for reducing graphic patterns
JPS60100176A (en) * 1983-11-05 1985-06-04 株式会社リコー Character font reduction system
US4712102A (en) * 1985-01-29 1987-12-08 International Business Machines Corporation Method and apparatus for displaying enlarged or enhanced dot matrix characters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4409591A (en) * 1981-05-20 1983-10-11 Wayne State University Variable size character generator
US4815009A (en) * 1987-04-21 1989-03-21 Xerox Corporation Algorithm for filling an image outline
EP0327002A2 (en) * 1988-01-30 1989-08-09 Kabushiki Kaisha Toshiba Apparatus and method for generating high-quality pattern
EP0397348A2 (en) * 1989-05-10 1990-11-14 Seiko Epson Corporation Dot pattern signal generator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Journal of the Association for Computing Machinery vol. 16, no. 4, October 1969, New-York pages 534 - 549; U. Montanari: "Continuous Skeletons from Digitized Images" *

Also Published As

Publication number Publication date
JP3247988B2 (en) 2002-01-21
US5200740A (en) 1993-04-06
EP0411740A3 (en) 1991-11-06
JPH0369995A (en) 1991-03-26
CA2020316A1 (en) 1991-02-02

Similar Documents

Publication Publication Date Title
KR0159498B1 (en) Method and apparatus for minimizing the visual degradation oes
US5099435A (en) Method and apparatus for conversion of outline characters to bitmap characters
RU2258265C2 (en) Automatic optimization of position of base portions of text symbols
US5719595A (en) Method and apparauts for generating a text image on a display with anti-aliasing effect
US5200740A (en) Dropout-free center point fill method for displaying characters
EP0592770B1 (en) Method for filling of interior pixels within a polygon
EP1203351B1 (en) System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements
US20020070938A1 (en) Method and apparatus for character font generation within limitation of character output media and computer readable storage medium storing character font generation progaram
US5365251A (en) Image quality improvement by hierarchical pattern matching with variable size templates
US5255357A (en) Method for editing character bit maps at small sizes using connected runs
US4511893A (en) Method of storing images in the form of contours and photo-typesetting apparatus thereof
US5404431A (en) Image drawing with improved area ratio approximation process
US5589851A (en) Multi-level to bi-level raster shape converter
US5233336A (en) Connected-run dropout-free center point fill method for displaying characters
JP2681367B2 (en) Graphic processing method and apparatus thereof
KR100749873B1 (en) Character display apparatus, character display method, and readable recording medium
CA2023832C (en) Method and apparatus for filing contours in digital typefaces
JPH02232690A (en) Data converting device
EP0466330B1 (en) Method for editing character bit maps at small sizes using connected runs
US5237313A (en) Method for editing character bitmaps at small sizes
JPH05297861A (en) 1/n bit phase matching method for graphics
JPH0668271A (en) Image processor
EP0411739B1 (en) Method for editing character bitmaps at small sizes
JPH0661960B2 (en) Dot interpolation control device
JPH04684A (en) Graphic painting-out method

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT NL SE

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

17P Request for examination filed

Effective date: 19910802

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB IT NL SE

17Q First examination report despatched

Effective date: 19931118

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 19950127