Bug 330611

Summary: Input cjk characters with scim speedily, CPU High load in en_US.UTF-8.
Product: [Fedora] Fedora Reporter: sangu <sangu.fedora>
Component: openoffice.orgAssignee: Caolan McNamara <caolanm>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-02 13:18:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description sangu 2007-10-13 12:32:45 UTC
Description of problem:
When input Korean or Japanese with scim speedily, CPU High load

Version-Release number of selected component (if applicable):
2.3.0-6.1.fc8

How reproducible:
always

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
scim-1.4.7-5.fc8
scim-hangul-0.3.1-1.fc7
scim-anthy-1.2.4-2.fc8

Comment 1 Caolan McNamara 2007-10-13 14:18:50 UTC
It it a new phenomenon ?, and does it also happen if you paste a stack of text
into writer, and do you have the neccessary fonts installed to display korean
and japanese, i.e. I'm trying to rule in or out extreme glyph substitution.

Comment 2 Caolan McNamara 2007-10-16 08:28:21 UTC
Let me try and guess and tell me if I'm right, you ran OOo in e.g. en_US.UTF-8
locale and inputted in CJK text from the input engine ?

If so then after tools->options->language settings->enable CJK is turned on
you'll see that the default CJK font is probably some fairly random western font
so we have to look up every typed CJK character to find an appropiate font for it. 

If you rinse and repeat with a installed CJK font already selected for CJK text
it probably will be much much lower impact as the glyph substitution work is
removed. A japanese font is selected automatically if started in  the ja_JP
locale, so under normal use it should be acceptable performance, and for
edge-case work it suffices.

Comment 3 sangu 2007-10-16 09:52:51 UTC
Current locale is ko_KR.UTF-8 in my linux box.
(In reply to comment #1)
> It it a new phenomenon ?, 
Yes, it's a new pheonmeon. 

>and does it also happen if you paste a stack of text into writer,
No. 

>  do you have the neccessary fonts installed to display korean and japanese.
yes. I have installed korean and japanes fonts.

Reporeted problem was fixed in 2.3.0-6.3.fc8, but still happens in en_US.UTF-8.


(In reply to comment #2)
> Let me try and guess and tell me if I'm right, you ran OOo in e.g. en_US.UTF-8
> locale and inputted in CJK text from the input engine ?
I use OOo in ko_KR.UTF-8. Fixed in 2.3.0-6.3.fc8.
But When speedily input Korean and Japanese, OOo has High cpu load in en_US.UTF-8.

> If so then after tools->options->language settings->enable CJK is turned on
> you'll see that the default CJK font is probably some fairly random western font
> so we have to look up every typed CJK character to find an appropiate font for
it. 
Where is "enable CJK" option? I can't find the option.

Sorry about delay response.

When input CJK characters in en_US.UTF-8, OOo 2.3.0-6.3.fc8 has High CPU load.


Comment 4 Caolan McNamara 2007-10-16 10:20:14 UTC
In en_US use tools->options->language settings->languages->Enhanced language
support, toggle "Enabled for Asian languages" on

For a CJK locale it is automatically enabled. Doing this just makes the CJK
parts of the dialogs visible so we can see what font is used for CJK by default.
After using that, format->character will show the "Asian text font". What font
is shown there ? Change it to a suitable font for e.g. Japanese use Sazanami
Gothic and then type Japanese characters and see if the load is then much lower
than when typing Japanese with a non-suitable font selected.

I suspect we just have high load because we're forced to constantly glyph
substitute for each character while it is being typed in, something that isn't
neccessary in the "normal" case of running OOo in the locale that the user
writes text in.

Comment 5 Caolan McNamara 2007-11-02 13:18:12 UTC
ok, so it's the glyph substitution stuff, I don't really know if theres actually
any way to fix this given the limitations of what we need to do to find the glyphs.

We've just gotten the substitution code integrated into 2.3.1, so hopefully from
that release on we've got everyone in the OOo world working from the same place
and we'll improve performance. So I'll close this as CANTFIX which sounds harsh
but I have hopes that this will improve by the next release.