Welcome to MSDN Blogs Sign in | Join | Help

February 2005 - Posts

WARNING: No technical content, though I am technically a little pissed A few months ago, I was in my scooter riding some my recyclables over to the large bins in my apartment complex. It is easy to scoot right over there, recyclables in the back basket Read More...
The other day in Not all interview questions are created equal I explained why I did not personally care much for the types of questions that Scott Hanselman gave in his post ( What Great .NET Developers Ought To Know (More .NET Interview Questions) ). Read More...
Someone just asked me this question in mail, and he is not the first to ask, either. The whole idea behind the question is an open disbelief that I can maintain the pace of at least one technical post each day that I floated back when I first said Welcome Read More...
The other day I posted about the Microsoft Win32 to Microsoft .NET Framework API Map and commented that there were some mistakes in the NLS functions there. Here is a quick list of things I would change (I will send the link as feedback, too). The key Read More...
The title of this post is a slightly sanitized version of an actual email title I received, from a developer named Nancy who says she has been a faithful reader of this blog since it started. She noticed that usually passing it has no effect, but it occasionally Read More...
TrueType fonts under Win32 support multiple names, stored as resources inside the font file. This name is then used to identify the font in code. That resource string, like all resources, is read according to the machine's language settings. As anyone Read More...
Looks like I may be speaking at Tech Ed 2005 in Orlando, FL. They have not contacted me yet about travel plans, and I am not willing to say whether its definitely happened until someone has forked out money for a plane ticket. So for now I'll just say Read More...
Let's take a look at Korean for a moment. Korean is encoded two different ways in Unicode. There are the Jamo (the pieces of characters that are used to make Hangul syllables): Hangul Jamo Hangul Compatibility Jamo (present for compatibility with KSC Read More...
The scene is familiar -- you are typing along and suddenly you are not seeing the letters you typed. And suddenly you imagine you are channeling your inner Homer Simpson as you say D'oh, stupid keyboard! But the computer has not been possessed. It may Read More...
Eric Gunnerson has posted a link to a great resource: the Microsoft Win32 to Microsoft .NET Framework API Map . Of course there are a bunch of mistakes in the NLS/MUI stuff (called National language functions on the map). I'll have to talk to some people Read More...
Scott Hanselmen recently posted What Great .NET Developers Ought To Know (More .NET Interview Questions) and has been getting a fair amount of positive coverage for the list. Now I won't say I don't like the list. And I obviously like Scott's blog (its Read More...
Last month, I mentioned about Calendars on Win32 -- Not all there yet and Calendars on Win32 -- just there for show.... and really did not do much more than hint about what was going on in the world of .NET. Well, I have good news and bad news. The good Read More...
WARNING: No technical content whatsoever. I am just in a weird mood right now. If you want technical then wait a bit, I am sure something technical will happen soon enough.... I headed over to Trader Joe's last night. Not to shop, mind you. But to pick Read More...
The March 2005 issue of MSDN Magazine is now online, and it contains an article written by yours truly. The article is entitled Make the .NET World a Friendlier Place with the Many Faces of the CultureInfo Class and attempts to capture many of the possible Read More...
The ShellExecuteEx wrapper in MSLU is a little bit broken. Recently posted to the microsoft.public.platformsdk.mslayerforunicode: The code looks a bit like this: TCHAR filename[MAX_PATH]; TCHAR paramStr[MAX_PATH]; _tcscpy (filename, _T("C:\myapp.exe")); Read More...
Recently in my post ' English only! (or how to misuse NLS APIs) ' I gave an example of misusing locale settings that I hinted at when I talked about ' What is my locale? Well, which locale do you mean? ' I thought it might make sense to give a bit of Read More...
Jason (an SDE/T somewhere in Windows) posed the following question yesterday afternoon: I am writing a script to test localized Windows qfe package INFs. These are stored as ANSI files. I am using a Unicode XML file for storing my comparison strings. Read More...
As Jacqueline (in her blog entitled Jacqueline Mackie Paisley Passey :-)) pointed out earlier today in a post with the same name as this one, if you are one of the (literally) countless throng who read this blog but don't look at the comments, you may Read More...
Well, Jochen Neyens asked: What's the easiest way to remove diacritic marks from characters using C#? I would like to have following function: string RemoveDiacriticMark(string c) Sample use: RemoveDiacriticMark("é") -> "e" RemoveDiacriticMark("ü") Read More...
MSLU covers a lot of territory, considering how small it is -- less than 250k yet it covers over 500 APIs! One of the questions I was often asked was what I thought was the most difficult API to wrap. My answer, without hesitation, was always the same: Read More...
When you change the default system locale (cf: Windows 2000 , Windows XP/Server 2003 ), you have to reboot your machine. "But no, Michael," some say, "if I use the method described in that KB article I am not prompted to reboot!" Well, that is true. And Read More...
On a regular basis, someone asks the question about what is faster here of the three methods of comparing two strings (this is the latest of them, asked just yesterday): I’m trying to find out if the gethashcode() method provided with the framework guarantees Read More...
Sometimes it does not matter how often you say something; people will simply not hear what you are saying, process it, or learn a darn thing from it. One such time is when they are dead . Clearly if someone has passed on, they are not going to be of much Read More...
Today, I am going to talk about language groups. They are a little confusing.... First we will take their names, straight from our master NLS header file, winnls.h (taken from the one that ships with VS.NET 2003): // // Language Group ID Values. // #define Read More...
The other day, in If the shoe [best-]fits.... I talked about best fit mappings in Windows code pages. I thought it might be fun to try to unravel them a bit to see what wa in there. Note that these were all found using code that anyone can write -- just Read More...
I think it went very well, though it was slightly under-attended due to Valentine's Day (though maybe I am just not a draw like I used to be -- people may be getting wise to my presentation style!). As a bonus, both Brian Grunkmeyer (BCL dev) and Kit George (BCL PM), who post on the BCLTeam's WebLog) were there. They showed up at the very beginning of the meeting before the presentation and were talking with people who were at the meeting, asking them questions about how they use... Read More...
From J. Michael Palmero IV: .NET - A Love Story . With the funniest feedback coming from Simon Allardice . Hilarious! Read More...
The Unicode List is up to its old fun and games again (well, actually its the participants, not the list itself), and this time it is not about the Unicode BOM. I talked a little about this problem when I was saying International Domain Names? The sign Read More...
Like I first mentioned last month, that Speaking Engagement.NET , talking about the new globalization features in .NET's Whidbey release, is happening tonight . Its in Redmond and if you are around and want to know about this stuff then be there! Details Read More...
When you call the WideCharToMultiByte API with almost all code pages 1 the number of possible characters that can be represented on the target code page is always going to be smaller than what Unicode can represent. When this happens, there are one of Read More...
On the Unicode List, in talking about these two characters, John Cowan said: They look weird. The U+02EB (yang) one looks like reversed or turned 33, and the U+02EA (yin) one like turned 55 or reversed 11, none of which makes much sense. I wonder if the Read More...
A question that I used to be asked all the time (and even to this day am still asked on a regular basis) is Why did Microsoft create MSLU ? I'll see if I can shed some light on this today. (Sometimes people ask less charitable versions of the question, Read More...
If you look at the description of the Ordinal sort in the CompareOptions enumeration in the .NET Framework, it seems pretty clear: Indicates that the string comparison must be done using the Unicode values of each character, which is a fast comparison Read More...
Not too long ago, I posted (in Lions and tigers and bears ELKs, Oh my! ) about ELKs. And about how I would talk more about what is involved in "getting out of the way". This is another post on that theme... Review of our story so far: In Fall 2004, Cathy Read More...
In prior posts I had talked about shortcuts and accelerators , and especially the difficulties involved with the possible changes that will occur with them as keyboard layouts change, etc. Well, tonight I was looking at Nadine Kano's book Developing International Read More...
A very common question that comes up has much to do with the meaning of the suffixes in UTF-16LE and UTF-16BE. It all comes back to the way processors work. When you look at a byte (like 0x41) it is easy to say you know what it is. But when looking at Read More...
One thing people may notice right away when dealing with the command console is that the default ANSI code page (ACP) does not match the OEM code page (OEMCP) for most locales. It all goes back to DOS (as many things do!).... When there was DOS, the code Read More...
Take a look at the following code, let me know what you think of it (compiled with Whidbey Beta 2, note the preview of the exciting new StringInfo methods for dealing with text elements!): namespace àáâãäå { using System; using System.Text; using System.Globalization; Read More...
Every time I read this one I had to laugh: http://wesnerm.blogs.com/net_undocumented/2005/02/windows_reveale.html Of course a lot of my code looks like if(<some condition>) { // Do something } so I guess most of my code was not revealed here. Must Read More...
Earlier today I explored the question Can I get my characters into Unicode? but Ivan Petrov's question was also asking about what could be done about code page 1251 , which also was missing these 20 cyrillic characters. Unfortunately, there is nothing Read More...
The other day, Ivan Petrov pointed out: ...maybe the BIGGEST one, is about the absence of many of the Cyrillic vowel letters with graves in Unicode, respectively in ANSI 1251 Codepage. There are defined only 2+2=4 (CAPITAL and SMALL letters with graves Read More...
(if you do not care about the music I listen to, you should probably skip this post!) I am home tonight, having consciously deciding to not go out since I went out last night and I have to get on a plane tomorrow. It is best to save up my energy. Anyway, Read More...
This post is about a not entirely intuitive fact that will be seen in the implementation of collation in Microsoft products. It affects the results of both CompareString and LCMapString in Windows, the results of using the CompareInfo and Sortkey classes Read More...
(originally posted elsewhere back in March of 2002) If you are using the Microsoft Layer for Unicode on Windows 95/98/Me Systems (MSLU) in a project that uses ATL or WTL, there are some things you need to do to make it work. 1) Avoid the _ATL_MIN_CRT Read More...
(Matt, never believe I don't hear you when you are saying things. This one is for you!) Inside of Microsoft, there is a huge database of location data. That database is used to support products like MapPoint, Passport, Windows, and others with important Read More...
Remember my conversation about What is my locale? Well, which locale do you mean? And the part where I talked about how people tended to misuse the locales? There is a new beta available for the MSN Toolbar suite, up at http://beta.toolbar.msn.com (though Read More...
Unleash the Power of OneNote This is the title of a book that I just got sent, by FedEx. It took me a minute to understand why, though -- I did not remember ordering it, and it has been many years since I have had enough alcohol to spend money without Read More...
Yesterday, I said that CompareString prefers meaningful strings , and that while (the rare) inconsistencies are always bugs that we have to prioritize such bugs based on whether or not the data is actually valid/meaningful. Many people stopped and wondered Read More...
It is all public now.... Read all about it, from two papers in Sri Lanka: The Daily Mirror (28 Jan 2005): Microsoft partners Govt. for technology support for tsunami recovery effort (pay site) The Daily News (29 Jan 2005): Microsoft Develops Sinhala Software Read More...
Another reason why international test is not for amateurs.... Like they say at despair.com : " When you earnestly believe you can compensate for a lack of skill by doubling your efforts, there's no end to what you can't do ." It does not tend to be a Read More...
Not too long ago (well, I have not been doing this very long!) I talked about shortcuts and accelerators . Let's take that information 'round the dancefloor for a bit.... Mark T. posted in the newsgroups recently: lets assume that we are speaking about Read More...
A few years back (some time before Windows XP shipped) when we located in were in Building 9 and much smaller than we are now, someone else in the building was having a problem. Our kind of problem. An international problem. I don't remember what it was Read More...
A little over a week ago, when I was mentioning that In Tamil -- sometimes, they are digits; other times, just numbers , Scott Hanselman suggested "That would ROCK if you would do Ethiopic sometime." Well, rock on Scott -- today is the day. For the record Read More...
 
Page view tracker