-
Bug
-
Resolution: Fixed
-
P3
-
OpenJDK6, 7
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2194401 | OpenJDK6 | Igor Nekrestyanov | P3 | Resolved | Fixed | b20 |
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)
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)
- backported by
-
JDK-2194401 OpenJDK problem handling bitmaps returned when LCD text is requested.
-
- Resolved
-
- duplicates
-
JDK-6646745 openjdk:Antialiasing LCD Text is not rendering properly for 'Garamond' font.
-
- Closed
-