← Back to Patent Explorer
US6897870B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Glyph rendering quantization for subpixel positioning

Assignee: Apple Inc
•
Filing: 2003-08-15
•
Granted: 2005-05-24
•
Expires: 2023-08-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A Font Quantization Engine receives layout data including font, font matrix, glyphs and position data. This received position data includes non-integer positions for the glyphs to be rendered. According to a tolerance that is either pre-specified, or selected at run time an appropriate quantization level is determined by the Font Quantization Engine. This quantization level and the fractional position data is then used to determine quantized positions for the glyphs. Once the quantized positions are determined, a rendering engine either renders the bitmaps for the glyphs, or retrieves cached versions of the bitmaps. In this manner, glyphs are positioned at non-integer locations, yet a different bitmap is not required for each possible non-integer location. This allows for both efficiency of operation and the use of higher quality bitmaps.

Inventors

  • 👤 Derek B. Clegg

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 20:33
CPC Classifications
G; G06; G06T; G06T11/00; G06T11/20; G06T11/23; G09; G09G; G09G5/00; G09G5/22; G09G5/24

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 40 words
A method for positioning glyphs at non-integer positions, the method comprising: receiving glyph data, the glyph data including a glyph, and position data; and determining a quantized position for the glyph according to a quantization level and the position data.
Claim 2
Independent Claim 40 words
A method for positioning glyphs at non-integer positions, the method comprising: receiving glyph data, the glyph data including a glyph, and position data; and determining a quantized position for the glyph according to a quantization level and the position data.
Claim 3
Dependent Claim 12 words
The method of claim 1 , further comprising determining a quantization level.
Claim 4
Dependent Claim 29 words
The method of claim 2 wherein each position has an associated plurality of components, the method further comprising: determining the quantization level for each of the plurality of components.
Claim 5
Dependent Claim 134 words
The method of claim 3 wherein the quantized position for the glyph is a position in a device space, and determining a quantization level for a component (i) further comprises: selecting an initial quantization level n; selecting a point s in the device space such that s[i]=1/n; using a font matrix, determining a point s′ in an ideal space corresponding to the point s, and a point z in the ideal space corresponding to the origin in the device space; determining a distance between the point s and the point z; and responsive to the distance between the point s and the point z not being less than a threshold amount selecting a new quantization level such that the distance between the point s and the point z is less than the threshold amount.
Claim 6
Dependent Claim 120 words
The method of claim 3 wherein the quantized position for the glyph is a position in a device space, and determining a quantization level for a component (i) further comprises: selecting an initial quantization level n; selecting a point s in the device space such that s[i]=1/n; using a font matrix, determining a point s′ in an ideal space corresponding to the point s, and a point z in the ideal space corresponding to the origin in the device space; determining a distance between the point s and the point z; and responsive to the distance between the point s and the point z being less than a threshold amount: selecting the initial quantization level to be the quantization level.
Claim 7
Dependent Claim 12 words
The method of claim 1 , further comprising rendering the quantized glyph.
Claim 8
Dependent Claim 38 words
The method of claim 1 , wherein determining the quantized position for the glyph further comprises: determining a quantized position associated with the glyph position data; selecting as the quantized position for the glyph the determined quantized position.
Claim 9
Dependent Claim 80 words
The method of claim 7 wherein determining the quantized position p′[i] associated with the glyph position data further comprises: determining a value a[i], such that a[i] is a fractional portion of the glyph position data, p[i]; determining a value b[i], such that b[i] is a product of the quantization level and a[i]; determining p′[i] such that p′[i] is a sum of an integer portion of p′[i] and a quotient of an integer portion of b[i] divided by the quantization level.
Claim 10
Dependent Claim 36 words
The method of claim 8 , wherein determining the quantized position associated with the glyph position data further comprises determining a quantized position for each of a plurality of components associated with the glyph position data.
Claim 11
Dependent Claim 44 words
A font quantization engine comprising: a quantization level calculator for determining a quantization level; and a position quantizer, communicatively coupled to the quantization level calculator, for quantizing glyphs according to their position in an ideal space, the determined quantization level, and a positioning function.
Claim 12
Dependent Claim 44 words
A font quantization engine comprising: a quantization level calculator for determining a quantization level; and a position quantizer, communicatively coupled to the quantization level calculator, for quantizing glyphs according to their position in an ideal space, the determined quantization level, and a positioning function.
Claim 13
Dependent Claim 55 words
A computer program product for positioning glyphs at non-integer positions, the program product stored on a computer readable medium and adapted to perform the operations of: receiving glyph data, the glyph data including a glyph, and position data; and determining a quantized position for the glyph according to a quantization level and the position data.
Claim 14
Dependent Claim 55 words
A computer program product for positioning glyphs at non-integer positions, the program product stored on a computer readable medium and adapted to perform the operations of: receiving glyph data, the glyph data including a glyph, and position data; and determining a quantized position for the glyph according to a quantization level and the position data.
Claim 15
Dependent Claim 46 words
A font quantization engine comprising: receiving means for receiving glyph data, the glyph data including a glyph, and position data; and determining means, communicatively coupled to the receiving means, for determining a quantized position for the glyph according to a quantization level and the position data.
Claim 16
Dependent Claim 46 words
A font quantization engine comprising: receiving means for receiving glyph data, the glyph data including a glyph, and position data; and determining means, communicatively coupled to the receiving means, for determining a quantized position for the glyph according to a quantization level and the position data.

References Cited (Backward Citations)

US4937761A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2008-05-23 2008-11-22 2009-05-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2012-05-23 2012-11-22 2013-05-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2016-05-23 2016-11-22 2017-05-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag