Welcome to MSDN Blogs Sign in | Join | Help

December 2004 - Posts

The title for this post actually comes from the SortKey help topic: Each character in a string is given several categories of sort weights, including script, alphabetic, case, and diacritic weights. A sort key serves as the repository of these weights Read More...
A few months ago, I was talking with a customer who simply could not understand the sorting results she was seeing (in this case in a table in MS Word 2003). She distilled it down to a small repro; basically she took a small list of words: word meaning Read More...
I have been noticing more and more web sites lately that contain an interesting type of ad. Have you seen any of the following? Shoot the bug and get a free iPod! Which one is Snoop-Dogg? Answer for a chance at a free Sidekick! Shoot the tank and get Read More...
A Sort key is basically an array of bytes. The intention of the sort key is to make for faster comparisons of strings, so that if you compare the sort key values for two strings you will get the same results as comparing the strings themselves. They abstract Read More...
There is a great deal of confusion surrounding the meaning of these two different things in the .NET Framework, and when to use each. If you have suffered, are suffering, or think may suffer in the future from such a confusion, then read on! (Otherwise, Read More...
My New Year's Resolutions for 2005: I resolve to stay unresolved; I promise to not be too promising; I swear to not stop swearing; I will focus on feeling unfocused; I agree to be disagreeable; I give my word to have words with people; I maintain that Read More...
I am going to take these two questions out of order because (a) locales existed before cultures did, (b) neutral locales set the stage for neutral cultures, and (c) I think it may help us look less lame. Though that third reason is probably just naive Read More...
The quote in the title is an allusion to a quote from the Simpsons. Now the ANY key quote is not my favorite quote from Homer J. Simpson (actually, this is), but its in the top five. And it popped into my head as I prepared to talk about the AltGR key, Read More...
I have a box of candy in my office, and the two methods that seem most effective in keeping me between 161 and 165 pounds are to (a) try to fill the candy box with candy I do not like but other people do, and (b) not spend too much time at work and instead Read More...
(From the Suggestion Box ) When people start looking at East Asian languages, they notice that most of the regions have a sort based on pronunciation: Korea has a sort based on the Hangul pronunciation of the Hangul and Hanja codepoints, Taiwan has one Read More...
People often when looking at wingdi.h notice the following constant definitions, somewhere around line 1292: #define HANGEUL_CHARSET 129 #define HANGUL_CHARSET 129 and they wonder -- which is the right one? People usually assume that one if the older Read More...
Now as those who know me personally will attest I am not a linguist. But I often cannot help but act as if I know something about it. Yet you can tell I am not a linguist (or someone who ever got better than a B+ in grammar!) as I am about to go out on Read More...
This post is one of a series that I will be putting up over the next few weeks about international and non-international issues surrounding keyboards, MSKLC , and accessibility. Through them I will deal with issues important to developers in their application, Read More...
The West Wing episode that was on last night was actually a rerun of last year's "Christmas" episode, entitled Abu el Banat . I have actually gotten a few emails to both accounts and several people clicking on the Contact link on this page asking about Read More...
This post will be one of a series that I will be putting up over the next few weeks about international and non-international issues surrounding keyboards, MSKLC , and accessibility. Through them I will deal with issues important to developers in their Read More...
Jonathan Wilson suggested as a topic that I "Talk about the keyboard layout dlls (kbd*.dll), how they relate to MSKLC " and so I figured that might be a nice thing to spend a cycle or two on. Not just because its an interesting question, but also that Read More...
A little over two years ago, Microsoft Access had its tenth anniversary . As a part of that celebration, they asked people who have been involved in Access both inside and outside of Microsoft to come in and talk about some of their experiences, and they Read More...
Anthony Moore , a development lead on the BCL (Base Class Libraries) team of the .NET Framework, has written an excellent summary of many of the issues involved with the parsing and formatting of dates when you add time zones to the mix. The article also Read More...
Yes, I said it. IMEs ( I nput M ethod E ditors) have it easy. And I will say that even though I have only ever built them myself from the samples in the Platform SDK or the ones already in Windows. Even though I have only ever really worked at building Read More...
I was contacted by nik john, who asked me: i'm a PhD student at the hebrew university in jerusalem. i'm working on social aspects of the internet in israel. right now i'm interested in the development of hebrew for the internet. i read your articles about Read More...
If anyone ever looked at the Win32 API and tried to claim that the functions were implemented consistently, then odds are they are clinically insane. If you know what I mean. So thats not what I am thinking about. I am thinking about the little consistencies Read More...
Someone actually sent me email about this very topic. They looked at the list of blogs I have down under the "Blogs I Read" category and scratched their head at how random it appeared to be. He did at least have the grace to point out he had too much Read More...
Collation fascinates me. It has fascinated me for most of the last eight years, since the first time I saw Appendix D of the first edition of Developing International Software for Windows 95 and Window NT . Like most people, I knew that some languages Read More...
The dead key mechanism in keyboard layouts is rooted in European typewriters. One would type the accent character and the typewriter's head would not advance, then one would type the base character and it would. The term dead key refers to the fact that Read More...
Time to take a look at two very important datatypes, the LCID (locale identifier) and the HKL (the handle to an input method). They have several things in common, and more importantly several crucial differences. I'll let you decide which one is better.... Read More...
I have been dealing with MS, this 800-pound gorilla, for over a decade. It started as a casual thing and it stayed with me like a virus. It insidiously became a bigger and bigger part of my life. Then, a few years ago, I got a purple badge and it became Read More...
A few days ago, I pointed out that machine translation is not easy . I still believe in a lot of what I said there, but it turns out that I may have (unintentionally) palmed a card there. I think it may be worth exploring that exploring the issue a bit. Read More...
Although I got no public comments about it , seven different people contacted me privately (by email or via the "Contact" link) asking me what was the answer to Andrea's question about the Japanese (Unicode) sort . (I'm not sure why no one asked in the Read More...
I had this conversation a little over two years ago in the Netherlands on the end of the last day at a conference. It may not be word for word, though I actually think it comes pretty close (its not like I had a tape recorder). The cookies were Pepperidge Read More...
Now that I am two months and 21 posts into this blog, I guess it may be time to explain why I am doing this, comments from colleagues nonwithstanding. :-) Sometimes I have felt like I was answering the same question over and over again, whether internally Read More...
I was saying it before I started working on the team at Microsoft that owns it. I said it when I owned the UI myself. And I still say it today: Regional Options is not intuitive UI. The literal-minded, anal-retentive freaks like to correct me; they point Read More...
Let me start by saying I think ATL is cool. It kicks ass, it takes names. But even the most incredible technology can do things that do not achieve brilliance 100% of the time.... This bit of code had been buried in ATL for a long time (the part I am Read More...
A few days ago, I joked about BIOS.NET . It was a joke. Truly. A few minutes ago, I found the following link to .NET CPU . Its getting weirder around here all the time. :-) Read More...
The LCMapString API is the ultimate Win32 API that does casing. All of those functions in USER32 ( CharUpper , CharLower , CharUpperBuff , and CharLowerBuff ) are wrappers around calls to LCMapString with the LCMAP_UPPERCASE and LCMAP_LOWERCASE flags. Read More...
Earlier today, I got a question from someone who is a reader of Jeppe's Weblog , asking is there a method or API or resource can be used to get all of the letters in a language? There is usually a very good reason to be asking it -- someone might be trying Read More...
I get this question all of the time -- of course usually the language is stronger. An LCID is a locale identifier. Its a number that gets slapped onto each locale that Windows supports. That number represents a unique collection of data associated with Read More...
Old joke, updated for Windows XP: Q -- Where is the locale? A -- Its invariant. Q -- Where is variant? A -- Its ten miles south of communicado, and five miles east of Cognito. The invariant locale is pretty weird. Lets take a look at its interesting chracteristics. Read More...
In my office, there is a candy box. Don't worry, I am going somewhere with this.... I fill it with candy of all different sorts, and I usually have a very simple rule, one that keeps me from gaining weight -- I fill it with candy I do not like . Most Read More...
An anonymous person was posting about my suggestion yesterday that maybe a GetKeyboardLayoutNameEx API should be added to extend the existing GetKeyboardLayoutName , and they suggested: Ahh the beauty of overloading or versioning, why bother with flat Read More...
I hinted at some of the problems with the HKL concept in my list of keyboarding terms . But I do have several ex-girlfriends who have in common the fact that they all think I suck at the subtle thing and should stop trying to do it. So here follows the Read More...
The title is right -- machine translation is not easy. There are a lot of reasons for this, some of which you may already know.... There is the obvious problem -- how do you make a machine understand language? Most of us cannot really even describe it Read More...
I think the Turkish folks have it right. After all, say that we had all of the following characters in English: I U+0049 LATIN CAPITAL LETTER I i U+0069 LATIN SMALL LETTER I İ U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE ı U+0131 LATIN SMALL LETTER DOTLESS Read More...
"Trying a case the second time is like eating yesterday morning’s oatmeal." -- Lloyd Paul Stryker Of course when Stryker said this, he was referring to legal jurisprudence. But believe it or not, the quote can be just as applicable to alphabetical casing Read More...
Digits have worked on Windows for a while. From the longstanding LCTYPE for GetLocaleInfo and SetLocaleInfo (LOCALE_SNATIVEDIGITS/LOCALE_IDIGITSUBSTITUTION) and its crazy weird support in Regional and Language Options in Windows (both of which support Read More...
 
Page view tracker