United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6679904 JDK6u10 beta on windows: \u200bc not rendered properly in LCD text mode.
JDK-6679904 : JDK6u10 beta on windows: \u200bc not rendered properly in LCD text mode.

Details
Type:
Bug
Submit Date:
2008-03-25
Status:
Closed
Updated Date:
2010-10-04
Project Name:
JDK
Resolved Date:
2008-04-12
Component:
client-libs
OS:
windows_vista
Sub-Component:
2d
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
6u10
Fixed Versions:
6u10 (b22)

Related Reports
Relates:
Relates:

Sub Tasks

Description
FULL PRODUCT VERSION :
build 1.6.0_10-beta-b14

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.0.6000]

A DESCRIPTION OF THE PROBLEM :
Java6 update 10 build 13 introduced a font rendering bug as described at http://www.netbeans.org/issues/show_bug.cgi?id=130711

Build 12 rendered this correctly.


REPRODUCIBILITY :
This bug can be reproduced always.

Release Regression From : 6u10
The above release value was the last known release where this 
bug was not reproducible. Since then there has been a regression.

                                    

Comments
EVALUATION

So far I haven't been able to reproduce this issue.
                                     
2008-03-25
WORK AROUND

Using Windows Explorer open c:\windows\fonts which causes windows to fix its registry,
then reboot. That doesn't solve the real JDK problem but makes the obvious problem
go away.
                                     
2008-03-26
EVALUATION

The root of the problem is that contrary to intentions, the JRE "Lucida Sans"
font is being directed to the windows rasteriser in the case when its
the fallback font for a JDK logical font (eg monospaced).

This is apparent only on systems in which the windows registry font list
is missing mappings of the windows XP SP2 "Lucida Sans" fonts. I've seen this
happen because the XP SP2 install copies new fonts into \windows\fonts but
doesn't update the registry. This is clearly a windows installer, bug
but there is nonetheless a JDK problem here.
On systems which do have the Lucida font installed, the logical font
uses of the windows rasteriser, even though coming from the wrong
version of the font are mostly OK since its hard to see the difference.
On the systems which don't windows substitutes another font - in this
case Arial - and there is no way to find out from windows APIs what
font is really being used. It so happens that the character \u200b
has the glyphcode 1298 in the JRE's Lucida Sans Regular font, and
in Arial that's the glyphcode of \u0416 (Cyrillic capital Zhe with descender).
The advance used is however the correct zero-width advance, even though
the image is wrong, hence the over-printing with this image.

The fix needs to be a more certain way to ensure JRE fonts go through the Java
rasteriser.
                                     
2008-03-26



Hardware and Software, Engineered to Work Together