The widths of characters, that have had (or that are having) resolution enhancement processing applied, are adjusted so that the widths of the characters are maintained. In this way, formatting of any file including such characters is maintained. Specifically, the advance width of each character may be adjusted. A non-uniformity of gaps between characters may be minimized by adjusting the left and/or right side bearing of each character. Finally, a non-uniformity in the weight of character lines may be minimized by adjusting the black body width of each character. |
Citations|
| US4136359 | Apr 11, 1977 | Jan 23, 1979 | Apple Computer, Inc. | Microcomputer for use with video display | | US4217604 | Sep 11, 1978 | Aug 12, 1980 | Apple Computer, Inc. | Apparatus for digitally controlling pal color display | | US4278972 | Jan 8, 1980 | Jul 14, 1981 | Apple Computer, Inc. | Digitally-controlled color signal generation means for use with display | | US5050229 | Jun 5, 1990 | Sep 17, 1991 | Eastman Kodak Company | Method and apparatus for thinning alphanumeric characters for optical character recognition | | US5057739 | Dec 28, 1989 | Oct 15, 1991 | Sony Corporation | Matrix array of cathode ray tubes display device | | US5122783 | Jul 27, 1990 | Jun 16, 1992 | Cirrus Logic, Inc. | System and method for blinking digitally-commanded pixels of a display screen to produce a palette of many colors | | US5254982 | Jan 12, 1990 | Oct 19, 1993 | International Business Machines Corporation | Error propagated image halftoning with time-varying phase shift | | US5298915 | Jun 16, 1992 | Mar 29, 1994 | Cirrus Logic, Inc. | System and method for producing a palette of many colors on a display screen having digitally-commanded pixels | | US5334996 | Oct 23, 1990 | Aug 2, 1994 | U.S. Philips Corporation | Color display apparatus | | US5341153 | Jun 13, 1988 | Aug 23, 1994 | International Business Machines Corporation | Method of and apparatus for displaying a multicolor image | | US5349451 | Oct 28, 1993 | Sep 20, 1994 | Linotype-Hell AG | Method and apparatus for processing color values | | US5467102 | Mar 28, 1995 | Nov 14, 1995 | Kabushiki Kaisha Toshiba | Portable display device with at least two display screens controllable collectively or separately | | US5509091 | Jul 14, 1994 | Apr 16, 1996 | Brother Kogyo Kabushiki Kaisha | Dot-matrix data producing apparatus | | US5543819 | Nov 19, 1993 | Aug 6, 1996 | Proxima Corporation | High resolution display system and method of using same | | US5548305 | Jan 9, 1992 | Aug 20, 1996 | Microsoft Corporation | Method and apparatus for displaying color on a computer output device using dithering techniques | | US5555360 | Apr 4, 1991 | Sep 10, 1996 | Ricoh Company, Ltd. | Graphics processing apparatus for producing output data at edges of an output image defined by vector data | | US5586241 | Jun 10, 1993 | Dec 17, 1996 | Hewlett-Packard Company | Method and system for creating, specifying, and generating parametric fonts | | US5633654 | Mar 16, 1995 | May 27, 1997 | Intel Corporation | Computer-implemented process and computer system for raster displaying video data using foreground and background commands | | US5689283 | Jul 14, 1995 | Nov 18, 1997 | Sony Corporation | Display for mosaic pattern of pixel information with optical pixel shift for high resolution | | US5740456 | Apr 3, 1996 | Apr 14, 1998 | Microsoft Corporation | Methods and system for controlling intercharacter spacing as font size and resolution of output device vary | | US5767837 | Apr 16, 1993 | Jun 16, 1998 | Mitsubishi Denki Kabushiki Kaisha | Display apparatus | | US5768490 | Oct 9, 1996 | Jun 16, 1998 | Ecole Polytechnique Federale Lausanne (EPFL) | Method for producing visually evenly spaced typographic characters | | US5796409 | Apr 6, 1993 | Aug 18, 1998 | Ecole Polytechnique Federale de Lausanne | Method for producing contrast-controlled grayscale characters | | US5821913 | Dec 14, 1995 | Oct 13, 1998 | International Business Machines Corporation | Method of color image enlargement in which each RGB subpixel is given a specific brightness weight on the liquid crystal display | | US5847698 | Sep 17, 1996 | Dec 8, 1998 | DataVentures, Inc. | Electronic book device | | US5857067 | Dec 23, 1993 | Jan 5, 1999 | Adobe Systems, Inc. | Intelligent font rendering co-processor | | US5894300 | Sep 9, 1996 | Apr 13, 1999 | NEC Corporation | Color image display apparatus and method therefor | | US5949643 | Nov 12, 1997 | Sep 7, 1999 | | Portable computer having split keyboard and pivotal display screen halves | | US5963185 | Sep 27, 1996 | Oct 5, 1999 | Texas Digital Systems, Inc. | Display device with variable color background area | | US6026185 | Sep 24, 1996 | Feb 15, 2000 | Canon Kabushiki Kaisha | Outline image generation apparatus and method that generates space correction data |
Referenced by|
| US6563502 | Aug 19, 1999 | May 13, 2003 | Adobe Systems Incorporated | Device dependent rendering | | US6750875 | Feb 1, 2000 | Jun 15, 2004 | Microsoft Corporation | Compression of image data associated with two-dimensional arrays of pixel sub-components | | US6894701 | May 14, 2002 | May 17, 2005 | Microsoft Corporation | Type size dependent anti-aliasing in sub-pixel precision rendering systems | | US6958761 | Apr 3, 2003 | Oct 25, 2005 | Samsung SDI Co., Ltd. | Method of fast processing image data for improving visibility of image | | US6982725 | Mar 21, 2005 | Jan 3, 2006 | Microsoft Corporation | Dropout control in subpixel rendering | | US6985160 | Feb 3, 2005 | Jan 10, 2006 | Microsoft Corporation | Type size dependent anti-aliasing in sub-pixel precision rendering systems | | US7002597 | May 16, 2003 | Feb 21, 2006 | Adobe Systems Incorporated | Dynamic selection of anti-aliasing procedures | | US7006107 | May 16, 2003 | Feb 28, 2006 | Adobe Systems Incorporated | Anisotropic anti-aliasing | | US7057626 | Jan 4, 2005 | Jun 6, 2006 | Microsoft Corporation | Dropout control in subpixel rendering | | US7176941 | Jan 17, 2006 | Feb 13, 2007 | Microsoft Corporation | Dropout control in subpixel rendering | | US7180531 | Feb 27, 2004 | Feb 20, 2007 | Microsoft Corporation | Method and apparatus for enabling application program compatibility with display devices having improved pixel density | | US7271806 | Dec 18, 2002 | Sep 18, 2007 | Microsoft Corporation | International automatic line height system and method | | US7286121 | Dec 23, 2003 | Oct 23, 2007 | Microsoft Corporation | Sub-component based rendering of objects having spatial frequency dominance parallel to the striping direction of the display | | US7333110 | Mar 31, 2004 | Feb 19, 2008 | Adobe Systems Incorporated | Adjusted stroke rendering | | US7348991 | Apr 16, 2003 | Mar 25, 2008 | Silicon Image, Inc. | Video/graphics text mode enhancement method for digitally processed data | | US7385606 | Dec 18, 2002 | Jun 10, 2008 | Microsoft Corporation | International font measurement system and method | | US7408555 | Apr 9, 2007 | Aug 5, 2008 | Adobe Systems Incorporated | Adjusted Stroke Rendering | | US7425960 | Mar 14, 2003 | Sep 16, 2008 | Adobe Systems Incorporated | Device dependent rendering | | US7443399 | Jul 8, 2002 | Oct 28, 2008 | Sanyo Electric Co., Ltd. | Communication terminal apparatus and method for displaying characters on communication terminal apparatus | | US7539351 | Jun 20, 2005 | May 26, 2009 | Xerox Corporation | Model-based line width control | | US7580039 | Aug 15, 2006 | Aug 25, 2009 | Adobe Systems Incorporated | Glyph outline adjustment while rendering | | US7602390 | Mar 31, 2004 | Oct 13, 2009 | Adobe Systems Incorporated | Edge detection based stroke adjustment | | US7629974 | Nov 30, 2006 | Dec 8, 2009 | Nintendo Co., Ltd. | Storage medium storage game image processing program, game image processing apparatus and game image processing method | | US7639258 | Aug 15, 2006 | Dec 29, 2009 | Adobe Systems Incorporated | Winding order test for digital fonts | | US7646387 | Apr 11, 2006 | Jan 12, 2010 | Adobe Systems Incorporated | Device dependent rendering | | US7719536 | Aug 15, 2006 | May 18, 2010 | Adobe Systems Incorporated | Glyph adjustment in high resolution raster while rendering | | US7872651 | Jun 26, 2007 | Jan 18, 2011 | Microsoft Corporation | Error metrics for characters | | US8090168 | Oct 15, 2007 | Jan 3, 2012 | General Electric Company | Method and system for visualizing registered images | | US8121338 | Jul 7, 2004 | Feb 21, 2012 | Directsmile GmbH | Process for generating images with realistic text insertion | | US8139066 | Jan 5, 2011 | Mar 20, 2012 | Microsoft Corporation | Error metrics for characters |
Claims1. In a rendering system that processes characters having existing formatting associated with a pixel precision resolution and renders the characters at a sub-pixel precision resolution, a method for rendering the characters at the sub-pixel precision resolution while maintaining the layout of a document that includes the characters when the characters are rendered at the sub-pixel precision resolution, the method comprising: - obtaining a document having a layout associated with pixel precision resolution, the document including characters having a particular font and a particular point size and having pixel precision advance widths and pixel precision black body widths associated with the pixel precision resolution;
- in preparation for displaying the document on a display device that is capable of displaying the characters with sub-pixel precision resolution, hinting the characters to pixel sub-component boundaries without changing the particular font or the particular point size, thereby:
- changing the pixel precision black body widths to resolution enhanced black body widths associated with the sub-pixel precision resolution; and
- changing the pixel precision advance widths to resolution enhanced advance widths associated with the sub-pixel precision resolution, at least some of the resolution enhanced advance widths being different from the corresponding pixel precision advance widths;
- replacing said at least some of the resolution enhanced advance widths with the corresponding pixel precision advance widths, thereby maintaining the layout of the document as the layout existed prior to the act of hinting; and
- displaying the document on the display device, wherein the displayed document includes the hinted characters and further has the layout as the layout existed prior to the act of hinting.
2. The method of claim 1, further comprising, after the act of hinting, the act of adjusting the resolution enhanced black body width of each of a plurality of characters based on the resolution enhanced advance width of the character and the pixel precision advance width of the character. 3. The method of claim 2, wherein the act of adjusting the resolution enhanced black body width of each of the plurality of characters is performed by scaling points defining an outline of the character by a ratio of the pixel precision advance width of the character to the resolution enhanced advance width of the character. 4. The method of claim 3 wherein each of the points defining the outline of the character arc scaled by scaling an X coordinate of the character. 5. The method of claim 2, wherein the act of adjusting the resolution enhanced black body width of each of a plurality of characters is performed by multiplying the resolution enhanced black body width of the character by a correction factor defined by the pixel precision advance width of the character divided by the resolution enhanced advance width of the character, wherein limiting the correction factor is limited if the correction factor would otherwise be greater than a predetermined maximum limit. 6. The method of claim 5 wherein the predetermined maximum limit is approximately 1.2. 7. The method of claim 2, wherein the act of adjusting the resolution enhanced black body width of each of the plurality of characters is performed by multiplying the resolution enhanced black body width of the character by a correction factor defined by the pixel precision advance width of the character divided by the resolution enhanced advance width of the character, wherein limiting the correction factor is limited if the correction factor would otherwise be less than a predetermined minimum limit. 8. The method of claim 7 wherein the predetermined minimum limit is approximately 0.8. 9. The method of claim 2, further comprising, prior to the act of displaying the document, the act of moving the black body of a particular character to the left if the resolution enhanced black body width of the particular character is greater than the pixel precision black body width of the particular character. 10. The method of claim 9, wherein the act of moving the black body of the particular character comprises the act of decreasing a left side bearing metric associated with the particular character. 11. The method of claim 10, wherein the act of decreasing the left side bearing metric is performed by decreasing the left side bearing by one half of a difference between the pixel precision black body width of the particular character and the resolution enhanced black body width of the particular character. 12. The method of claim 2, further comprising, prior to the act of displaying the document, the act of moving the black body of a particular character to the right if the resolution enhanced black body width of the particular character is less than the pixel precision black body width of the particular character. 13. The method of 12, wherein the act of moving the black body of the particular character comprises the act of increasing a left side bearing metric associated with the particular character. 14. The method of claim 13, wherein the act of increasing the left side bearing metric is performed by increasing the left side bearing by one half of a difference between the pixel precision black body width of the particular character and the resolution enhanced black body width of the particular character. 15. In a rendering system that processes characters having existing formatting associated with a pixel precision resolution and renders the characters at a sub-pixel precision resolution, a method for rendering the characters at the sub-pixel precision resolution while maintaining the layout of a document that includes the characters when the characters are rendered at the sub-pixel precision resolution, the method comprising: - obtaining a document having a layout associated with pixel precision resolution, the document including characters having a particular font and a particular point size and having pixel precision advance widths and pixel precision black body widths associated with the pixel precision resolution;
- in preparation for displaying the document on a display device that is capable of displaying the characters with sub-pixel precision resolution, hinting the characters to pixel sub-component boundaries without changing the particular font or the particular point size, thereby:
- changing the pixel precision black body widths to resolution enhanced black body widths associated with the sub-pixel precision resolution; and
- changing the pixel precision advance widths to resolution enhanced advance widths associated with the sub-pixel precision resolution; for each of a plurality of the characters in the document, performing the acts of:
- determining whether the character is a mono-stem character;
- replacing the advance width of the character with the pixel precision advance width of the character that existed prior to the act of hinting, thereby maintaining the layout of the document as the layout existed prior to the act of hinting; and
- adjusting the resolution enhanced black body width of the character, wherein:
- if it is determined that the character is not a mono-stem character, then the act of adjusting the resolution enhanced black body width of the character comprises multiplying the resolution enhanced black body width of the character by a correction factor defined by the pixel precision advance width of the character divided by the resolution enhanced advance width of the character; and
- if it is determined that the character is a mono-stem character, then the act of adjusting the resolution enhanced black body width of the character comprises multiplying the resolution enhanced black body width by a correction factor defined by the pixel precision black body width of the character divided by the resolution enhanced black body width of the character; and
- displaying the document on the display device, wherein the displayed document includes the hinted characters and further has the layout as the layout existed prior to the act of hinting.
16. The method of claim 15, wherein the act of determining whether the character is a mono-stem character comprises the act of determining whether the pixel precision black body width of the character is no greater than one. 17. A rendering apparatus for processing characters having existing formatting associated with a pixel precision resolution and rendering the characters at a sub-pixel precision resolution while maintaining the layout of a document that includes the characters when the characters are rendered at the sub-pixel precision resolution, the apparatus comprising: - means for obtaining a document having a layout associated with pixel precision resolution, the document including characters having a particular font and a particular point size and having pixel precision advance widths and pixel precision black body widths associated with the pixel precision resolution;
- means for hinting the characters to pixel sub-component boundaries without changing the particular font or the particular point size in preparation for displaying the document on a display device that is capable of displaying the characters with sub-pixel precision resolution, thereby:
- changing the pixel precision black body widths to resolution enhanced black body widths associated with the sub-pixel precision resolution; and
- changing the pixel precision advance widths to resolution enhanced advance widths associated with the sub-pixel precision resolution, at least some of the resolution enhanced advance widths being different from the corresponding pixel precision advance widths;
- means for replacing said at least some of the resolution enhanced advance widths with the corresponding pixel precision advance widths, thereby maintaining the layout of the document as the layout existed prior to the act of hinting; and
- means for displaying the document on the display device, wherein the displayed document includes the hinted characters and further has the layout as the layout existed prior to the act of hinting.
18. The apparatus of claim 17, further comprising means for adjusting the resolution enhanced black body width of each of a plurality of characters based on the resolution enhanced advance width of the character and the pixel precision advance width of the character. 19. The rendering apparatus of claim 18, wherein the means for adjusting the resolution enhanced black body width of each of the plurality of characters comprises means for multiplying the resolution enhanced black body width of the character by a correction factor defined by the pixel precision advance width of the character divided by the resolution enhanced advance width of the character, wherein means for limiting the correction factor is limited if the correction factor would otherwise be greater than a predetermined maximum limit. 20. The apparatus of claim 18, wherein the means for adjusting the resolution enhanced black body width of each of the plurality of characters comprises means for multiplying the resolution enhanced black body width of the character by a correction factor defined by the pixel precision advance width of the character divided by the resolution enhanced advance width of the character, wherein the correction factor is limited if the correction factor would otherwise be less than a predetermined minimum limit. 21. The apparatus of claim 18, further means for moving the black body of a particular character to the left prior to displaying the document if the resolution enhanced black body width of the particular character is greater than the pixel precision black body width of the particular character. 22. The apparatus of claim 18, further means for moving the black body of a particular character outline to the right prior to displaying the document if the resolution enhanced black body width of the particular character is less than the pixel precision black body width of the particular character. 23. A rendering apparatus for processing characters having existing formatting associated with a pixel precision resolution and for rendering the characters at a sub-pixel precision while maintaining the layout of a document that includes the characters when the characters are rendered at the sub-pixel precision resolution, the apparatus comprising: - means for obtaining a document having a layout associated with pixel precision resolution, the document including characters having a particular font and a particular point size and having pixel precision advance widths and pixel precision black body widths associated with the pixel precision resolution;
- means for hinting the characters to pixel sub-component boundaries without changing the particular font or the particular point size in preparation for displaying the document on a display device that is capable of displaying the characters with sub-pixel precision resolution, thereby:
- changing the pixel precision black body widths to resolution enhanced black body widths associated with the sub-pixel precision resolution; and
- changing the pixel precision advance widths to resolution enhanced advance widths associated with the sub-pixel precision resolution; means for performing, for each of a plurality of the characters in the document, the functions of:
- determining whether the character is a mono-stem character;
- replacing the advance width of the character with the pixel precision advance width of the character that existed prior to hinting, thereby maintaining the layout of the document as the layout existed prior to hinting; and
- adjusting the resolution enhanced black body width of the character, wherein:
- if it is determined that the character is not a mono-stem character, then the means for adjusting the resolution enhanced black body width of the character multiplies the resolution enhanced black body width of the character by a correction factor defined by the pixel precision advance width of the character divided by the resolution enhanced advance width of the character; and
- if it is determined that the character is a mono-stem character, then the means for adjusting the resolution enhanced black body width of the character multiplies the resolution enhanced black body width by a correction factor defined by the pixel precision black body width of the character divided by the resolution enhanced black body width of the character; and
- means for displaying the document on the display device, wherein the displayed document includes the hinted characters and further has the layout as the layout existed prior to hinting.
|