RE: Keyboard Layouts for Office XP in WIndows 98

From: Chris Pratley (chrispr@microsoft.com)
Date: Fri Mar 08 2002 - 14:11:37 EST


I should point out that Word2002 does not actually support WM_UNICHAR
(actually no OfficeXP app does). Only RichEdit 4.0 (riched20.dll) does.
RichEdit is used in many places in the system and in Office and various
applets such as WordPad, and likely Messenger, so that can be handy but
it is not universal.

However, the recommended method for communicating in Unicode to apps
including Office is to
a) use an NT-based OS such as NT4/Win2000/WindowsXP. Everything just
works.
b) or use the Text Services Framework, which is shipped in WindowsXP and
also in OfficeXp. This is what, I believe Keyman actually uses now to
get Unicode in Word2002 on Win98/Me - or the specific Word (object model
based) method Peter mentions below.

Keep in mind that most OfficeXP installations are now running on either
Win2k or WinXP, and this trend is accelerating. The large majority of
customers upgrade their OS or their entire machine at the time they
acquire major new software.

By the time we ship the next release of Office, the % of people who a)
want to get a new version of Office and who b) insist on remaining with
their old Win9x/ME OS will be very small indeed (not zero, I
understand). Generally speaking, the Office team tries to make sure you
can do everything on older OSes that we offer on the newer ones, but
there is a limit to how much back-porting and investment in workarounds
for older OS limitations we will make . We'd rather invest in more
powerful features for the newer OSes that most people are using. So it
is unlikely we will be improving our multilingual support on Win9x/Me -
instead we'll extend it even further on the newer OSes.

Chris

Sent with OfficeXP on WindowsXP

-----Original Message-----
From: Peter_Constable@sil.org [mailto:Peter_Constable@sil.org]
Sent: March 8, 2002 08:29
To: unicode@unicode.org
Subject: RE: Keyboard Layouts for Office XP in WIndows 98

On 03/08/2002 04:39:49 AM Marco Cimarosti wrote:

>Lateef Sagar wrote:
>> How can I create such a keyboard layout that can be
>> used with Office XP (in Windows 98).
>
>http://www.tavultesoft.com/keyman/
>
>It also works on Win 98.

There are some issues to keep in mind in relation to Win9x/Me. I won't
explain all the gory details (I probably have sometime earlier on this
list), but in a nutshell, for most of the life of Win9x/Me, the
characters
that could be entered from a keyboard were limited to only those in some

Windows codepage, and a given layout couldn't mix characters from
different codepages. Late in 2000, MS added a new mechanism that
involved
using the system message WM_UNICHAR rather than WM_CHAR. This invention
was quite slick since it could be used without breaking existing
software
and without requiring any patches to Windows itself. With old apps, it
would just get ignored (not perfect, but not bad). All it would take to
use it is (a) an input method that will generate it, and (b) apps that
will recognise it.

Tavultesoft Keyman will attempt to communicate with an app using
WM_UNICHAR. If the app doesn't recognise that message, then Keyman will
gracefully resort to plan B -- if the developer of the particular input
method included rules for "ANSI" mode as well as Unicode, then Keyman
will
fall back to ANSI mode; otherwise, it deactivates that input method (the

IM can be reactivated when focus is switched to another app).

There are not many apps at this point that support WM_UNICHAR, but Word
2002 is one of them. The other apps in the Office suite do not, however,

with the minor exception that the RichEdit control does support it, so
it
is supported wherever those other apps use the RichEdit control (e.g.
the
text boxes in search/replace dialogs). (I've been told that Keyman can
be
used to give full Unicode input support on Win 98 with Internet
Messenger;
I'm guessing it must be using RichEdit.)

If you are using Word 2000, you can obtain an add-in ("WordLink") from
Tavultesoft that will add support for WM_UNICHAR.

One last point: Keyman 5 did not provide support for supplementary plane

characters. This will be added in Keyman 6, which will be available this

spring.

So, if you are on Win9x/Me and want to use Unicode characters that are
*not* supported by a Windows codeage, it can be done with certain
limitations. Here's a summary:

                         Unicode characters that can be input using
                         Keyman 5 Keyman 6 (when
released)
------------------------------------------------------------------------

----
Word 2000                limited by              limited by 
                         Windows codepages       Windows codepages

Word 2000 w/ WordLink all of BMP all (planes 0 - 16)

other Office 2000 apps limited by limited by Windows codepages Windows codepages

Word 2002 all of BMP all (planes 0 - 16)

other Office XP apps limited by limited by Windows codepages Windows codepages

I'm hoping that when Office dotNet appears that support for WM_UNICHAR will have been added to other apps in the Office suite. (Chris Pratley, can you comment on that?)

- Peter

------------------------------------------------------------------------ --- Peter Constable

Non-Roman Script Initiative, SIL International 7500 W. Camp Wisdom Rd., Dallas, TX 75236, USA Tel: +1 972 708 7485 E-mail: <peter_constable@sil.org>



This archive was generated by hypermail 2.1.2 : Fri Mar 08 2002 - 14:24:05 EST