The Old New Thing

Fiddling with the fonts, part 2: Keeping the English font small

We concluded last time that we wanted the custom large font to apply only to the columns containing Chinese characters and leave the original font in place for the English columns. We do this by carrying two fonts around, choosing the appropriate one for each column. class RootWindow : public Window { ... private: HWND m_hwndLV; HWND ...

Fiddling with the fonts, part 1: Making the Chinese characters larger

Let's pay a quick visit to our continuing dictionary project. One of the things you may have noticed is that the Chinese characters are unreadably small. Let's fix that by making them larger. class RootWindow : public Window { public: virtual LPCTSTR ClassName() { return TEXT("Scratch"); } static RootWindow *Create(); RootWindow(); ~...

Typo patrol at the PDC

You can find the following typographical errors in the Big Room at the PDC: If you can locate all three of them and catch me at the PDC (say at the Fundamentals Lounge or at the Ask the Experts table), I'll award you a prize of um (rummaging through my bag) how about a retractable network cable? (Or an autographed business card? But then ...

The double-Ctrl+Alt+Del feature is really a kludge

Most people who care about such things know that you can press Ctrl+Alt+Del twice from the Welcome screen and sometimes you will get a classic logon dialog. (Note: "Sometimes". It works only if the last operation was a restart or log-off, for complicated reasons that are irrelevant to this discussion.) The ability to do the double-Ctrl+Alt+...

Sorry I missed you all this morning

Sorry to all you PDCers who stopped by the Fundamentals Lounge to see me. The scheduling software that the PDC organizers cooked up is, um, "suboptimal" and listed me for Tuesday 11.30a–2.30p instead of 2.30p–5.30p. During the early afternoon shift, I was actually in the Hands-On Lab. But I'll be in the Lounge on Thursday after my ...

Why is there no all-encompassing superset version of Windows?

Sometimes, I am asked why there is no single version of Windows that contains everything. Instead, as you move up the ladder, say, from Windows XP Professional to Windows Server 2003, you gain server features and lose workstation features. Why lose features when you add others? Because it turns out no actual customer wants to keep ...

Annoying renditions of the songs of Elvis

Jim Nayder of The Annoying Music Show pops by NPR studios every so often—hey, guys, if you changed the locks, this might stop him—whereupon he tortures the general public with musical offenses that should be outlawed by the Geneva Conventions. Most recently, he offered a series of reinterpretations of the works of Elvis Presley. ...

Richard E. Grant as Dr. Who

While waiting for the Ninth and Tenth Doctors to reach the States, I was tipped off to some animated Dr. Who episodes on the BBC web site. These are really well done and managed to slake my Doctor cravings for a little while longer. In particular, Richard E. Grant's second turn as the somewhat Earth-obsessed Time Lord in Scream...

Understanding the consequences of WAIT_ABANDONED

One of the important distinctions between mutexes and the other synchronization objects is that mutexes have owners. If the thread that owns a mutex exits without releasing the mutex, the mutex is automatically released on the thread's behalf. But if this happens, you're in big trouble. One thing many people gloss over is the ...