Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6679904
Votes 0
Synopsis JDK6u10 beta on windows: \u200bc not rendered properly in LCD text mode.
Category java:classes_2d
Reported Against
Release Fixed 6u10(b22)
State 10-Fix Delivered, Verified, bug
Priority: 3-Medium
Related Bugs 6656651 , 6688672
Submit Date 25-MAR-2008
Description
FULL PRODUCT VERSION :
build 1.6.0_10-beta-b14

ADDITIONAL OS VERSION INFORMATION :
 customer  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.
Posted Date : 2008-03-25 21:25:17.0
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.
Evaluation
So far I haven't been able to reproduce this issue.
Posted Date : 2008-03-25 21:36:14.0

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.
Posted Date : 2008-03-26 21:59:15.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang