WO1994006094A1 - Glyph rasterization method combining anti-aliasing and grid fitting - Google Patents

Glyph rasterization method combining anti-aliasing and grid fitting Download PDF

Info

Publication number
WO1994006094A1
WO1994006094A1 PCT/US1993/007956 US9307956W WO9406094A1 WO 1994006094 A1 WO1994006094 A1 WO 1994006094A1 US 9307956 W US9307956 W US 9307956W WO 9406094 A1 WO9406094 A1 WO 9406094A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
fractional
width
glyph
value
Prior art date
Application number
PCT/US1993/007956
Other languages
French (fr)
Inventor
Edward Yee Hungshun
Original Assignee
Go Corporation
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 Go Corporation filed Critical Go Corporation
Priority to AU50892/93A priority Critical patent/AU5089293A/en
Publication of WO1994006094A1 publication Critical patent/WO1994006094A1/en

Links

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
    • G09G5/246Generation of individual character patterns of ideographic or arabic-like characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • 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 present invention relates generally to computer graphics, and in particular, to the display of ideal glyphs using rasterization techniques for text rendering. Still more particularly, the present invention relates to a method for glyph rasterization that employs both grid fitting and anti- aliasing techniques.
  • Scan conversion converts an ideal description of a character referred to as a glyph description to a pixel image.
  • a glyph description of a Kan i ideograph is shown.
  • a glyph description is typically a series of curves and points that define an ideal outline of the area forming the character. All existing methods for converting ideal glyph descriptions to pixel images use generalized techniques that introduce imperfections in the resulting pixel images.
  • Figure IB when the ideal glyph representation of Figure 1A is converted to a 95 x 95 pixel matrix, the character remains very readable despite the imperfections. However, these imperfections become progressively more severe as the size of the ideal glyph is reduced.
  • Figure 1C shows an enlarged illustration of the glyph representation of Figure 1A converted to a 14 x 14 pixel matrix. As can be seen, the 14 pixel version is unreadable.
  • Common computer display technology ranges from 70 to 90 dots per inch. At these resolutions, text at relatively common sizes (10 to 20 typographer's points) can be difficult to read and aesthetically inferior.
  • One approach used in the prior art to resolve this problem is a "two color grid fitting" method. This method produces pixel images using only black or white pixels .
  • Grid fitting is a technique used to modify the ideal glyph shape to match the pixel grid in an effort to produce more aesthetically pleasing and readable results.
  • Figures 2A-2D are a graphical representation of a pixel grid, the black and white pixels, and the glyph representation.
  • Figures 2A and 2B illustrate the pixel conversion results for the Latin character "0" using standard scan conversion techniques. As shown in Figure 2A, the scan conversion process yields satisfactory results if the ideal outline happens to align with the pixel grid in a harmonious way. However, as shown in Figure 2B, when the ideal outline does not align with the pixel grid, the scan conversion produces undesired artifacts such as the two additional pixels 10 shown in Figure 2B.
  • Figure 2B While the scan conversion shown in Figure 2B is mathematically correct, the process yields an aesthetically unpleasing inconsistency between the left and the right sides of the character.
  • the prior art grid fitting method attempts to overcome this problem by providing "hints" for special portions of the glyph. These hints identify important portions of the glyph that should be adapted to fit in the pixel grid to produce an aesthetically pleasing result.
  • Figures 2C and 2D show the effects of grid fitting.
  • Figure 2C illustrates the glyph representation identical to Figure 2B.
  • the grid fitting method uses the hint to control the rounding and alignment process of the outline to yield a distorted outline shown in Figure 2D with the portion of the glyph between the hint aligned with the pixel grid.
  • Figure 2D the right side of the "0" is shifted about a half a pixel to the left so that the undesired artifacts 10 generated in Figure 2B are not produced.
  • Hinting removes detail from the shape of the ideal outline to render a different shape, which is not ideal, but is more pleasing under (sub-optimal) conditions where there are too few pixels to represent the ideal accurately.
  • Anti-aliasing techniques have been used primarily in television and video production to enhance the quality of pixel images.
  • the various anti-aliasing techniques use pixels of intermediate densities or color to create the illusion of higher resolution.
  • details such as curvature and varying stroke thickness that are lost with the two color grid fitting method can be rendered with a high degree of visual fidelity as shown in Figure 3A.
  • Figure 3B even when anti-aliasing techniques are applied, the pixel image will still have undesired distortion and artifacts 12 due to misalignment with the pixel grid. Therefore, neither approach of the prior art is effective at providing pixel images of complex ideographic characters at small sizes.
  • the present invention overcomes the limitations and shortcomings of the prior art with an improved method for generating aesthetically superior and more readable pixel images, even at small sizes, from ideal glyph representations.
  • the present invention advantageously combines a two color grid fitting technique and an anti-aliasing technique to produce both ideographic and Latin glyphs with uniformly pleasing aesthetic characteristics.
  • the preferred embodiment of the present invention comprises the steps of: retrieving an ideal glyph representations and hints from a font; adapting the ideal glyph representation to the pixel grid using a grid fitting technique; dividing the adapted glyph representation into a plurality of non-overlapping zones using the hints; applying an anti-aliasing technique to each zone without considering the pixel values outside the zone; and processing the zones to produce a final gray-scaled bit map.
  • Figure 1A is a glyph of the prior art represented in ideal outline form
  • Figure IB illustrates a prior art pixel conversion of the conventional glyph of Figure 1A to a matrix of 95 by 95 pixels;
  • Figure 1C illustrates a prior art pixel conversion of the conventional glyph of Figure 1A to a matrix of 14 by 14 pixels
  • Figures 2A-2D are graphical representations of the prior art pixel conversion results, a glyph representation, and a grid representing pixels
  • Figures 3A and 3B are graphical representations of pixel images enhanced using anti-aliasing and a pixel grid;
  • Figure 4 is a flow chart of the general method of the present invention for performing glyph rasterization;
  • Figures 5A and 5B are a flow chart of a preferred method for hint conversion
  • Figures 6A-6E are graphical representations of a portion of a stroke and pixel boundaries
  • Figure 7 is a flow chart of a preferred method for control point transformation
  • Figure 8 is a graphical representation of the preferred method for anti-aliasing of the glyph zone by zone to pixel space
  • Figures 9A and 9B are a flow chart of a preferred method for sampling and processing the sampled points for scan conversion
  • Figure 10 is a graphical representation of contour lines, pixel boundaries, a sample interval and a table of fractional pixel contributions.
  • Figure 11 is a graph of the transformation from font units to pixel units.
  • the method of the present invention advantageously yields pixel images that are more aesthetically pleasing and readable than the prior art for both Latin characters and Asian ideographs.
  • the method of the present invention is preferably a computer implemented process that can be used by a conventional computer to display characters on a conventional display device such as a monitor or CRT, or to print characters on a conventional laser printer.
  • FIG. 4 provides an overview of a preferred embodiment for the method of the present invention.
  • the preferred method begins in step 400.
  • a computer retrieves character information including ideal glyph representations and hints .
  • the character information is a number of closed contours and hinting data structures .
  • Each contour preferably comprises a starting point, and a number of connecting lines and curves identified by control points.
  • This character information specifies an outline of the area for the character, and is specified in font units of an abstract coordinate space.
  • the hint data may apply to all contours and control points of a character or only a subset of contours. Each hint identifies the parts of the character that should exactly fit the pixel grid boundaries.
  • step 402 the hint portion of the character information is converted from font units of the abstract coordinate space to pixel units.
  • the pixel units will be set according to operational limitations of the printer or display device being used.
  • the scaling factor is also determined by the global metrics of a type face and the desired pixel size.
  • Step 402 scales the hints using special grid fitting techniques as will be described below. However, those skilled in the art will realize that the various grid fitting techniques of the prior art could also be used.
  • the control points are transformed to pixel units in step 403.
  • the hint transformation effectively divides the image into a group of non-overlapping zones. Within the each zone, the scaling factor is slightly different from other zones which fits the hints to the pixel grid.
  • step 403 the scaling information from the hint transformation step (step 402) is used to convert the control points of the contours into pixel space to produce a series of scaled line segments and curves.
  • step 404 points at fixed intervals along each curve and line segment are sampled.
  • step 405 the sampled points are processed zone by zone to determine the fractional coloring for each pixel and produce a gray-scaled image.
  • step 406 The present invention uses this method to produce sharper transitions at those points of the glyph that have been indicated to be of aesthetic importance. Conversely, adjacent features are prevented from affecting the glyph simply because they are near a point of importance.
  • each hint preferably comprises a starting point ( s) and an ending point (e) that are designated to be "snap points”.
  • the hint also includes a canonical width (c) for the interval between the snap points.
  • the canonical width indicates the preferred distance between the snap points at low resolution.
  • the hint transformation process also uses two metrics global to the typeface: the standard horizontal and vertical stroke widths ( W) that indicate dominant stroke widths in their respective dimensions.
  • the preferred method begins in step 501 of Figure 5 by scaling the starting point (s) to the fractional value s ' .
  • the canonical width (c) is scaled to the fractional value c'.
  • the actual stroke width, the absolute value of (s-e) is scaled to the fractional value w'
  • the standard stroke width ( W) is scaled to the fractional value W .
  • the fractional values for the canonical, actual and standard stroke widths are compared. If the fractional value of the actual stroke width, w' , and the fractional value of the canonical stroke width, c' , differ by more that 0.5 of a pixel, w' is used as the desired width.
  • c ' is used as the desired width, and w ' is set equal to c ' .
  • W fractional value of the standard stroke width
  • w ' is set equal to WJ and used as the desired stroke width.
  • This step establishes either the standard or the canonical stroke width as the desired stroke width, unless they differ from the actual stroke width by more than 0.5 pixel. In such a case, the actual stroke width is used for the desired stroke width.
  • the scaling is further refined in step 506, in which the method determines whether w ' is wider than one pixel.
  • step 507 the fractional values of the starting point s ' and the actual stroke width w ' are rounded to the nearest integer.
  • step 508 the fractional value of the actual stroke width w" is added or subtracted from the fractional value of the starting point s ' depending on whether s > e to produce the transformed value of e.
  • the transformation of the hint is complete and the process terminates in step 514.
  • step 509 the fractional value of the actual stroke width w' is set to the larger of its actual value and 0.25 pixel.
  • step 510 the fractional value of the actual stroke width w' is added or subtracted from the fractional value of the starting point s' depending on whether s > e to produce the fractional value for the end point e' .
  • the method fits these points onto the pixel grid.
  • step 511 the values of s' and e' are compared to the pixel boundaries. Since it was previously determined in step 506 that ⁇ v' is less than one pixel wide, the distance spanned by s ' and e' crosses at most one pixel boundary.
  • step 512 the method determines whether s ' and e ' are in the same pixel . If they are contained in the same pixel, the stroke is enclosed in a single pixel and the values for s ' and e' are left unchanged. The process then ends in step 514. However, if a pixel boundary is spanned by the area between s ' and e', the values of s ' and e' are adjusted in step 513 to shift the stroke in the direction of the lesser error to force s ' and e' to reside in the same pixel. The shifting of the stroke in step 513 can best be understood with reference to Figures
  • FIGS. 6A-6E which show the three possible cases when the s ' and e ' are compared to the pixel grid.
  • Figure 6A no adjustment of the stroke is necessary when s ' and e' are enclosed in a single pixel.
  • FIGs 6B and 6C it can be seen that the method of the present invention shifts the stroke of Figure 6B to the left by subtracting or reducing s ' and e ' by the same value to force e ' in alignment with closest pixel boundary.
  • Figures 6D and 6E A similar adjustment in the opposite direction is shown in Figures 6D and 6E.
  • the method of the present invention shifts the stroke of Figure 6D to the right by increasing s ' and e ' by the same value to force s ' in alignment with closest pixel boundary.
  • the method of the present invention advantageously includes the benefits of stroke shifting such as the removal of undesired artifacts from the image that are caused when the ideal glyph representation does not correspond precisely to the pixel grid.
  • stroke shifting such as the removal of undesired artifacts from the image that are caused when the ideal glyph representation does not correspond precisely to the pixel grid.
  • the removal of such artifacts results in a much sharper image.
  • step 700 the process tests whether there are any remaining control points in the glyph that need to be converted from font units to pixel units. If there are no more control points to convert, then this conversion process is complete and ends in step 706. Otherwise, the preferred method will loop through steps 702-705 until each control point is transformed. In step 702, the control point to be transformed is retrieved.
  • step 703 the hint information is retrieved.
  • the method retrieves the information necessary to determine the bounds for each region, if any, that have been defined by conversion of the hints in step 402.
  • the scaling factor for each region is also determined.
  • step 704 the value of the control point being converted is compared to the hint information retrieved in step 703 to determine which zone or region contains the control point, and therefore, the appropriate scaling factor for converting the control point from font units to pixel units .
  • the control point is then scaled to pixel units in step 705 using the scaling function associated with its region or zone. Once the control point has been scaled, the method loops to step 701 and repeats the process until all the control points have been scaled.
  • Figure 11 is a graph of the transformation with pixel units along the Y-axis, font units on the X-axis and the ideal transformation (i.e., linear scaling without hinting) represented by the dashed line. Without hints, the values of the control points would simply be multiplied by a scaling factor and rounded. The introduction of hints distorts the transformation space into a discontinuous, but piece-wise linear one.
  • the width of the stroke is selected to be the canonical width, 0.9, and the ending coordinate, e ' , thus scales to s ' + w ' - 3.3.
  • the hint triple therefore divides the interval [0,500] font units into three regions or zones as shown in Figure 11.
  • the three zones range from 0 to 200, from 200 to 275 and from 275 to 500, respectively.
  • Each zone provides its own scaling function.
  • the three scaling functions are represented by the three solid line segments. Given a coordinate of X, a control point in font units, the method then determines which of the three ranges contains that value, and then applies the scaling function associated with that range or interval.
  • the three scaling functions generated by the example hint are:
  • T 0 (x) (2J/200)x, 0 ⁇ x ⁇ 200,
  • the method of the present invention performs anti-aliasing to obtain an even sharper image.
  • Anti-aliasing involves fitting the character to a source pixel grid which is larger than actually desired.
  • Each pixel in the source grid is either black (off) or white (on) , and is represented mathematically as either a minimum (0) or maximum (1) value.
  • the destination pixel grid allows the pixel values to range between 0 and 1.
  • samples When the source grid is actually reduced to the desired size, there are several pixels in the source grid (called “samples”) that correspond to a single pixel on the destination grid. These samples, whose values are either 0 or 1 are averaged together, and the result is a single final value that ranges from 0 to 1.
  • the present invention applies anti-aliasing steps to the glyph on a zone by zone basis.
  • the hinting process divides the glyph (the letter "0") into a series of zones which are defined by the starting and stopping points of the hints.
  • Each zone defines a portion of the pixel image that is predominately black or white, and the edges of - li ⁇ the zones mark areas where there is likely to be a significant color transition in the pixel grid.
  • the present invention advantageously uses the zone information created by grid fitting (i.e., hints) to influence the anti-aliasing averaging process.
  • the hints are preferably used to divide the glyph into several non-overlapping zones.
  • the glyph is divided into three vertical zones (A, B and C) by the two horizontal hints.
  • the glyph would be divided into several non-overlapping zones in both the vertical and horizontal directions.
  • step 901 the curves, if any, that form the glyph are decomposed into line segments.
  • the glyph will be represented only with line segments.
  • step 902 one of the line segments of the glyph is retrieved.
  • step 903 points are sampled on the line segment at 0.25 pixel intervals in the Y-dimension.
  • the value for the sampling intervals may be selected according to the level of gray scaling permitted by the display or printing device. In this example, 0.25 has been selected for 16 shades of gray.
  • step 903 sampling the line segment from (0.7, 0.7) to (1.7, 1.7) according to step 903 would require that the values of Y be selected as 0.75, 1.0, 1.25 and 1.5.
  • step 904 the corresponding X coordinate for each sampled value of Y is calculated. For the line segment from (0.7, 0.7) to (1.7, 1.7) this would produce sampling points (0.75, 0.75), (1.0, 1.0) , (1.25, 1.25) and (1.5, 1.5) .
  • step 905 determines whether there are any more line segments left to sample. The method preferably traverses each of the line segments of a contour until all segments of the contour have been sampled.
  • step 907 a polygon filing algorithm is used to determine the area of each fractional contribution.
  • the algorithm preferably defines the fractional contributions by specifying a beginning point and an ending point (or plurality thereof) on each scan line with the area between the points on or off. Each pair of points in a scan line represents an interval contributing to the fractional coloring of the pixels the interval crosses.
  • step 910 the contributions to the fractional coloring are determined by measuring the area of each pixel that is covered by the interval . After the contributions for each pixel have been determined, they are summed in step 911 to produce the fractional coloring value.
  • C(L 0 J, ly]) C( J, LyJ) + 0.25(Tx 0 l- ⁇ c 0 ),
  • C(bt,J, LyJ) C(L ,J, LyJ) + 0.25 for all X, such that btj ⁇ X, ⁇ Lc/J,
  • each C (p) represents the fractional coloring for each pixel which is used in step 912 to produce the image.
  • rf (l-r)jb where r is the sum of each pixel computed above.
  • the gray scale contributions for an example contour are shown.
  • the interval pixel by pixel is summed according to the above equations to produce the values in each row of the table in Figure 10.
  • the four rows for each pixel have been determined, they are tabulated to determine the gray scale coloring of each pixel .

Abstract

A method for rasterizing ideal glyph representations provides improved clarity and readability for Chinese and Japanese glyphs. The preferred method advantageously combines anti-aliasing and grid fitting techniques for generating images and comprises the steps of: obtaining the ideal glyph representations and hints, converting the hint information from font units of the abstract coordinate space to pixel units, transforming the control points to pixel units using the hint information to produce a series of scaled line segments and curves, sampling points at intervals along each curve and line segment, and processing the sampled points to determine the fractional coloring for each pixel and to produce sharper transitions at those points of the glyph that have been indicated to be of aesthetic importance.

Description

Glyph Rasterization Method Combining Anti-Aliasing and Grid Fitting
Background of the Invention
1. Field of the Invention The present invention relates generally to computer graphics, and in particular, to the display of ideal glyphs using rasterization techniques for text rendering. Still more particularly, the present invention relates to a method for glyph rasterization that employs both grid fitting and anti- aliasing techniques.
2. Description of Related Art
There are a number of methods that currently exist for rasterizing fonts to produce pixel images that can be displayed on a display device such as a CRT or used for printing with conventional laser printers. The conventional method for producing pixel images of fonts is scan conversion. Scan conversion converts an ideal description of a character referred to as a glyph description to a pixel image. Referring to Figure 1A, a glyph description of a Kan i ideograph is shown. A glyph description is typically a series of curves and points that define an ideal outline of the area forming the character. All existing methods for converting ideal glyph descriptions to pixel images use generalized techniques that introduce imperfections in the resulting pixel images. As shown in Figure IB, when the ideal glyph representation of Figure 1A is converted to a 95 x 95 pixel matrix, the character remains very readable despite the imperfections. However, these imperfections become progressively more severe as the size of the ideal glyph is reduced. Figure 1C shows an enlarged illustration of the glyph representation of Figure 1A converted to a 14 x 14 pixel matrix. As can be seen, the 14 pixel version is unreadable. Common computer display technology ranges from 70 to 90 dots per inch. At these resolutions, text at relatively common sizes (10 to 20 typographer's points) can be difficult to read and aesthetically inferior. One approach used in the prior art to resolve this problem is a "two color grid fitting" method. This method produces pixel images using only black or white pixels . Grid fitting is a technique used to modify the ideal glyph shape to match the pixel grid in an effort to produce more aesthetically pleasing and readable results. Referring now to Figures 2A-2D, the effects of grid fitting are illustrated. Figures 2A-2D are a graphical representation of a pixel grid, the black and white pixels, and the glyph representation. Figures 2A and 2B illustrate the pixel conversion results for the Latin character "0" using standard scan conversion techniques. As shown in Figure 2A, the scan conversion process yields satisfactory results if the ideal outline happens to align with the pixel grid in a harmonious way. However, as shown in Figure 2B, when the ideal outline does not align with the pixel grid, the scan conversion produces undesired artifacts such as the two additional pixels 10 shown in Figure 2B. While the scan conversion shown in Figure 2B is mathematically correct, the process yields an aesthetically unpleasing inconsistency between the left and the right sides of the character. The prior art grid fitting method attempts to overcome this problem by providing "hints" for special portions of the glyph. These hints identify important portions of the glyph that should be adapted to fit in the pixel grid to produce an aesthetically pleasing result. Figures 2C and 2D show the effects of grid fitting. Figure 2C illustrates the glyph representation identical to Figure 2B. Since the portion of the glyph with the hint is not aligned with the pixel grid, the grid fitting method uses the hint to control the rounding and alignment process of the outline to yield a distorted outline shown in Figure 2D with the portion of the glyph between the hint aligned with the pixel grid. As can be seen in Figure 2D, the right side of the "0" is shifted about a half a pixel to the left so that the undesired artifacts 10 generated in Figure 2B are not produced. Hinting removes detail from the shape of the ideal outline to render a different shape, which is not ideal, but is more pleasing under (sub-optimal) conditions where there are too few pixels to represent the ideal accurately. While the improvements provided by grid fitting may be tolerable for Latin characters, the quality of the converted pixel images of Chinese and Japanese ideographic characters continues to be unreadable on conventional computer displays. Even with grid fitting, the prior art method produces results similar to Figure 1C for small sized Kanji ideographs. Thus, there is a need for a method of converting ideal glyph representations to pixels images of higher quality.
Another method used by the prior art to improve the readability of complex characters like Kanji is anti-aliasing. Anti-aliasing techniques have been used primarily in television and video production to enhance the quality of pixel images. The various anti-aliasing techniques use pixels of intermediate densities or color to create the illusion of higher resolution. When intermediate "color" or gray scale values are used, details such as curvature and varying stroke thickness that are lost with the two color grid fitting method can be rendered with a high degree of visual fidelity as shown in Figure 3A. However, as illustrated by Figure 3B, even when anti-aliasing techniques are applied, the pixel image will still have undesired distortion and artifacts 12 due to misalignment with the pixel grid. Therefore, neither approach of the prior art is effective at providing pixel images of complex ideographic characters at small sizes. Thus, there is a need for a method of generating readable, high quality, pixel images of ideographic characters .
Summary of the Invention The present invention overcomes the limitations and shortcomings of the prior art with an improved method for generating aesthetically superior and more readable pixel images, even at small sizes, from ideal glyph representations. The present invention advantageously combines a two color grid fitting technique and an anti-aliasing technique to produce both ideographic and Latin glyphs with uniformly pleasing aesthetic characteristics. The preferred embodiment of the present invention comprises the steps of: retrieving an ideal glyph representations and hints from a font; adapting the ideal glyph representation to the pixel grid using a grid fitting technique; dividing the adapted glyph representation into a plurality of non-overlapping zones using the hints; applying an anti-aliasing technique to each zone without considering the pixel values outside the zone; and processing the zones to produce a final gray-scaled bit map.
Brief Description of the Drawings Figure 1A is a glyph of the prior art represented in ideal outline form;
Figure IB illustrates a prior art pixel conversion of the conventional glyph of Figure 1A to a matrix of 95 by 95 pixels;
Figure 1C illustrates a prior art pixel conversion of the conventional glyph of Figure 1A to a matrix of 14 by 14 pixels; Figures 2A-2D are graphical representations of the prior art pixel conversion results, a glyph representation, and a grid representing pixels;
Figures 3A and 3B are graphical representations of pixel images enhanced using anti-aliasing and a pixel grid; Figure 4 is a flow chart of the general method of the present invention for performing glyph rasterization;
Figures 5A and 5B are a flow chart of a preferred method for hint conversion;
Figures 6A-6E are graphical representations of a portion of a stroke and pixel boundaries;
Figure 7 is a flow chart of a preferred method for control point transformation;
Figure 8 is a graphical representation of the preferred method for anti-aliasing of the glyph zone by zone to pixel space;
Figures 9A and 9B are a flow chart of a preferred method for sampling and processing the sampled points for scan conversion;
Figure 10 is a graphical representation of contour lines, pixel boundaries, a sample interval and a table of fractional pixel contributions; and
Figure 11 is a graph of the transformation from font units to pixel units. Detailed Description of the Preferred Embodiments Referring now to Figure 4, a preferred embodiment of the general method of the present invention will be described. The method of the present invention advantageously yields pixel images that are more aesthetically pleasing and readable than the prior art for both Latin characters and Asian ideographs. The method of the present invention is preferably a computer implemented process that can be used by a conventional computer to display characters on a conventional display device such as a monitor or CRT, or to print characters on a conventional laser printer.
Figure 4 provides an overview of a preferred embodiment for the method of the present invention. The preferred method begins in step 400. In step 401, a computer (not shown) retrieves character information including ideal glyph representations and hints . The character information is a number of closed contours and hinting data structures . Each contour preferably comprises a starting point, and a number of connecting lines and curves identified by control points. This character information specifies an outline of the area for the character, and is specified in font units of an abstract coordinate space. The hint data may apply to all contours and control points of a character or only a subset of contours. Each hint identifies the parts of the character that should exactly fit the pixel grid boundaries. Next, in step 402, the hint portion of the character information is converted from font units of the abstract coordinate space to pixel units. The pixel units will be set according to operational limitations of the printer or display device being used. The scaling factor is also determined by the global metrics of a type face and the desired pixel size. Step 402 scales the hints using special grid fitting techniques as will be described below. However, those skilled in the art will realize that the various grid fitting techniques of the prior art could also be used. Once the hints have been converted, then the control points are transformed to pixel units in step 403. The hint transformation effectively divides the image into a group of non-overlapping zones. Within the each zone, the scaling factor is slightly different from other zones which fits the hints to the pixel grid. In step 403, the scaling information from the hint transformation step (step 402) is used to convert the control points of the contours into pixel space to produce a series of scaled line segments and curves. Next in step 404, points at fixed intervals along each curve and line segment are sampled. Then in step 405, the sampled points are processed zone by zone to determine the fractional coloring for each pixel and produce a gray-scaled image. The process is then complete and ends in step 406. The present invention uses this method to produce sharper transitions at those points of the glyph that have been indicated to be of aesthetic importance. Conversely, adjacent features are prevented from affecting the glyph simply because they are near a point of importance. Referring now to Figure 5, the preferred method for performing grid fitting (steps 402,403) according to the present invention will be described in more detail. Once the hint data structures and the glyph have been retrieved (step 401) , they are processed to convert the hints from font space to the pixel space (step 402) . Each hint preferably comprises a starting point ( s) and an ending point (e) that are designated to be "snap points". The hint also includes a canonical width (c) for the interval between the snap points. The canonical width indicates the preferred distance between the snap points at low resolution. The hint transformation process also uses two metrics global to the typeface: the standard horizontal and vertical stroke widths ( W) that indicate dominant stroke widths in their respective dimensions. The preferred method begins in step 501 of Figure 5 by scaling the starting point (s) to the fractional value s ' . In step 502, the canonical width (c) is scaled to the fractional value c'. In step 503, the actual stroke width, the absolute value of (s-e) , is scaled to the fractional value w' , and in step 504, the standard stroke width ( W) is scaled to the fractional value W . Next in step 505, the fractional values for the canonical, actual and standard stroke widths are compared. If the fractional value of the actual stroke width, w' , and the fractional value of the canonical stroke width, c' , differ by more that 0.5 of a pixel, w' is used as the desired width. Otherwise, c ' is used as the desired width, and w ' is set equal to c ' . Moreover, if fractional value of the standard stroke width, W , differs from the fractional value of the actual stroke width, w' , by less than 0.5 pixel, w ' is set equal to WJ and used as the desired stroke width. This step establishes either the standard or the canonical stroke width as the desired stroke width, unless they differ from the actual stroke width by more than 0.5 pixel. In such a case, the actual stroke width is used for the desired stroke width. The scaling is further refined in step 506, in which the method determines whether w ' is wider than one pixel. If w ' is wider than one pixel, then the method continues in step 507 where the fractional values of the starting point s ' and the actual stroke width w ' are rounded to the nearest integer. Then in step 508, the fractional value of the actual stroke width w" is added or subtracted from the fractional value of the starting point s ' depending on whether s > e to produce the transformed value of e. The transformation of the hint is complete and the process terminates in step 514. However, if the fractional value of the actual stroke width w ' in step 506 is not wider than one pixel, the process proceeds to step 509. In step 509, the fractional value of the actual stroke width w' is set to the larger of its actual value and 0.25 pixel. A minimum of value of 0.25 is imposed on w' to assure that area of the character does not disappear. Next, in step 510, the fractional value of the actual stroke width w' is added or subtracted from the fractional value of the starting point s' depending on whether s > e to produce the fractional value for the end point e' . Now that the fractional values for s ' and e' have been determined, the method fits these points onto the pixel grid. In step 511, the values of s' and e' are compared to the pixel boundaries. Since it was previously determined in step 506 that ιv' is less than one pixel wide, the distance spanned by s ' and e' crosses at most one pixel boundary. In step 512, the method determines whether s ' and e ' are in the same pixel . If they are contained in the same pixel, the stroke is enclosed in a single pixel and the values for s ' and e' are left unchanged. The process then ends in step 514. However, if a pixel boundary is spanned by the area between s ' and e', the values of s ' and e' are adjusted in step 513 to shift the stroke in the direction of the lesser error to force s ' and e' to reside in the same pixel. The shifting of the stroke in step 513 can best be understood with reference to Figures
6A-6E which show the three possible cases when the s ' and e ' are compared to the pixel grid. As shown in Figure 6A, no adjustment of the stroke is necessary when s ' and e' are enclosed in a single pixel. Referring to Figures 6B and 6C, it can be seen that the method of the present invention shifts the stroke of Figure 6B to the left by subtracting or reducing s ' and e ' by the same value to force e ' in alignment with closest pixel boundary. A similar adjustment in the opposite direction is shown in Figures 6D and 6E. The method of the present invention shifts the stroke of Figure 6D to the right by increasing s ' and e ' by the same value to force s ' in alignment with closest pixel boundary. Therefore, the method of the present invention advantageously includes the benefits of stroke shifting such as the removal of undesired artifacts from the image that are caused when the ideal glyph representation does not correspond precisely to the pixel grid. The removal of such artifacts results in a much sharper image.
Referring now to Figure 7, the preferred method for converting the control points (step 403 of Figure 4) from font units to pixel units will be described. As noted above, the hint transformation process divided the pixel space into a group of non-overlapping zones or regions . The hint transformation is then used to guide the transformation of the control points by using information from the hint conversion process that has been described with reference to Figures 5 and 6. The preferred method starts in step 700. In step 701, the process tests whether there are any remaining control points in the glyph that need to be converted from font units to pixel units. If there are no more control points to convert, then this conversion process is complete and ends in step 706. Otherwise, the preferred method will loop through steps 702-705 until each control point is transformed. In step 702, the control point to be transformed is retrieved. Next, in step 703, the hint information is retrieved. In particular, the method retrieves the information necessary to determine the bounds for each region, if any, that have been defined by conversion of the hints in step 402. In this step, the scaling factor for each region is also determined. Then in step 704, the value of the control point being converted is compared to the hint information retrieved in step 703 to determine which zone or region contains the control point, and therefore, the appropriate scaling factor for converting the control point from font units to pixel units . The control point is then scaled to pixel units in step 705 using the scaling function associated with its region or zone. Once the control point has been scaled, the method loops to step 701 and repeats the process until all the control points have been scaled. Those skilled in the art will realize that there are numerous control points in both the X and Y directions, and further that there may be several hints in both the vertical and horizontal directions that effect the scaling of the control points. Referring now to Figure 11, an example of the hint and control point conversion processes of Figures 5A, 5B and 7 will be described. Figure 11 is a graph of the transformation with pixel units along the Y-axis, font units on the X-axis and the ideal transformation (i.e., linear scaling without hinting) represented by the dashed line. Without hints, the values of the control points would simply be multiplied by a scaling factor and rounded. The introduction of hints distorts the transformation space into a discontinuous, but piece-wise linear one. Consider the example of a contour whose bounding interval in the X-axis is [0,500] with the hint triple (200,275,75) and a standard width of 150. Also, the contour is to be scaled by 0.012. The bounding interval scales to [0,6] . Using the steps described with reference to Figures 5A and 5B, s ' = 200 x 0.012 = 2.4. The standard width scales to 150 x 0.012 = 1.8, the actual width and the canonical width scale to 0.012 x 75 = 0.9. Since the standard and actual width do not differ by more than 0.5 of a pixel, the width of the stroke is selected to be the canonical width, 0.9, and the ending coordinate, e ' , thus scales to s ' + w ' - 3.3. Using the stroke-shifting technique of step 513, s ' = 2 .1 and e ' = 3.0. The hint triple therefore divides the interval [0,500] font units into three regions or zones as shown in Figure 11. The three zones range from 0 to 200, from 200 to 275 and from 275 to 500, respectively. Each zone provides its own scaling function. In Figure 11, the three scaling functions are represented by the three solid line segments. Given a coordinate of X, a control point in font units, the method then determines which of the three ranges contains that value, and then applies the scaling function associated with that range or interval. The three scaling functions generated by the example hint are:
T0(x)= (2J/200)x, 0<x <200,
T,(x) =2.1 + (x-200)(275-2J)/(275-200) 200<x<275, T2(x)=3.0+ (x-275)(6.0-3.0)/(500-275) 275<x<500.
It should be understood that there are two sets of hints associated with each rendering, one for the X-dimension and one for the Y-dimension. Thus, a similar transformation may be required for points in the Y-dimension. Once the control points have been determined, the method of the present invention performs anti-aliasing to obtain an even sharper image. Anti-aliasing involves fitting the character to a source pixel grid which is larger than actually desired. Each pixel in the source grid is either black (off) or white (on) , and is represented mathematically as either a minimum (0) or maximum (1) value. However, the destination pixel grid allows the pixel values to range between 0 and 1. When the source grid is actually reduced to the desired size, there are several pixels in the source grid (called "samples") that correspond to a single pixel on the destination grid. These samples, whose values are either 0 or 1 are averaged together, and the result is a single final value that ranges from 0 to 1.
The present invention applies anti-aliasing steps to the glyph on a zone by zone basis. As shown in Figure 8, the hinting process divides the glyph (the letter "0") into a series of zones which are defined by the starting and stopping points of the hints. Each zone defines a portion of the pixel image that is predominately black or white, and the edges of - li ¬ the zones mark areas where there is likely to be a significant color transition in the pixel grid. The present invention advantageously uses the zone information created by grid fitting (i.e., hints) to influence the anti-aliasing averaging process. As shown in Figure 8, when averaging a pixel inside a zone, pixels in adjacent zones are not considered, even if they would have been considered using normal anti-aliasing methods. This advantageously creates sharper transitions between those areas in the glyph which have been identified as being of key aesthetic importance. Conversely, adjacent features are prevented from dominating a part of a glyph because they are nearby. The hints are preferably used to divide the glyph into several non-overlapping zones. For the example in Figure 8, the glyph is divided into three vertical zones (A, B and C) by the two horizontal hints. Those skilled in the art will understand that with a plurality of both vertical and horizontal hints, the glyph would be divided into several non-overlapping zones in both the vertical and horizontal directions. Referring now to Figure 9, the preferred method for performing sampling and image production in accordance with the present invention will be described. The method begins in step 900. In step 901, the curves, if any, that form the glyph are decomposed into line segments. Thus, after step 901, the glyph will be represented only with line segments. Next, in step 902, one of the line segments of the glyph is retrieved. In step 903, points are sampled on the line segment at 0.25 pixel intervals in the Y-dimension. Those skilled in the art will realize that the value for the sampling intervals may be selected according to the level of gray scaling permitted by the display or printing device. In this example, 0.25 has been selected for 16 shades of gray. For example, sampling the line segment from (0.7, 0.7) to (1.7, 1.7) according to step 903 would require that the values of Y be selected as 0.75, 1.0, 1.25 and 1.5. Next, in step 904, the corresponding X coordinate for each sampled value of Y is calculated. For the line segment from (0.7, 0.7) to (1.7, 1.7) this would produce sampling points (0.75, 0.75), (1.0, 1.0) , (1.25, 1.25) and (1.5, 1.5) . Then in step 905, the method determines whether there are any more line segments left to sample. The method preferably traverses each of the line segments of a contour until all segments of the contour have been sampled. If there are more line segments in the glyph to sample, the process loops to step 902; otherwise, the method continues to step 907. In step 907, a polygon filing algorithm is used to determine the area of each fractional contribution. Those skilled in the art will realize that a variety of polygon filling algorithms, such as disclosed in "Fundamentals of Interactive Computer Graphics" by J.D. Foley and A. Van Dam, may be used for this determination. The algorithm preferably defines the fractional contributions by specifying a beginning point and an ending point (or plurality thereof) on each scan line with the area between the points on or off. Each pair of points in a scan line represents an interval contributing to the fractional coloring of the pixels the interval crosses. Then in step 910, the contributions to the fractional coloring are determined by measuring the area of each pixel that is covered by the interval . After the contributions for each pixel have been determined, they are summed in step 911 to produce the fractional coloring value.
For example, let (x0 y) and (x1 y) , where x-, ≥ x0 be one such interval. Let 0 be the value C(p) of a pixel p when it is completely "turned off" (i.e., the contours of the character do not intersect the p at all) . Similarly, let 1 be the value C (p) of a pixel when it is completely "turned on" (i.e. , p is completely covered by the rendered character and contours) . We next, compute the fractional color contributions of this interval to the pixels spanning from ( LX0] , LyJ) and (L , LyJ) ,where LvJ and [VI denote the integer floor and ceiling of v, respectively. Assuming, the initial value of each pixel to be 0, then the values for the pixels can be calculated according to the following:
Figure imgf000014_0001
C(bJ, lyl) = C(b0J, LyJ) +0.25(X;-;0)
Figure imgf000014_0002
C(L 0J, ly]) = C( J, LyJ) + 0.25(Tx0l-αc0), C(bt,J, LyJ) = C(L ,J, LyJ) + 0.25 for all X, such that btj < X, <Lc/J,
C(bt;J, LyJ) = C(L ;J, LyJ) +0.25 (T C7 J).
Once we have tabulated the fractional coloring for each pixel interval, the total is multiplied by 0.25 since the points were sampled at each 0.25 pixel interval in the Y-dimension. The final sum of each C (p) represents the fractional coloring for each pixel which is used in step 912 to produce the image. For a particular rendering, suppose the background of the screen has the color b (background) and we wish to draw the character with color f (foreground) , the final color of each pixel will be rf = (l-r)jb where r is the sum of each pixel computed above.
Referring now to Figure 10, the gray scale contributions for an example contour are shown. In particular, the contributions for interval y=0 are shown. The results for each pixel are calculated for each increment of the y-dimension where the integer value of y=0 (i.e., 0.0, 0.25, 0.5, and 0.75) . For each increment, the interval pixel by pixel is summed according to the above equations to produce the values in each row of the table in Figure 10. Once the four rows for each pixel have been determined, they are tabulated to determine the gray scale coloring of each pixel . While the present invention has been described with reference to a preferred embodiment, those skilled in the art will recognize that various modifications may be provided. For example, different algorithms may be used to implement the grid fitting and anti-aliasing of the present invention. These and other variations upon and modifications to the preferred embodiment are provided for by the present invention which is limited only by the following claims.

Claims

WHAT IS CLAIMED IS:
1. A method for rasterizing hint information and an ideal glyph representation to produce a pixel image, said method comprising the steps of:- obtaining said ideal glyph representation and said hint information; converting said hint information from font units of an abstract coordinate space to pixel units and defining a plurality of zones; transforming said glyph representation from font units of the abstract coordinate space to pixel units using converted hint information; decomposing said glyph representation into a plurality of line segments; sampling points at intervals along each line segment in said plurality; and processing the sampled points to determine the fractional coloring for each pixel and to produce said pixel image.
2. The method of claim 1, wherein said step of converting includes applying a grid fitting technique to convert said hint information to pixel units.
3. The method of claim 1, wherein said step of converting said hint information comprises scaling said hint information from font units to pixel units .
4. The method of claim 1, wherein said hint information comprises at least one hint and each hint includes a starting point (s) , an ending point (e) , and a preferred width (c) ; and wherein said step of converting said hint information comprises the following steps for each hint: scaling the starting point to a fractional value (s1) ; scaling the canonical width to a fractional value (c'); calculating an actual width (w) and scaling said actual width from font units to a fractional value (w') in pixel units; scaling a standard width (W) to a fractional value (W) ; comparing the fractional values for the actual, standard and canonical widths, and selecting one as a desired width; comparing the desired width to the pixel width; if the desired width is wider than one pixel, rounding the fractional value of the starting point and the desired width to the nearest integers and calculating a transformed end point; and if the desired width is not larger than a pixel, calculating the fractional value of the end point and applying a stroke shifting technique such that the fractional values of the starting point and end point are in the same pixel.
5. The method of claim 4, wherein the step of calculating the actual width comprises calculating the absolute value of the difference between the starting point and the ending point.
6. The method of claim 4, wherein said step of comparing the fractional values further comprises the steps of: selecting the fractional value of the canonical width as the desired width; setting the desired width equal to the fractional value of the actual width, if the fractional value of the actual width and the fractional value of the canonical width differ by more than 0.5 pixel; and setting the desired width equal to the fractional value of the standard width, if the desired width and the fractional value of the standard width differ by less than 0.5 pixel.
7. The method of claim 4, wherein said step of calculating a transformed end point comprises summing the rounded value of the desired width and the rounded fractional value of the starting point according to the sign of the scaling value and whether the starting point is greater than the ending point.
8. The method of claim 4, wherein said step of calculating the fractional value of the end point comprises : setting the desired width to the larger of 0.25 pixel and its value; and summing the desired width and the fractional value of the starting point, according to the sign of the scaling value and whether the starting point is greater than the ending point, to produce the fractional value of the end point.
9. The method of claim 4, wherein said step of applying a stroke shifting technique comprises the steps of: comparing the fractional values of the starting and end points to the pixel boundaries; determining whether the fractional values of the starting and end points are in the same pixel; and if the fractional values of the starting and end points are not in the same pixel, shifting the fractional values of the starting and end points in the direction of lesser error to produce transformed values of the starting and end points that are in the same pixel.
10. The method of claim 2, wherein said step of transforming said glyph representation uses the results of the grid fitting technique to convert the glyph representation to pixel units.
11. The method of claim 1, wherein said glyph representation includes a plurality of control points and curves, and wherein said step of transforming said glyph representation comprises the steps of: retrieving a control point; retrieving the hint information; determining which zone contains the control point using the hint information; and scaling the control point using the scaling function associated with the zone containing the control point.
12. The method of claim 11, wherein said step of transforming said glyph representation comprises repeating said steps of retrieving, determining and scaling for each of the control points of the glyph representation.
13. The method of claim 1, wherein said step of sampling points comprises the steps of: retrieving a line segment; sampling points along the segment at intervals in the Y-dimension; and calculating the corresponding X-coordinate for each sampled point.
14. The method of claim 13, wherein said step of sampling points is performed at 0.25 pixel intervals.
15. The method of claim 1, wherein the step of processing the sampled points includes performing gray scaling and using a plurality of sampled points to produce the coloring for each pixel.
16. The method of claim 1, wherein the step of processing the sampled points comprises the steps of: determining the area of the fractional contributions for the glyph representation using a polygon filing algorithm; determining the fractional contributions for each pixel; summing the fractional contributions for each pixel to determine a fractional coloring value for the pixel; and producing the pixel image with a gray scale technique that uses the fractional coloring values produced for each pixel.
17. A method for producing a pixel image from a glyph representation, said method comprising the steps of: retrieving an ideal glyph representation and a least one hint; adapting the ideal glyph representation to the pixel grid using a grid fitting technique; dividing the adapted glyph representation into a plurality of non-overlapping zones using the hints; applying an anti-aliasing technique to each zone without considering the pixel values outside the zone; and processing the zones to produce a final gray-scaled bit map.
PCT/US1993/007956 1992-08-28 1993-08-24 Glyph rasterization method combining anti-aliasing and grid fitting WO1994006094A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU50892/93A AU5089293A (en) 1992-08-28 1993-08-24 Glyph rasterization method combining anti-aliasing and grid fitting

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US93796292A 1992-08-28 1992-08-28
US07/937,962 1992-08-28

Publications (1)

Publication Number Publication Date
WO1994006094A1 true WO1994006094A1 (en) 1994-03-17

Family

ID=25470641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1993/007956 WO1994006094A1 (en) 1992-08-28 1993-08-24 Glyph rasterization method combining anti-aliasing and grid fitting

Country Status (4)

Country Link
JP (1) JPH06208370A (en)
CN (1) CN1083605A (en)
AU (1) AU5089293A (en)
WO (1) WO1994006094A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0693740A1 (en) * 1994-07-19 1996-01-24 Microsoft Corporation Method of font rendering employing greyscale processing of grid-fitted fonts
WO1996036015A1 (en) * 1995-05-09 1996-11-14 Apple Computer, Inc. Method and apparatus for generating a text image on a display with anti-aliasing effect
EP0772144A3 (en) * 1995-10-23 1998-07-08 Adobe Systems Inc. Method and apparatus for rendering characters
US5867173A (en) * 1995-01-03 1999-02-02 Microsoft Corporation Method for rendering a spline for scan conversion of a glyph comprising a plurality of discrete segments
US7002597B2 (en) 2003-05-16 2006-02-21 Adobe Systems Incorporated Dynamic selection of anti-aliasing procedures
US7006107B2 (en) 2003-05-16 2006-02-28 Adobe Systems Incorporated Anisotropic anti-aliasing
US7333110B2 (en) 2004-03-31 2008-02-19 Adobe Systems Incorporated Adjusted stroke rendering
US7425960B2 (en) 1999-08-19 2008-09-16 Adobe Systems Incorporated Device dependent rendering
US7598955B1 (en) 2000-12-15 2009-10-06 Adobe Systems Incorporated Hinted stem placement on high-resolution pixel grid
US7602390B2 (en) 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
EP2674915A1 (en) * 2012-06-14 2013-12-18 BlackBerry Limited System and method for scaling vector-based graphic designs

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580039B2 (en) 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
CN102646281B (en) * 2011-02-16 2015-02-11 富士通株式会社 Method and system for rasterizing elliptic arc
CN107111990B (en) * 2015-01-30 2020-03-17 伊英克公司 Font control for electro-optic displays and related devices and methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2637101A1 (en) * 1988-09-26 1990-03-30 Brother Ind Ltd DATA CONVERSION DEVICE COMPRISING MEANS FOR MODIFYING ORNAMENTAL END DATA OF THE STRING OF A CHARACTER
GB2232861A (en) * 1989-05-08 1990-12-19 Apple Computer Method and apparatus for moving control points in displaying digital typeface on raster output devices
EP0458571A2 (en) * 1990-05-21 1991-11-27 Canon Kabushiki Kaisha Image processing method and apparatus
US5105471A (en) * 1990-02-14 1992-04-14 Brother Kogyo Kabushiki Kaisha Apparatus for converting character outline data into dot data, having means for correcting reproduction width of strokes of rotated or italicized characters

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4675830A (en) * 1984-07-06 1987-06-23 Compugraphic Corporation Method for producing a scaleable typeface data
US5159668A (en) * 1989-05-08 1992-10-27 Apple Computer, Inc. Method and apparatus for manipulating outlines in improving digital typeface on raster output devices
JPH02297591A (en) * 1989-05-12 1990-12-10 Canon Inc Image forming device
JP2956705B2 (en) * 1989-05-24 1999-10-04 ブラザー工業株式会社 Data converter
JPH03154096A (en) * 1989-11-13 1991-07-02 Canon Inc Method and device for generating pattern

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2637101A1 (en) * 1988-09-26 1990-03-30 Brother Ind Ltd DATA CONVERSION DEVICE COMPRISING MEANS FOR MODIFYING ORNAMENTAL END DATA OF THE STRING OF A CHARACTER
GB2232861A (en) * 1989-05-08 1990-12-19 Apple Computer Method and apparatus for moving control points in displaying digital typeface on raster output devices
US5105471A (en) * 1990-02-14 1992-04-14 Brother Kogyo Kabushiki Kaisha Apparatus for converting character outline data into dot data, having means for correcting reproduction width of strokes of rotated or italicized characters
EP0458571A2 (en) * 1990-05-21 1991-11-27 Canon Kabushiki Kaisha Image processing method and apparatus

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANDLER: "automatic generation of gridfitting hints for rasterization of outline fonts or graphics", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ELECTRONIC PUBLISHING, DOCUMENT MANIPULATION AND TYPOGRAPHY, 1990, USA, pages 221 - 234 *
HERSCH ET AL.: "model-based matching and hinting of fonts", PROCEEDINGS SIGGRAPH'91 ACM. COMPUTER GRAPHICS, vol. 25, no. 4, July 1991 (1991-07-01), USA, pages 71 - 80 *
HERSCH: "character generation under grid constraints", COMPUTER GRAPHICS, vol. 21, no. 4, July 1987 (1987-07-01), USA, pages 243 - 252, XP001372628 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0843283A1 (en) * 1994-07-19 1998-05-20 Microsoft Corporation Method of font rendering employing grayscale processing of grid fitted fonts
EP0693740A1 (en) * 1994-07-19 1996-01-24 Microsoft Corporation Method of font rendering employing greyscale processing of grid-fitted fonts
US5684510A (en) * 1994-07-19 1997-11-04 Microsoft Corporation Method of font rendering employing grayscale processing of grid fitted fonts
US6088041A (en) * 1995-01-03 2000-07-11 Microsoft Corporation Method of dropout control for scan conversion of a glyph comprising a plurality of discrete segments
US6175372B1 (en) 1995-01-03 2001-01-16 Dean Dayton Ballard Method for estimating the memory required for scan conversation of a glyph
US6529197B1 (en) 1995-01-03 2003-03-04 Microsoft Corporation Method for rendering endpoints of segments during scan conversion of a glyph
US5867173A (en) * 1995-01-03 1999-02-02 Microsoft Corporation Method for rendering a spline for scan conversion of a glyph comprising a plurality of discrete segments
US5719595A (en) * 1995-05-09 1998-02-17 Apple Computer, Inc. Method and apparauts for generating a text image on a display with anti-aliasing effect
WO1996036015A1 (en) * 1995-05-09 1996-11-14 Apple Computer, Inc. Method and apparatus for generating a text image on a display with anti-aliasing effect
US5943063A (en) * 1995-10-23 1999-08-24 Adobe Systems, Inc. Method and apparatus for rendering characters
EP0772144A3 (en) * 1995-10-23 1998-07-08 Adobe Systems Inc. Method and apparatus for rendering characters
US7425960B2 (en) 1999-08-19 2008-09-16 Adobe Systems Incorporated Device dependent rendering
US7598955B1 (en) 2000-12-15 2009-10-06 Adobe Systems Incorporated Hinted stem placement on high-resolution pixel grid
US7002597B2 (en) 2003-05-16 2006-02-21 Adobe Systems Incorporated Dynamic selection of anti-aliasing procedures
US7006107B2 (en) 2003-05-16 2006-02-28 Adobe Systems Incorporated Anisotropic anti-aliasing
US7333110B2 (en) 2004-03-31 2008-02-19 Adobe Systems Incorporated Adjusted stroke rendering
US7408555B2 (en) 2004-03-31 2008-08-05 Adobe Systems Incorporated Adjusted Stroke Rendering
US7602390B2 (en) 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
EP2674915A1 (en) * 2012-06-14 2013-12-18 BlackBerry Limited System and method for scaling vector-based graphic designs

Also Published As

Publication number Publication date
JPH06208370A (en) 1994-07-26
AU5089293A (en) 1994-03-29
CN1083605A (en) 1994-03-09

Similar Documents

Publication Publication Date Title
US5598520A (en) Methods and apparatus for hinting a font for controlling stem width as font size and resolution of output device vary
EP1730697B1 (en) Adjusted stroke rendering
US5929866A (en) Adjusting contrast in anti-aliasing
US5796409A (en) Method for producing contrast-controlled grayscale characters
EP1741063B1 (en) Edge detection based stroke adjustment
EP1157538B1 (en) Methods and apparatus for enhancing the resolution of images to be rendered on patterned display devices
US6282327B1 (en) Maintaining advance widths of existing characters that have been resolution enhanced
EP1762983B1 (en) Glyph adjustment in high resolution raster while rendering
US5719595A (en) Method and apparauts for generating a text image on a display with anti-aliasing effect
JPS62123573A (en) Computer graphic apparatus and operation thereof
US5381521A (en) System and method of rendering curves
WO1994006094A1 (en) Glyph rasterization method combining anti-aliasing and grid fitting
EP0417224A1 (en) Method and apparatus for conversion of outline characters to bitmap characters
JPH08255254A (en) Font rendering method using gray scale processing of grid fitted font
JPH08106276A (en) Display method of text on screen
EP1762984A2 (en) Hierarchical image-based representation of animated three-dimensional object and method for using this representation for the object rendering
US7639258B1 (en) Winding order test for digital fonts
US6614432B1 (en) Image rendering technique
US20110273454A1 (en) System and method for displaying text
JP3224142B2 (en) Hinting method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AT AU BB BG BR BY CA CH CZ DE DK ES FI GB HU JP KP KR KZ LK LU MG MN MW NL NO NZ PL PT RO RU SD SE SK UA VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA