Bug 331614 - Cannot input Chinese chars in all OOo components
Summary: Cannot input Chinese chars in all OOo components
Status: RESOLVED FIXED
Alias: None
Product: openSUSE 10.3
Classification: openSUSE
Component: OpenOffice.org (show other bugs)
Version: Final
Hardware: x86-64 openSUSE 10.3
: P1 - Urgent : Critical (vote)
Target Milestone: ---
Assignee: Mike Fabian
QA Contact: Eric Ward
URL:
Whiteboard:
Keywords: dogfood, NTS_Public
Depends on:
Blocks:
 
Reported: 2007-10-07 08:33 UTC by Thruth Wang
Modified: 2007-10-23 12:35 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
A patch for scim-bridge (662 bytes, patch)
2007-10-18 03:22 UTC, Peng Wu
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thruth Wang 2007-10-07 08:33:44 UTC
Fresh installation of openSUSE 10.3 x86_64.

With one OOo component(e.g. Writer) open, ctrl + space shortcut does not call out scim input method. Even specifying the pinyin IM by mouse, it does not input Chinese chars.

suspected buggy component: scim-bridge.
Comment 1 Mike Fabian 2007-10-08 15:31:38 UTC
Are you using KDE or Gnome?

In case you are using KDE, does it work if you do

    QT_IM_MODULE=scim oowriter

(I assume that you have QT_IM_MODULE=scim-bridge by default).
Comment 2 Thruth Wang 2007-10-09 10:10:01 UTC
I'm using KDE and my QT_IM_MODULE=scim-bridge is by default.

Tried 

export QT_IM_MODULE=scim
oowriter

But it did not work. :(
Comment 3 Thruth Wang 2007-10-10 06:20:34 UTC
The issue seems more serious than I previously thought.

Actually, x86_64 10.3 users cannot input Chinese by SCIM in some/(all?) YaST modules.

Other Apps with this issue (from community feedbacks) - KDE, QT_IM_MODULE=scim-bridge:

skype
qutaus plus
YaST2 -> sysconfig
YaST2 -> sw_single
YaST2 -> inst_source
Comment 4 Mike Fabian 2007-10-15 12:57:33 UTC
I found that there is a problem with the scim-bridge-qt and the
scim-bridge-qt-32bit packages: They conflict:

/usr/lib/qt3/plugins/inputmethods
/usr/lib/qt3/plugins/inputmethods/im-scim-bridge.so
mfabian@magellan:~$ rpm -ql scim-bridge-qt-32bit
/usr/lib/qt3
/usr/lib/qt3/plugins
/usr/lib/qt3/plugins/inputmethods
/usr/lib/qt3/plugins/inputmethods/im-scim-bridge.so
mfabian@magellan:~$

Therefore, if both are installed input will not work either in 32bit
applications (e.g. OpenOffice, skype, ...) or in 64bit applications
(KDE and most other qt based applications). Which of these work
depends on whether scim-bridge-qt or scim-bridge-qt-32bit has been
installed last. If scim-bridge-qt-32bit has been installed last, input
in the 32bit applications will work but not in the 64bit
applications. If scim-bridge-qt has been installed last it is the
other way round.

Comment 5 Thruth Wang 2007-10-16 15:20:55 UTC
1. 32bit has the issue also. But some users claimed that configuring scim once from the GUI then reboot could sove the issue.
2. A workaround found is

>scim -d
>oowriter
Comment 6 Thruth Wang 2007-10-17 05:18:12 UTC
Actually, scim-bridge-qt-32bit is not installed by default in a 64bit version 10.3. So I think the conflict btween 2 packages you mentioned is another problem.

With this:

>rpm -q scim-bridge-qt-32bit
package scim-bridge-qt-32bit is not installed
>scim -d
>./skype

I can still input Chinese in the 32bit Skype.

And please note that OpenOffice packages shiped with 64bit 10.3 are 64bit ones.

btw. I guess scim XIM support module(or some other modules?) is not loaded automatically.

'cause before scim -d,
>ps aux | grep "scim-launcher.*-f x11" | grep -v grep | wc -l
returns 0


Comment 7 Peng Wu 2007-10-17 06:52:39 UTC
Please paste the result of the following commands, Thanks:
ps awx | grep scim
and 
rpm -q scim-bridge-qt

If possible, please report which input method module your qt application is using.
1. Open kwrite, try to choose a file,
2. In the Open file dialog, right click on Location entry;
3. In the popup menu, pop up select input method submenu;
4. Please report which input method has been checked,
scim-bridge or xim.
Comment 8 Thruth Wang 2007-10-17 09:46:52 UTC
Just updated from the M17N

>rpm -q scim-bridge-qt
scim-bridge-qt-0.4.13-34.4

> ps awx | grep scim
 3671 ?        Ss     0:00 /usr/lib64/scim-1.0/scim-launcher -d -c simple -e all -f socket --no-stay -d
 3691 ?        Ssl    0:00 /usr/lib64/scim-1.0/scim-panel-gtk --no-stay --display :0 -c socket -d
 3693 ?        S      0:00 scim-bridge
 4439 pts/2    R+     0:00 grep scim

I went through your steps. And as expected, the checked item is scim-bridge
Comment 9 Thruth Wang 2007-10-17 09:51:16 UTC
tried another gtk app - gobby

>rpm -q scim-bridge-gtk
scim-bridge-gtk-0.4.13-34.4

and right-clicked to see the Input Method submenu, The Checked one is still the 'SCIM Bridge Input Method'.
Comment 10 Mike Fabian 2007-10-17 15:15:30 UTC
Truth Wang> Actually, scim-bridge-qt-32bit is not installed by default
Truth Wang> in a 64bit version 10.3.

That is a bug as well, see bug #225749.

Comment 11 Mike Fabian 2007-10-17 15:21:32 UTC
Truth Wang> btw. I guess scim XIM support module(or some other
Truth Wang> modules?) is not loaded automatically.

Strange, because this works for me.

Did you change something in the default start procedure of scim?

/etc/sysconfig/language

contains a variable

   INPUT_METHOD=""

which should be empty by default.

Do you have a ~/.xim file in your home directory?

If you want to use the default, you don’t need such a file.

If you want to specify the commands to start the input method
yourself, you may create such a file and put the necessary commands
in there. For example ~/.xim could contain:

       export XMODIFIERS="@im=SCIM"
       export GTK_IM_MODULE=scim
       export QT_IM_SWITCHER=imsw-multi
       export QT_IM_MODULE=scim
       scim -d 

But doing this should not be necessary unless you want to do
something different from the default. And if I understand you
correctly you didn’t do any such changes, is that right?

Which desktop are you using? KDE or Gnome?


Comment 12 Thruth Wang 2007-10-17 16:07:25 UTC
cat /etc/sysconfig/language | grep INPUT_METHOD
INPUT_METHOD=""

I'm using KDE. And I don't have a .xim file under my home folder.

>cat /etc/sysconfig/language | grep INPUT_METHOD
INPUT_METHOD=""

>>And if I understand you correctly you didn’t do any such changes, is that right?

Well, almost yes. I didn't change anything but disabling some input methods in scim-setup. It is another strange thing, right click the scim icon shows no "Configure", but "Reload settings, Sticky Window, Hide toolbar, help..| Exit".
So I had to start scim-setup from shell.
Comment 13 Peng Wu 2007-10-18 03:22:19 UTC
Created attachment 179150 [details]
A patch for scim-bridge

This bug happens with a new kde 64bit installation.

The scim-bridge forgets to launch the x11 frontend.
So I add this patch to launch it.
Hi, Thruth. If possible, please test this patch.
Comment 14 Mike Fabian 2007-10-18 10:48:37 UTC
I’ve submitted scim-bridge with Peng Wu’s patch from comment #13 to
the openSUSE build service and STABLE/Factory to make it easier for
Thruth Wang to test it.

You can get the new packages from

    http://download.opensuse.org/repositories/M17N/openSUSE_10.3/

Comment 15 Mike Fabian 2007-10-18 10:57:03 UTC
There are a few things I don’t understand though.

The script /etc/X11/xim.d/scim-bridge, which is used to init the input
method when scim-bridge is used, contains:

    export XMODIFIERS=@im=SCIM
    export GTK_IM_MODULE=scim-bridge
    export QT_IM_SWITCHER=imsw-multi
    export QT_IM_MODULE=scim-bridge
    case "$WINDOWMANAGER" in
	*kde)
	    if ! type -p skim > /dev/null 2>&1 \
	      || grep -i -q "^[[:space:]]*Autostart.*=.*false" $HOME/.kde/share/config/skimrc
	    then
		scim -d
	    else
	    # skim will be  used. But we don't start it here,
	    # we rely on the KDE autostart
	    # mechanism used in the skim package instead.
	    # skim -d
	    :
	    fi
	;;
	*)
	    scim -d          
	;;
    esac

I.e. in the non-KDE case it already executes "scim -d".  In case of
KDE, it executes "scim -d" only if the automatic start of skim has
been disabled in the setup dialog of skim, then it assumes that the
user wants to use scim instead of skim and therefore it starts "scim
-d" in this case. If skim is not disabled, the autostart mechanism of
KDE will start skim, which should be the same as calling "skim -d"
from the command line.

So why doesn’t this work for Truth and why does it work for me?

I am using KDE on a 64bit system as well and I don’t run into that
problem.

And what does this have to do with 64bit? Nothing in the
/etc/X11/xim.d/scim-bridge is 64bit specific and Peng Wu’s patch
doesnt’t seem to be 64bit specific either.


Comment 16 Thruth Wang 2007-10-18 11:04:45 UTC
Hi. I just finished building a new package myself (scim-bridge scim-bridge-qt
scim-bridge-gtk) locally. btw. the build service is not stable recently, too
many 500 errors.

The new package solves the problem.

>ps aux | grep "scim-launcher.*-f x11" | grep -v grep | wc -l
now returns 1

Chinese input in OOo/skype/YaST works out of box.

Thank you for the package in M17N, Mike. And many thanks to Peng Wu for the
patch.

I'll tell the Chinese community to update from M17N.

Will there be an online-update for this?
Comment 17 Mike Fabian 2007-10-18 13:39:56 UTC
NEEDINFO → Anja Stock <ast@novell.com>

Anja, can we make an online-update for this?

It is a rather serious problem if inputmethods don’t work in
OpenOffice.
Comment 19 Mike Fabian 2007-10-18 14:40:29 UTC
Thank you!

Updated package submitted to 10.3.

Patchinfo file submitted as well:

mfabian@magellan:/work/src/done/10.3/scim-bridge$ cat /work/src/done/PATCHINFO/scim-bridge.patch.box
DISTRIBUTION: 10.3-i386,10.3-ppc,10.3-x86_64
PACKAGE: scim-bridge,scim-bridge-qt,scim-bridge-qt-32bit,scim-bridge-gtk,scim-bridge-gtk-32bit
PACKAGER: mfabian@suse.de
BUGZILLA: 331614
SWAMPID: 14208
CATEGORY: recommended
SUMMARY: fixes CJK input problems in applications using scim-bridge via XIM
SUMMARY_DE: löst CJK Inputprobleme in Programmen, die scim-bridge über XIM benutzen
DESCRIPTION:
When using scim-bridge on KDE, the X11 frontend of scim was sometimes
not started automatically which made CJK input impossible in applications
using scim-bridge via XIM, for example OpenOffice. This patch fixes
the problem.
DESCRIPTION_DE:
Bei Benutzung von scim-bridge unter KDE wurde das X11 Frontend von
scim manchmal nicht automatisch gestartet, was zur Folge hatte,
daß CJK input in Programmen, die scim-bridge über XIM benutzen,
nicht funktionierte. Dieser Patch behebt dieses Problem.


mfabian@magellan:/work/src/done/10.3/scim-bridge$

Online update will showup soon, closing bug as FIXED.
Comment 20 Anja Stock 2007-10-23 12:35:32 UTC
released