Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4726365

RFE: Java 2D to support LCD optimized anti-aliased text (sub-pixel resolution)

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P5 P5
    • 6
    • 2.0.2, 1.4.0, 1.4.1, 5.0
    • client-libs
    • 2d
    • beta
    • x86
    • linux, windows_xp



      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)
      ======================================================================

            prr Philip Race
            jkimsunw Jeffrey Kim (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: