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

TextLayout.draw() method can not display Japanese code \u3080 - \u308f correctly

XMLWordPrintable

    • 2d
    • generic
    • generic

      ,Tested with Merlin b40 on Solaris 8 sparc, Japanese WindowsNT.

      Japanese charcater code, \u3089 - \u308d are not displayed correctly with TextLayout.darw().

      For example,
      \u308a code is overwritten on \u3089 and space between \u3089 and \u308a is very
      close, or very wide.

      Please see attached gif file.
      The file may be useful to understand the problem.


      To reproduce;

      1. compile attached program with Merlin_b40.
      2. execute
         % java FontEffectTest3
      for example,
      3. please input "3080" into Hex Unicode.
      4. please select "Serif" "SansSerif" "Monospaced" " Dialog" and "DialogInput"
      5. please select "20" point.
      5. please select "Bold" "Italic" "BoldItalic", excepting Plain
       
      or

      1. execute Font2D demo
         ($JAVAHOME/demo/Font2DTest/Font2DTest.jar)
      2. Select "Serif" "SansSerif" "Monospaced" "Dialog" and "DialogInpyut"
      3. Select "Bold" "Italic" "BoldItalic", excepting Plain
      4. Select " None" "Translate" "Rotate" " Scale" "Shear" from Transform.
      5. Select "TextLayout.draw() from Draw Method.
      6. Select "User Text" from Display Mode.
      7. Input to text area the following unicode with Japanese character.
         \u3089, \u308a, \u308b, \u308c, \u308d
      8. Pushed "Update"

      You can see that \u3089 - \u308d are not displayed correctly.

      [java -version]
      java version "1.4.0beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0beta-b40)
      Java HotSpot(TM) Client VM (build 1.4beta-B40, mixed mode)

      -----


      On Solaris 8, If followed the 1st step to reproduce, \u308a code was overwritten on \u3089 as stated above, but there was no space problem.

      If followed the 2nd step to reproduce, any Japanese character typed on the right side of \u3089 didn't seem to be displayed.
      For example, if typed \u3089, \u308a, \u308b, \u308c, \u308d as indicated, only one character of \u3089 showed up in the text. If typed \u308a, \u308b, \u308c, \u3089, \u308d, the right Japanese character \u308d of \u3089 didn't showed up.



      keiko.nakayama@Eng 2000-12-13

      -------------------------------------------------------------------------------

      I tested this problem with Merlin b50 on Solaris 8 and Windows NT, 98 again.
      This problem is not reproducible in Merlin b50.

      [rieko.suzuki@Japan 2001-02-08]
      -------------------------------------------------------------------------------

            pkejriwasunw Parry Kejriwal (Inactive)
            rsuzukisunw Rieko Suzuki (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: