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

Layout should not apply shaping to precomposed arabic presentation form glyphs.

    XMLWordPrintable

    Details

    • Subcomponent:
      2d
    • Resolved In Build:
      b123
    • CPU:
      x86
    • OS:
      windows_xp
    • Verification:
      Verified

      Backports

        Description

        FULL PRODUCT VERSION :


        A DESCRIPTION OF THE PROBLEM :
        The output displayed in Arabic Locale for the string : "\u202d\ufef2\ufe91\ufeae\ufecc\ufedf\ufe8e\ufe91" is different in JDK1.3 and higher JDK's i.e. JDK1.4 and JDK1.5. Though the output for the text:
        "\ufef2\ufe91\ufeae\ufecc\ufedf\ufe8e\ufe91" is same across all JDK's but inserting the Left Right Override character (\u202D) introduces this difference.



        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        1. Run the test case in JDK1.3
        2. See the output in the two text fields.
        3. In JDK1.3 both the text fields have same output.
        4. In JDK1.4 the output in the two text fields differ, i.e. shape of the character differs. In left text field we are inserting LRO character while in the right text field we are inserting the same text but for this LRO character.


        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        The results in JDK1.4 and JDK1.5 should be similar to JDK1.3, i.e. the insertion of LRO character shouldn't alter the shape. It should only prevent flipping of the text.
        ACTUAL -
        I have seen that inserting LRO character changes the shape of the character in JDK1.4 and JDK1.5.

        REPRODUCIBILITY :
        This bug can be reproduced always.

        ---------- BEGIN SOURCE ----------
        import java.awt.ComponentOrientation;

        import javax.swing.JFrame;
        import javax.swing.JButton;
        import javax.swing.JPanel;
        import javax.swing.JTextField;

        public class SwingTest2 extends JFrame
        {
          public void init()
          {
            JPanel pane = new JPanel();
            
            _inputText1 = new JTextField("\u202d\ufef2\ufe91\ufeae\ufecc\ufedf\ufe8e\ufe91",12);
            _inputText1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
            pane.add(_inputText1);
            
            _inputText1 = new JTextField("\ufef2\ufe91\ufeae\ufecc\ufedf\ufe8e\ufe91",12);
            _inputText1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
            pane.add(_inputText1);
            setContentPane(pane);
            setVisible(true);
          }
            
          public static void main(String str[])
          {
            new SwingTest2().init();
          }
          private JTextField _inputText1;
        }



        ---------- END SOURCE ----------

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                raginip Ragini Prasad (Inactive)
                Reporter:
                prr Philip Race
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: