United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6587560 OpenJDK problem handling bitmaps returned when LCD text is requested.
JDK-6587560 : OpenJDK problem handling bitmaps returned when LCD text is requested.

Details
Type:
Bug
Submit Date:
2007-07-31
Status:
Closed
Updated Date:
2011-05-18
Project Name:
JDK
Resolved Date:
2011-05-18
Component:
client-libs
OS:
linux_ubuntu,generic
Sub-Component:
2d
CPU:
x86,generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
OpenJDK6,7
Fixed Versions:

Related Reports
Backport:
Duplicate:

Sub Tasks

Description
In the new OpenJDK b17 usage of freetype, when requesting LCD mode glyphs, if
there are embedded bitmaps, freetype may return those.
Freetype indicates this with as
ftglyph->bitmap.pixel_mode ==  FT_PIXEL_MODE_MONO

This is detected and generally handled correctly.
However when the implementation has already calculated that if it requested
LCD bitmaps, the "width" of the glyph in pixels is 1/3 of ftglyph->bitmap.width.
This doesn't appear to be a valid assumption in the case when an embedded bitmap
is requested.

The "width" problem is for the LCD_HRGB (FT_PIXEL_MODE_LCD) case
A similar problem exists for the LCD_VRGB (FT_PIXEL_MODE_LCD_V) case.

In the width case the glyphs are rendered thin and multi-coloured.
In the height case the glyphs are rendered clipped vertically

For "mono" we should always set
          glyphInfo->width = width; ( == ftglyph->bitmap.width)
          glyphInfo->height = height; ( == ftglyph->bitmap.height)

                                    

Comments
EVALUATION

Use value of ftglyph->bitmap.pixel_mode to decide whether width/height has to be scaled.
                                     
2008-05-28



Hardware and Software, Engineered to Work Together