Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
Name: jk109818 Date: 08/05/2002 FULL PRODUCT VERSION : java version "1.4.1-beta" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-beta-b14) Java HotSpot(TM) Client VM (build 1.4.1-beta-b14, mixed mode) FULL OPERATING SYSTEM VERSION : Microsoft Windows XP [Version 5.1.2600] A DESCRIPTION OF THE PROBLEM : The quality of Java2D text antialiasing leaves a lot to be desired in comparison to OS naitve antialiasing, especially ClearType on Windows. Java2D uses gray scale antialiasing. At point sizes below a certain threshold (around 14pt it seems) this just does not look very good, with text appearing 'lumpy' and uneven. Either the way antialiasing interacts with font hinting needs to be improved, or there should be a settable rendering hint so that text below a certain size is not antialiased. In Windows standard text antialiasing, this works well. Larger font sizes are antialiased, where the most benefit is seen, and smaller font sizes are untouched, making them legible. Another problem is that Java2D antialiasing does not measure up to subpixel addressable antialiasing like in ClearType or Adobe CoolType (in Acrobat). ClearType/CoolType looks quite good even at smaller point sizes (12,pt, 10pt), and is much sharper on digital LCD screens, and in my experience, aperture grill monitors. Finally, none of the Swing look and feels takes advantage of antialiasing, probably because of its poor quality and performance. This makes the Windows look and feel suffer in comparison to native Windows applications. One fix would be for Java2D to support ClearType style antialiasing itself. A downside to this approach is that the Java2D renderer would likely not gain the advantage of hardware acceleration provided by native API's like Quartz Extreme on Mac OS X, or in the future GDI+. Antialiasing is performance intensive, so supporting the native OS rendering path would have certain benefits. And once antialiasing is acceptable for smaller point sizes, Swing should support it in the Windows Look and Feel, obeying the operating system settings for rendering options. For example, if the user selects standard antialiasing in the Control Panel, Swing should use grayscale antialiasing for larger font sizes. If the user has picked ClearType, Swing should use ClearType-style antialiasing for all point sizes. REPRODUCIBILITY : This bug can be reproduced always. CUSTOMER WORKAROUND : Use older JDK's where rendering is down by the host OS. Use .NET/GDI+ or other native OS api's. (Review ID: 160298) ======================================================================
|