Dynamic selection of anti-aliasing procedures
AssigneeAdobe Systems Incorporated
InventorsR. David Arnold, Terence S. Dowling
Life of this patent
Estimating the term…
Abstract
Methods, apparatus, including computer program products, and systems implement and use techniques for rendering glyphs. A plurality of glyphs to be rendered are received. For each glyph, an anti-aliasing procedure is selected to render the glyph. The anti-aliasing procedure is selected from a first anti-aliasing procedure and one or more alternative anti-aliasing procedures. The anti-aliasing procedure for each glyph is selected based on the glyph.
Claims42
A computer-implemented method, comprising:
- receiving a plurality of glyphs to be rendered;
- and
- for each glyph:
- partially rendering the glyph using a first anti-aliasing procedure;
- evaluating one or more characteristics of the glyph based on the partial rendering;
- and
- selecting an anti-aliasing procedure from the first anti-aliasing procedure and one or more alternative anti-aliasing procedures based on the evaluation of the characteristics of the glyph;
- and
- rendering the glyph based on the selected anti-aliasing procedure,
- wherein rendering the glyph includes:
- discarding the partial rendering;
- and
- rendering the glyph using one of the alternative anti-aliasing procedures.
A computer-implemented method, comprising:
- receiving a plurality of glyphs to be rendered;
- and
- for each glyph:
- partially rendering the glyph using a first anti-aliasing procedure;
- evaluating one or more characteristics of the glyph based on the partial rendering;
- and
- selecting an anti-aliasing procedure from the first anti-aliasing procedure and one or more alternative anti-aliasing procedures based on the evaluation of the characteristics of the glyph;
- and
- rendering the glyph based on the selected anti-aliasing procedure,
- wherein rendering the glyph includes:
- selecting one of the alternative anti-aliasing procedures;
- and
- rendering the glyph using the selected alternative anti-aliasing procedure and the partial rendering of the glyph from the first anti-aliasing procedure.
A computer-implemented method, comprising:
- receiving a plurality of glyphs to be rendered;
- and
- for each glyph:
- partially rendering the glyph using a first anti-aliasing procedure;
- evaluating one or more characteristics of the glyph based on the partial rendering;
- and
- selecting an anti-aliasing procedure from the first anti-aliasing procedure and one or more alternative anti-aliasing procedures based on the evaluation of the characteristics of the glyph,
- wherein:
- evaluating one or more characteristics of the glyph includes determining a complexity of the glyph and comparing the complexity to a predetermined threshold value;
- the glyph is to be rendered at a size;
- and
- the complexity is measured as a cumulative horizontal length of the glyph path divided by the size.
A computer-implemented method for rendering a plurality of glyphs, comprising:
- partially rendering each glyph in a plurality of glyphs using a first anti-aliasing procedure;
- determining on a glyph-by-glyph basis a preferred anti-aliasing procedure for each glyph based on the denial rendering of the glyph;
- and
- rendering each glyph using the preferred anti-aliasing procedure determined for the glyph,
- wherein rendering a glyph includes:
- discarding the partial rendering;
- and
- rendering the glyph using one of the alternative anti-aliasing procedures.
A computer-implemented method for rendering a plurality of glyphs, comprising:
- partially rendering each glyph in a plurality of glyphs using a first anti-aliasing procedure;
- determining on a glyph-by-glyph basis a preferred anti-aliasing procedure for each glyph based on the partial rendering of the glyph;
- and
- rendering each glyph using the preferred anti-aliasing procedure determined for the glyph,
- wherein rendering a glyph includes:
- determining the preferred anti-aliasing procedure to be one of the alternative anti-aliasing procedures;
- and
- rendering the glyph using the preferred alternative anti-aliasing procedure and the partial rendering of the glyph from the first anti-aliasing procedure.
A computer program product, tangibly stored on a computer-readable medium, comprising instructions operable to cause a programmable processor to:
- receive a plurality of glyphs to be rendered;
- and
- for each glyph;
- partially render a glyph using the first anti-aliasing procedure;
- evaluate one or more characteristics of the glyph based on the partial rendering;
- and
- select an anti-aliasing procedure from the first anti-aliasing procedure and one or more alternative anti-aliasing procedures based on the evaluation of the characteristics of the glyph;
- and
- render the glyph based on the selected anti-aliasing procedure,
- wherein instructions operable to render the glyph include instructions operable to:
- discard the partial rendering;
- and
- render the glyph using one of the alternative anti-aliasing procedures.
A computer program product, tangibly stored on a computer-readable medium, comprising instructions operable to cause a programmable processor to:
- receive a plurality of glyphs to be rendered;
- and
- for each glyph;
- partially render a glyph using the first anti-aliasing procedure;
- evaluate one or more characteristics of the glyph based on the partial rendering;
- and
- select an anti-aliasing procedure from the first anti-aliasing procedure and one or more alternative anti-aliasing procedures based on the evaluation of the characteristics of the glyph;
- and
- render the glyph based on the selected anti-aliasing procedure,
- wherein instructions operable to render the glyph include instructions operable to:
- select one of the alternative anti-aliasing procedures;
- and
- render the glyph using the selected alternative anti-aliasing procedure and the partial rendering of the glyph from the first anti-aliasing procedure.
A computer program product, tangibly stored on a computer-readable medium, comprising instructions operable to cause a programmable processor to:
- receive a plurality of glyphs to be rendered;
- and
- for each glyph;
- partially render a glyph using the first anti-aliasing procedure;
- evaluate one or more characteristics of the glyph based on the partial rendering;
- and
- select an anti-aliasing procedure from the first anti-aliasing procedure and one or more alternative anti-aliasing procedures based on the evaluation of the characteristics of the glyph,
- wherein:
- instructions operable to evaluate one or more characteristics of the glyph include instructions operable to determine a complexity of the glyph and compare the complexity to a predetermined threshold value;
- the glyph is to be rendered at a size;
- and
- the complexity is measured as a cumulative horizontal length of the glyph path divided by the size.
A computer program product, tangibly stored on a computer-readable medium, for rendering a plurality of glyphs, comprising instructions operable to cause a programmable processor to:
- partially render each glyph in a plurality of glyphs using a first anti-aliasing procedure;
- determine on a glyph-by-glyph basis a preferred anti-aliasing procedure for each glyph based on the partial of the glyph;
- and
- render each glyph using the preferred anti-aliasing procedure determined for the glyph,
- wherein instructions operable to render a glyph include instructions operable to:
- discard the partial rendering;
- and
- render the glyph using one of the alternative anti-aliasing procedures.
A computer program product, tangibly stored on a computer-readable medium, for rendering a plurality of glyphs, comprising instructions operable to cause a programmable processor to:
- partially render each glyph in a plurality of glyph using a first anti-aliasing procedure;
- determine on a glyph-by-glyph basis a preferred anti-aliasing procedure for each glyph based on the partial rendering of the glyph;
- and
- render each glyph using the preferred anti-aliasing procedure determined for the glyph,
- wherein instructions operable to render a glyph include instructions operable to:
- determine the preferred anti-aliasing procedure to be one of the alternative anti-aliasing procedures;
- and
- render the glyph using the preferred alternative anti-aliasing procedure and the partial rendering of the glyph from the first anti-aliasing procedure.
Dependencies are inferred from the claim text.