Re: windows IME (bug 3447)

From: Andrew Dunbar (hippietrail@yahoo.com)
Date: Thu May 22 2003 - 09:31:09 EDT

  • Next message: Dom Lachowicz: "Re: changes made to find and replace win32"

     --- Daniel Glassey <danglassey@ntlworld.com> wrote: >
    Andrew Dunbar wrote:
    > > --- Daniel Glassey <danglassey@ntlworld.com>
    > wrote: >
    > > Hiya,
    > >
    > >>I have a probable fix for this as well (i.e. I now
    > >>can type some stuff n but am not certain if it is
    > >>working as it is supposed to since I don't know
    > >>cjk). Also, I don't know the current state of
    > >>IME's on latin Win95, or any cjk Win9x (though I
    > >>do know it is broken on Win2k+). It adds another
    > >>lib dependency but afaik this time it is a
    > >>standard lib, but I still want to check before
    > >>committing ;).
    > >>It's imm32.lib (libimm32.a).
    > >
    > >
    > > Daniel, slightly different code paths are required
    > > for IME on ANSI systems and IME on UNICODE
    > > systems.
    > > The ANSI code will work on UNICODE systems but
    > > doesn't allow as much coverage.
    > > The old code was known to work with both though
    > > finding a CJK Win95/98/ME to test with is the hard
    > > part!
    >
    > well, the point of this bug is that IME on the
    > pre-unicowspatch build _doesn't_ work on Unicode
    > systems.

    I'll have to dig out my own code. There's a chance it
    only ever existed in my private tree which had a lot
    of Unicode & string class work that never made it into
    the main tree because I only had the win32 changes and
    no linux changes.

    > Also, I don't know what it was like before but a
    > current (with unicows) build doesn't work with the
    > MS Global IME on Win95.
    > Is it supposed to, or is it only a CJK Win9x that it
    > is supposed to work with?

    No it's not supposed to work with MS Global IME.
    It would be nice if it did but Global IME does not
    work the same way as the IMEs built in natively on
    other versions of Windows. It's some kind of COM
    class with its own set of events/messages etc.
    Mozilla *does* support it so some person with enough
    time on their hands could sift through their code
    and import the functionality into AbiWord.

    > What I do in this fix is catch the
    > WM_IME_COMPOSITION message and handle
    > it. I've attached the patch to the bug so you can
    > see what I've done.
    > Afaict this is the MS suggested way to do it
    >
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/ime_5s1e.asp

    This I had definitely done - must be in the lost
    patch ):

    The only suggestion I have is instead of iterating
    over the IME string and calling the event handler for
    each character in the string, add a new function that
    can take a whole string. I thought such a function was
    also already there.

    I will try to dig through my old code again and
    refamiliarize myself with the current code.

    Andrew.

    > > Please see my other mail regarding this library
    > > dependency.
    >
    > replied to that in the bug.
    >
    > Regards,
    > Daniel
    >

    =====
    http://linguaphile.sourceforge.net/cgi-bin/translator.pl http://www.abisource.com

    __________________________________________________
    It's Samaritans' Week. Help Samaritans help others.
    Call 08709 000032 to give or donate online now at http://www.samaritans.org/support/donations.shtm



    This archive was generated by hypermail 2.1.4 : Thu May 22 2003 - 09:45:25 EDT