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

Hindi text input gets slower & hung-like effect for a particular character & also for 100+ lines



    • Subcomponent:
    • Understanding:
      Cause Known
    • CPU:
    • OS:


      This issue was actually reported by the team here at IEC ,India Customer Quality Engineering CTE B, reporting to Matt Thompson. They are having this bug in POC that is getting developed for a E-Gov project.

      Its a E-Gov ('e-Police' project) application getting developed for Govt. of India.
      The POC uses a swing-based front end. The software architecture is pure Java(our Java).

      For detailed description of project : please find the attached text file having the extract from mail of Matt Thompson, where the project background is given.

      For detailed Customer enviroment : where application is getting deployed,see the details below under Problem description.

      PROBLEM Description:

      * Customer environment that is targeted for the application:
      Platform : Mandrake-linux [ Mandrake 10.1] on intel boxes with 265 MB RAM
      jdk version needed: 1.4.2 (_04 or _08)
      Input method they use: Java Indic Input Method [ Reference: http://java.sun.com/products/jfc/tsc/articles/InputMethod/inputmethod.html#Indic_Input_Method]
      Locale: Hindi
      Keyboard Layout: INSCRIPT

      * Other test environment where the comparison tests were conducted:
      JDK version: 1.4.2 , 1.5.0_b64
      Input method used: Java Indic Input Method. [Problem gets shown even without using this input method , but not as immediate as with Indic input method.]
      Platforms tested on: S9_sparc, RHL4.0,Windows2K
      Locale :Hindi
      Keyboard layout: INSCRIPT

      STEPS TO REPRODUCE:[with Java Indic Input Method]
      1)Install the JDK version mentioned on the required platform. Set the JAVA_HOME & PATH variables properly. System locale being hindi.
      2)To use Indic Input method- From the reference link mentioned above download the Indic-InputMethod's jar file & then install it [place it in <jdk-home>/jre/lib/ext].
      3)To use any Swing Text-editing component - use the swing application provided in jdk-demo directory. i.e under <jdk-home>/demo/jfc/Notepad.
      4)Execute this Notepad demo-application using :java -jar Notepad.jar
      5)Right-click on application & choose Devanagri Input Method from the 'Select Input Methd' list & perform the following scenarios of hindi-text-input:

      case 1:
      type in continuously the character equivalent to the keypad 'f' on your keyboard. [That character's unicode equivalent is "\u093F".]

      case 2:
      type in many lines of hindi text which may include the combination of this above character('f') also--- atleast 10/25+ lines, if you are using Indic-Input Method.

      - you will find the text input getting very slow with the character equivalent to 'f' and when multiple lines of text is input
      - gives the feeling as though the application is hung , but whereas the input is so slow that user is not able to see the text input immediately.


      if you are using this input method , the problem is seen right away at first 1 or 2 lines of input of character 'f' or 'i' itself.
      i.e for case 1 the slow performance is seen in first line itself and
          for case 2, you can see the slowness with about 10 lines or so.

      if you are NOT making use of the Indic Input method, then login to the test system with Hindi locale & perform the input on the jdk-demo Notepad application for case 1 & case 2 given above.
      [If on Solaris: you can change the IME to Hindi-INSCRIPT layout of inputting as follows: Press the keys: 'Compose' + 'h' + 'i' . You will notice in the IME window below that it takes to Indic languages. Then Press F5 till you go to Hindi.Then to go th'r the layouts, press F6 & choose Inscript layout]
      -Here you will notice the problem very late i.e slowness
        in case 1 is viewed after 4/5 lines &
        in case 2 the performance goes down/input becomes slow after some 75+ lines or so
      i.e not as immediate as with Indic-InputMethod.

      3) NON-JAVA application:
      Just tested the same scenarios using the Notepad.exe on Win2K [i.e the native application on window StartMenu->Programs->Accessories->Notepad]:
      login with hindi locale & start typing in the Notepad.exe only the character equivalent to 'f'. A strange behaviour was noticed here-- the input becomes like bold-square-boxes after multiple input of this character in the very first line itself !!.
      [This data is mentioned just for comparison sake.]

      4) OTHER CTLs:
      Used Mustang-b54 & NO Indic Input Method for THAI language input:
      Tested entering some 75+ lines in Thai language on jdk-demo Notepad application & the slowness can be observed for this too.Almost hung-like effect after so many lines.

      The slowness has affected the E-Gov application badly as they are making use of Indic Input Method where the user will face the problem right with 1 or 2 lines.

      Though this slowness is not observed immediately with native input methods, the problem does exist. Hence it seems to be issue with Complex-Text handling in Swing Text-editing components itself.

      The issue needs immediate attention for any solution/workaround.

      [concerning people of that project are included in Interest alias.]


          Issue Links



              peterz Peter Zhelezniakov
              malobo Mangala Lobo
              0 Vote for this issue
              5 Start watching this issue