For HKSCS, Vista ≫ 2004, and 2004 ≫ 2001

by Michael S. Kaplan, published on 2007/01/19 06:01 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/01/19/1492539.aspx


Back in May of 2005 when I posted More on 'repertoire fences', I tried to describe how code pages were becoming less important for their own sake but more important to help define what was considered important in different parts of the world.

I was reminded of this the other day when someone was asking about trying to use characters from the 2001 version of the Hong Kong Supplemental Character Set from a VB6 application, and they were finding some characters were not being displayed properly.

The package they were referring to was up at this site, which to be honest I don't care for too much since

  1. the package is for a six year old version of the standard;
  2. although it is an official Microsoft site it links to an IP address site with a ZIP file for its package;
  3. the version of HKSCS from back then was heavily invested in the Private Use Area of Unicode, and everyone knows how much I hate that.

Luckily, there is a version of the package that addresses all of these points first released in October of 2005, which is described at Microsoft Character Code Conversion Routines for HKSCS-2004 and has a link to the download center and everything. Much cooler, I think.

Now note that this is not going to magically make the VB6 case work since without a lot of special help, VB6 is not going to support Unicode, and there is a nice big chunk of HKSCS that is outside of code page 950; some of it is even outside of the BMP in Unicode. These things can work in VB6 (I even wrote a book to help that work) but it isn't easy to do, the book is out of print, and it is simply better to upgrade and get these things working by default.

But HKSCS as a standard does help define the preferred characters for fonts in the area, and the package does include a font.

There are other issues that make the newer package work better than the older one, like the fact that you need to have a Taiwan system locale rather than a Hong Kong one to avoid random things not working. In every way the updated package is an improved experience.

Though to be honest the work that was done in Vista can blow both of them away given how much better the font support was able to be integrated, something that is much easier to do when you are not trying to provide a patch after the fact....

(There are some interesting linguistic issues wrapped up in this as well that I will cover in anther post soon!)

 

This post brought to you by  (U+226b, a.k.a. MUCH GREATER-THAN)


# Maurits [MSFT] on 19 Jan 2007 4:57 PM:

Cool, a "much greater than" code point... I thought that was U+00BB when I first saw it.

# Justin Burtch on 19 Jan 2007 8:09 PM:

Outlook 2007 doesn't like U+226b completely. Looks good in the mail folder view, looks good in the body of the email, doesn't look good in the email subject of the email view. I didn't know where to give the product team this feedback.

# Michael S. Kaplan on 19 Jan 2007 8:41 PM:

Hi Justin!

Unicode PST/store? Or the older format? what form dpes the not looking good take?

# Justin Burtch on 19 Jan 2007 9:23 PM:

I believe I created it as a Unicode pst file (did not specify Outlook 97-2003 pst). The character in the subject is a box with a question mark in it. I will send you a screen shot for more info.

Yuhong Bao on 15 Oct 2010 10:31 PM:

Why wasn't ANSI support for HKSCS incorporated into the later HKSCS support packages and in Vista? I am not saying using cp951 that uses Unicode PUA as-is, but modifying it to map to the characters later officially defined in Unicode and using that.

Michael S. Kaplan on 17 Oct 2010 8:20 AM:

Because we aren't doing any more ACPs.

Yuhong Bao on 17 Oct 2010 2:24 PM:

And I just read the official code points for these characters that used to map to Unicode PUA are beyond the BMP, like Shift_JIS-2004.


referenced by

2007/09/27 Don't look directly at the 951 code page if you can avoid it

2007/06/03 The trouble with HKSCS, for me

2007/02/24 Using a character proposal for a 'repertoire fence' extension

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