Return of the Unicode IME

by Michael S. Kaplan, published on 2006/07/20 03:01 -04:00, original URI:

I have previously (like in Typing in random Unicode code points) talked about using the Unicode IME as a way to input random Unicode code points by their code point values. It was therefore something of a shock to me when Lionel Fourquaux mentioned a few months ago that:

I have been unable to find the Unicode IME in Vista (build 5308). Was it removed? If so, why? I'm missing it.

I looked, and yes, this IME had been removed! :-(

I talked to some of the folks on the Input Method Editor (IME) team and on the Text Services Framework (TSF) team, and the removal was intentional. There was a concerted effort to assist with maintainability of the IMEs to make sure that they were using TSF rather than the old IMM mechanisms, and since this IME was kind of built in to all of the other ones, there just wasn't a strong advantage to having a standalone one that did the same thing....

And of course just having something mentioned here in this blog is not a compelling enough reason, either. :-(

However, after working with some of the folks on the TSF team I have a beta version that may eventually be a great sample of a new type of TSF TIP that is entirely text based, which can be used to replace the Unicode IME.

With the permission of that group, I am making this beta available to those who want to try it out. All you need to participate is a somewhat recent build of Vista and to be reader of this blog (how else will you know about it?).

Don't forget the disclaimer text: "Postings are provided as is with no warranties, and confer no rights." To that I would add the same text in Hebrew is something like "הודעה זו מסופקת "כפי שהיא" ללא כל אחריות או חיובים, ואינה נותנת לך זכויות כלשהן".

For those of you who are using Vista who want to try it out, you can download the 1.6 mb text file here (or the 166 kb zipped version here!), then follow these instructions

1) Copy the text file to \Program Files\Windows NT\TableTextService on your Vista machine (if the "Program Files" on your machine is another language, use that directory, do not create a new one!).

2) Open an elevated command prompt and navigate to that directory.

3) Run the following from that command prompt:

rundll32 TableTextService.dll RegisterProfile TableTextServiceUnicode.txt

4) Say OK to the dialog that comes up verifying you want to install it:

You can now add the Unicode IME to the Chinese (Taiwan) locale by going through the following steps that are illustrated here.

And that is all you have to do. Now, when you type in an application like Notepad, you can switch to the IME and type in code point values like 00E5 or 0951 of whatever, and the character will be typed!

Now even as a sample this is a work in progress, like for example I want to change some of the configuration settings so you can see the code point you are in the middle of typing.

And I want it to be able to be available for other locales too, for obvious reasons.

And this IME will not work in the console, sorry about that. I don't think that partiular limitation can be addressed, so pretend you never saw this post before. :-)

You get the idea -- it is a beta!

There will be documentation on the format of the text file that will be available eventually, and I will probably blog about it a bit too in the future (plus maybe share some of my other samples, such as a Cantonese IME I have been working on).

But if you are using a recent build of Vista and want to try out this sample, a meager attempt at a replacement version of the Unicode IME from prior versions, especially if you wanted to post feedback about it here.


# dono on 20 Jul 2006 4:32 AM:

That's pretty cool.

I'm looking forward to a post about your Cantonese IME.
I'd like to design a special purpose IME sometime in the future.

# Nick Lamb on 22 Jul 2006 2:50 PM:

Can users expect the final version to go beyond the BMP? Also it seems short-sighted to skip characters that are unused but might perhaps be allocated later. The principle of forwards compatibility seems to argue in favour of allowing these characters despite the modest increase in file size. It makes sense not to allow the user to enter U+FFFE since it does not and will never exist, but why not allow e.g. U+0620 which might some day get allocated ?

# Michael S. Kaplan on 22 Jul 2006 3:20 PM:

Some excellent thoughts, Nick. In fact, you have inspired me to write a post about these issues, some of which may very well see themselves in the next release. :-)

Look for the post later today....

# Omi on 17 Sep 2006 3:31 AM:

If it's just a test file that contains the mapping. Then I believe it's also possible to customize the mapping in the file, isn't it?

Is it legal?


# Michael S. Kaplan on 17 Sep 2006 9:58 AM:

Well, to be honest I'd prefer if people held off on going that route until after the file format is better documented so they know what else they should change to allow for better interoperability (and to make sure that my version does not step on theirs and vice versa).

Not so much a legal issue as one of courtesy.... :-)

# Omi on 17 Sep 2006 10:15 AM:

Is there any way to check this out under XP?

# Michael S. Kaplan on 17 Sep 2006 10:31 AM:

No, there is not, as I have said before. These table driven Text Services Framework TIPs are an exciting Vista only feature at present, though one can make a good argument that investigating a possible downlevel use might make sense here. :-)

# Omi on 18 Sep 2006 5:22 AM:

Can you please tell me how to get it under Vista RC-1 Build 5600? I went to put the TableTextServiceUnicode.txt file as above instructed, but it's already there. Now when I went to set this Unicode IME as my layout, it's not there (under regional and language options) So do you know any way?

# Michael S. Kaplan on 18 Sep 2006 7:55 AM:

What do you mean it is already there? The file does not ship with Windows, so it would have to be something you placed with an earlier build.

Did you register it in the new build?

# Omi on 18 Sep 2006 9:29 AM:

Already there means when I paste the txt file in the instructed folder, it asked me to replace existing one. My Vista is RC-1 x64 and it's a clean installation in a new HDD.

I didn't do anything else after that. Do you suggest to skip that step and follow the next steps or I should replace the file and follow all the steps?

# Michael S. Kaplan on 18 Sep 2006 10:01 AM:

Microsoft Vista does not include a file called TableTextServiceUnicode.txt in any directory; if it is there, it is something you must have copied over at some point.

YES, register the file....

# Omi on 19 Sep 2006 12:32 AM:

Is there any way to use this IME with other Languages?

# Michael S. Kaplan on 19 Sep 2006 1:04 AM:

I guess that means it works? :-)

Not yet, but there will be in the updated version, coming out soon....

# uccoffee on 7 Oct 2006 5:49 AM:

This doesnt work in VISTA RC2 ...

# Michael S. Kaplan on 7 Oct 2006 11:23 AM:

I will be posting updated files very very soon, hang in there!

# Peter Gibbons on 22 Nov 2008 2:10 PM:

In the next major service pack for Vista (Windows 7) it will again be included. This would also be a good step for the next minor one, SP2 ;-)

# Michael S. Kaplan on 23 Nov 2008 12:30 PM:

Are you asking or telling, Peter? :-)

# Peter Gibbons on 23 Nov 2008 6:03 PM:

Telling that it's in the 6801 Build and hoping it stays.

Having the charnames in the IME Pad tooltips or details list would be nice and also suggestion/autoselection of fonts that support a given character.

brighthopes on 23 Dec 2009 1:59 AM:

Wow, i'm so elated my feature is restored. Thank you so much. Now i don't have to make my eyes water staring through character lists.!!!

Crowbar on 25 May 2012 8:29 PM:

Thank you very much!!!

This is a good site!!

Please consider a donation to keep this archive running, maintained and free of advertising.
Donate €20 or more to receive an offline copy of the whole archive including all images.

referenced by

2008/06/26 Using one Unicode input method at a time (Using the Unicode IME on XP)

2008/06/21 Back to Sri Lanka (conceptually)

2008/01/21 Behold the Table Driven Text Service, Part 0 (You have to start somewhere!)

2007/10/22 We weren't Vista heroes, but I think we were kinda heroic

2006/09/17 And we are the knights who say நீ (NII)

2006/09/14 Why doesn't MSKLC have a numeric keypad?

2006/08/18 Creation of transliterating input methods

2006/07/27 The Cantonese IME (not for input of characters from Canton, Ohio)

2006/07/22 Behind the return of the Unicode IME

go to newer or older post, or back to index or month or day