Closed Bug 90759 Opened 24 years ago Closed 23 years ago

[PATCH]Global IME-Half width and full width space do not work in composer

Categories

(Core :: Internationalization, defect, P1)

x86
Windows 98
defect

Tracking

()

VERIFIED FIXED
mozilla1.0

People

(Reporter: teruko, Assigned: mozeditor)

References

Details

(Keywords: embed, inputmethod, intl, Whiteboard: [correctness] EDITORBASE+; FIXINHAND; need a= [adt2])

Attachments

(1 file, 1 obsolete file)

Global IME-Half width and full Fidth space do not work in composer. Steps of reproduce 1. Install Global IME (Japanese) to Win98 US 2. Launch Netscape 3. Start Composer 4. Change Input method to Japanese 5. Select each mode, full width hiragana, full width katakana, full width alphabet, half width alphabet, and half width katakana, 6. Hit space bar Space is not added. Tested 7-13-0.9.2 Win32 on Win98 US with Japanese global IME.
Keywords: intl
QA Contact: andreasb → ylong
Is this bug combine bug 83515 (still open) and bug 42574 (fixed)? I can reproduce bug 83515 but can not reproduce bug 42574 on Win2k-CN though.
This bug is little different from 83515 and 42574. Space does not work if IME is on no matter any places of Composer. I tried to regress Japanese IME 2000 for Win2k, I cannot reproduce it. I know hankaku space does not work which is 83515. This problem is Global IME.
I can reproduce this on Winnt 4.0 US with Japanese Global IME.
accepting and setting the milestone to 0.9.3 to see if I can fix this in time.
Status: NEW → ASSIGNED
Priority: -- → P2
Target Milestone: --- → mozilla0.9.3
Moving milestone to 0.9.4
Target Milestone: mozilla0.9.3 → mozilla0.9.4
I can reproduce this on my NT4J with Native Japanese IME. On NT4J, what will happen is the space WILL be added but the caret does not move, after I type the next characters, you will see there are a space insert before the next character. Seems important bug.
Keywords: nsbranch, nsbranch+
i'll try to reproduce this on my mac...
Little observation: 1) Turning OFF IME and insert SPACEs -> single-byte spaces are inserted 2) Turn IME ON and insert SPACEs -> db-byte spaces are inserted. 3) Turn IME ON and insert SPACEs -> show only one single-byte space is inserted.
Blocks: 99171
Keywords: nsbranch
0.9.4 is out the door.
Target Milestone: mozilla0.9.4 → mozilla0.9.5
Sorry here is the update: 1) Turning OFF IME and insert SPACEs -> single-byte spaces are inserted 2) Turn IME ON and insert DB-BYTE SPACEs -> db-byte spaces are inserted. 3) Turn IME ON and insert 1 byte SPACEs -> shows only one single-byte space is inserted. Teruko: can you reproduce this on Linux/Mac?
roy, aren't your three scenaros the expected result?
msanz: First two are expected results; but the third one isn't. I inserted bunch of 1-byte "SPACEs" with IME ON. It shows "only one" single-byte space. Caret doesn't move either.
I see, it should add two spaces... and caret should move.
Adding correctness Status Whiteboard, correct/expected behavior does not occur.
Whiteboard: [correctness]
PDT-. No comments indicating anyone has worked on producing a patch for this bug. If someone produces a very simple, very short patch in a *very* short period of time and can get reviews and adequate testing, then I *might* reconsider.
Whiteboard: [correctness] → [correctness] PDT-
as per our discussion.
Assignee: yokoyama → jfrancis
Status: ASSIGNED → NEW
Roy, Frank, Kin, others... After griping that this was going to be very hard and might require a rewrite of editor ime handling to fix, I now am more optimistic. Though it's a fairly big deal, I think I can recycle the code that handles this issue on the non-IME codepath and get it working on the ime codepath. Moving milestone to 096 for now because of the amount of time I'll need. I suspect we will have to go through a couple of passes here with some good testing in between.
Status: NEW → ASSIGNED
Whiteboard: [correctness] PDT- → [correctness] PDT- EDITORBASE; 10 days
Target Milestone: mozilla0.9.5 → mozilla0.9.6
Keywords: nsbranch+nsbranch-
*** Bug 83515 has been marked as a duplicate of this bug. ***
ok, so my 10 estimate was way off. This ended up being really easy. Woohoo! Roy, can you please test this out for me? The IME flavors I have access to all use full-width spaces. I need testing on half-width (ie, regular ascii) spaces. Thanks!
Whiteboard: [correctness] PDT- EDITORBASE; 10 days → [correctness] PDT- EDITORBASE; FIXINHAND; ned r=,sr=
Add nsbeta1
Keywords: nsbeta1
Whiteboard: [correctness] PDT- EDITORBASE; FIXINHAND; ned r=,sr= → [correctness] PDT- EDITORBASE; FIXINHAND; need r=,sr=
jfrancis: sorry, the patch didn't make any difference.
fix checked in on trunk
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
ylong: my test didn't fix the problem; however I may be incorrect. can you verify? thanks
Yes, the fix doesn't work for my WinXP-Ja with 10-22-09 trunk build. Re-open for now...
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
i dont have any way to know what is going wrong here. I will have to debug this with Roy to see why the patch isn't working.
Blocks: 107067
Keywords: nsbranch-
097
Target Milestone: mozilla0.9.6 → mozilla0.9.7
Whiteboard: [correctness] PDT- EDITORBASE; FIXINHAND; need r=,sr= → [correctness] PDT- EDITORBASE; helpwanted
098
Target Milestone: mozilla0.9.7 → mozilla0.9.8
What is the current state of this bug? Are both half-width and full-width spaces not working? How important is this bug? Should it still be EDITORBASE?
Summary: Global IME-Half width and full Fidth space do not work in composer → Global IME-Half width and full width space do not work in composer
I checked it on today's trunk build, it's a little difference than the original report: When I start a NEW compose page, and change IME to half-width katakana(win98, nt, 2k, XP), press space key a few times, it stoped at the first one or two steps, I can not add space properly. And for win98 and nt, it happens on full width space too. However, when I first start type something first, then would not have the problem with add half-width and full width space.
pushing off 098 to 099
Target Milestone: mozilla0.9.8 → mozilla0.9.9
plussing
Keywords: nsbeta1
Whiteboard: [correctness] PDT- EDITORBASE; helpwanted → [correctness] EDITORBASE+; helpwanted
Keywords: nsbeta1+
No longer blocks: 107067
Keywords: topembed
Keywords: topembedtopembed+
099 to 1.0; set pri to 1 for these pushed off EB+ bugs
Priority: P2 → P1
Target Milestone: mozilla0.9.9 → mozilla1.0
I have an nt box with a debug build. I have Microsoft Global IME 5.0 for Japanese installed. Is this a setup that should exhibit the bug? I cannot get the bug to happen on it, but I don't know if I am properly selecting the modes, or even the difference between entering full-width and half-width spaces. If this setup should show the bug, can an IME-savvy engineer come give me a hand reproducng it? If I can reproduce it then I have a shot at debugging it...
>> I have an nt box with a debug build. I have Microsoft Global IME 5.0 for >> Japanese installed. Is this a setup that should exhibit the bug? On my US NT4+SP6 with Microsoft JA Global IME 5.02 installed, I can still repro this bug with 20020301 trunk build. I beleive it can be reproduced on your machine. I couldn't find you today, I will come by your cube tomorrow again. BTW, here is a related bug 128562.
Hey Joe, so Rui Xu and I sat down at your computer and reproduced the problem. The good news is that we are entering the spaces into the content tree. The bad news is that we aren't doing the normal alternating nbsp and space character deal when it comes to IME ... when the space bar stops moving the caret, we are adding raw spaces into the content. In the IME modes we used, typing a space triggers nsTextEditorTextListener::HandleText() followed immeidately by a nsTextEditorCompositionListener::HandleEndComposition() don't know if that makes a difference to the WS handling code.
Blocks: 128562
Whiteboard: [correctness] EDITORBASE+; helpwanted → [correctness] EDITORBASE+; helpwanted [adt2]
Keywords: topembed+embed
This took some time to figure out, and once I did I had to think for a while about the simplest and safest way to fix it. Here it is. The short story is that sometimes the whitespace handling code in editor will adjust whitespace that is near to (but the exact) text that is inserted. Under the hood these adjustments were going through the same text insertion routines that ime does. These routines were detecting that ime was in progress and treated these other text insertions as if they were from IME. That led to editors internal ime state becoming invalid. The easiest fix was to ad a flag to the low level text insertion routine to force it to treat a given insertion as non-IME. The whitespace adjusting code then uses this flag. Seems to fix this bug. This will also fix some unreported bugs involving normal typing that happens to be just before an nbsp, etc.
Attachment #53988 - Attachment is obsolete: true
Whiteboard: [correctness] EDITORBASE+; helpwanted [adt2] → [correctness] EDITORBASE+; FIXINHAND; need r,sr,a= [adt2]
Comment on attachment 77008 [details] [diff] [review] patch to nsEditor.h,cpp and nsWSRunobject.cpp yep ; r=glazman (although I cannot test ; lack of win98 and stuff)
Attachment #77008 - Flags: review+
Summary: Global IME-Half width and full width space do not work in composer → [PATCH]Global IME-Half width and full width space do not work in composer
Comment on attachment 77008 [details] [diff] [review] patch to nsEditor.h,cpp and nsWSRunobject.cpp sr=kin@netscape.com Can we change "noIME" to "suppressIME"? People like me are slow to process double negatives (!noIME). :-)
Attachment #77008 - Flags: superreview+
Whiteboard: [correctness] EDITORBASE+; FIXINHAND; need r,sr,a= [adt2] → [correctness] EDITORBASE+; FIXINHAND; need a= [adt2]
adt1.0.0
Keywords: adt1.0.0, approval
Comment on attachment 77008 [details] [diff] [review] patch to nsEditor.h,cpp and nsWSRunobject.cpp a=asa (on behalf of drivers) for checkin to the 1.0 trunk
Attachment #77008 - Flags: approval+
yokoyama, can you test jfrancis's latest patch in your local machine ?
adt1.0.0+ (on ADT's behalf) approval for checkin to 1.0, pending Roy's test turns out ok.
Verified the patch works. Thanks, Joe.
Keywords: adt1.0.0adt1.0.0+
fix landed on trunk
Status: REOPENED → RESOLVED
Closed: 24 years ago23 years ago
Resolution: --- → FIXED
Verified fixed on 04-08 trunk build / WinXP-CN while 04-02 was broken.
Status: RESOLVED → VERIFIED
This landed before the branch was cut. Hence: fixed1.0.0
Keywords: approvalfixed1.0.0
verified1.0.0: vefified before 1.0 branch - comment #46.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: