Fixing a character spacing issue in Windows 7

I’ve noticed this a couple of times: Windows decides to go a bit crazy with it’s UI font. Luckily, this is purely a cosmetic problem.

Symptoms:

  • Title bar text becomes compacted.
  • Text is inconsistently spaced in some areas of the UI. For example, typing “this text is awesome” into the Start Menu search bar shows something along the lines of “th i s t ext is aweso me”.
  • Upon the first few seconds seeing your Desktop at start up, most fonts default to Arial (notably the Date/Time in the notification area). Something kicks in a few seconds later and fixes some of the fonts, but not all of them.

It’s all quite odd. I have no idea what causes this exactly because generally, it occurs after a reboot and I don’t reboot for days on end. The default font for the Winodws UI is Segoe UI. I’m not sure if this problem is font specific as I’ve never used anything other than the default.

I haven’t seen anything critical in the Event Log or noticed any applications failing to work they way they should, but it bugged me enough to figure out how to fix it. I started at Google, which seemed to be of little help due to vague keywords. Generally, you’d find random people complaining about how to fix their character spacing in word processing applications.

I used a few steps to troubleshoot the issue. These commands are run as Administrator. You should probably reboot after each step:

  1. Rebuild the MUI cache: mcbuilder
  2. Rebuild the Font Cache:
    a) Stop the Windows Font Cache Service: net stop FontCache
    b) Delete the Font Cache: del %WINDIR%\system32\FNTCACHE.DAT
    c) Start the Windows Font Cache Service: net start FontCache
  3. If all else fails, check for corrupt system files and fonts:
    a) System File Checker scan: sfc /SCANNOW
    b) Reapply any system file patches (e.g. tcpip.sys, termsrv.dll, uxtheme.dll, MUI watermark removers)
  4. If all else fails (try to avoid this), copy all Fonts from a working machine of Windows 7
    a) Find a machine running the same build of Windows 7 (edition, i.e. Ultimate / Home Premium, does not matter) that does not have this problem
    b) Copy all fonts from the working install to the broken install. Fonts are located in %WINDIR%\Fonts
    c) Repeat steps 1 to 3. This is important as you will rebuild caches with the working font files

That should do the trick. If not, it’s probably time to reformat and reinstall… or live with it.

, ,

My Windows 7 Backup & Restore Experience

After two years of putting up with failed Raptor drives from Western Digital, I have finally convinced them to send me Velociraptor replacements of the same 150GB capacity. My 7th Western Digital gave up 2 weeks ago after reformatting and attempting to install Windows 7. For those that have kept on telling me that I have some sort of power supply problem or that Raptors need a better supply of power, no, that isn’t the case. This same PC has been home to older 36GB Raptors and numerous 7200 RPM drives without a hitch, click, or bump. The 2007-2008 150GB Raptors are just crap. Absolute junk with a short MTBF. There is no excuse for a drive that can’t put out 24/7 use over 6 months.

Anyway, obviously sending both drives back means I need to image my current install and restore it to a spare drive. Usually, I had used an application by Runtime Software called DriveImage XML (free/closed source). The application created an image of the drive using Windows’ Volume Shadow Copy service while Windows was still running. The application worked perfectly on XP x64, but refused to detect the Shadow Copy service on Windows 7 x64. DriveImage XML worked perfectly for my needs. It would create an image, and even a human readable XML file of all meta data for the image. You’d then use Windows PE (or BartPE) to create a boot disk and restore the image. The only drawback was that you needed to restore the image to a drive of the same size or larger, otherwise, you’d need to specifically select the files you wanted restored to a pre-made empty partition. The problem with that was that NTFS permissions would be reset and it seemed that attributes on files, such as SYSTEM (+S) and HIDDEN (+H), would be cleared. Not a huge deal for me, but you’d often restart and see Windows’ Thumbs.db and Desktop.ini meta files all over the place.

So, enter Windows 7. I figured I’d go ahead and check out 7′s revamped Backup and Restore center. At first it looked pretty impressive. It offered to image my whole OS drive as well as add in separate files to the backup. Cool, sort of what I wanted. I went ahead and created my first image and saved it off to my NAS. Took about 4 hours for about 100GB (over GbE). The end result is a weird file structure which is handled nicely by Windows Explorer (in 7 anyway) and a VHD file, the same image format used for hard disks in Microsoft’s Virtual PC.

Now to restore that VHD. You can either chuck in your original Windows 7 install disk or create a repair disk from within Windows. I recommend using your install disk as you have an easy way to create and delete partitions with the setup GUI. I also found that the repair disk seemed to refuse to start if it didn’t find a partition with Windows 7 on it. This meant that when I had pulled my old drives, it became impossible for me to use the repair disk. What the hell? Why should I need my old drive to repair my PC. This instantly sounded alarms to me. I started to doubt the process and I thought that maybe Windows 7 would only allow me to restore the VHD to a drive that was the exact same capacity or something along those lines. The first few times I attempted to restore to another drive, I was told that the restore utility failed due to not being able to find an eligible drive (or something like that) BUT it turns out this message is just incredibly misleading. To fix it, you MUST connect the destination drive to Master Channel/Port 0. This basically means….SATA Port 0 for SATA drives or IDE Port 0…for IDE drives. The drive must also be the highest priority drive in the BIOS’s boot priority list. Once you’ve done this, you can restore the VHD to any hard disk you want.

I, for example, restored my 90GB VHD (which was a 150GB partition) to a 250GB drive. After restoring it, the partition created by the utility was 150GB (and not 250GB). I had to enter Disk Management and resize the partition to max out to 250GB. I have a feeling that the restore utility will fail with a drive smaller than 150GB (but maybe not if you’re lucky, maybe one day I’ll test). If that’s the case, you can always install Virtual PC 2007 and mount the VHD then copy all the files to an empty drive. That’s the long way around and you’ll probably lose NTFS permissions and/or file attributes. Time taken to restore? Just under 45 minutes for the 90GB VHD (again, over GbE). I’m now writing this from my imaged Windows 7 install….on 4 year old 250GB drive (which happens to only lose 0.4 experience points when compared to the Raptor, gg).

Edit: I probably should also mention that the step just before re-imaging seems to select ALL attached drives to be reformatted and repartitioned (at least I’m pretty sure). This made me scratch my head. The option to exclude drives from this is a tad hidden. Even USB Drives (ones that are Removable Drives, not Removable Hard Disks) were even selected for reformatting (I had one attached for networking drivers that I ended up not needing). So…watch out for that.

, , ,

What I Hate About 7

So, I received replaced Raptor from Western Digital on Friday and decided that instead of just restoring my image, I’d start fresh and install Windows 7 Ultimate to a fresh RAID0 array. Installation was partially troublesome. The installation would stall at the “Installing Updates” stage, but I fixed this by installing the ICH10R drivers before starting the install. That’s sorta weird because Windows already detected the drives fine….clearly generic drivers fail. Upon the first restart, I was greeted by “A Disk Read Error Occurred. Press CTRL+ALT+DEL to restart”. Oh joy, I thought. Forcing another reboot I find that the other Raptor in the RAID0 (not the one I just received back from Western Digital) has had a S.M.A.R.T error. Yes, my 6th Raptor died during the Windows 7 install. Anyway, I ripped out the failed drive and continued to install 7 to the working Raptor. Huzzah, it boots.

So, I’ve installed all my junk and messed with it. For the most part, the operating system is great. No doubt the performance is significantly improved from Vista. You can tell by smaller number of processes, RAM usage and CPU usage, as well as the fact that the Desktop Window Manager (DWM) no longer increases in size with number of windows open. Cool. 7 successfully detected all my devices upon first boot, except my Creative X-Fi, which amazingly Creative has working drivers for. Even though everything worked, I went ahead and installed non-generic drivers for everything that I have. Also, huge success.

All my applications work too. I had only one compatibility problem. I did find that .NET Framework 1.0/1.1 does not seem to be included. Did Microsoft end support for this?!  If you ever get an application asking for MFC71.DLL, it means it uses .NET 1.0. I only had one application that needed it and it wasn’t a huge deal for me not to have it. I tried installing .NET Framework 1.0, but it failed with no error. I’m sure this is probably because of some sort of OS check and I’m sure there’s a workaround that I’ll work out later

There’s a ton of new features, specifically, the brand new SUPERBARRRRR (i.e. Taskbar and OSX Dock all-in-one). Just like my iPhone review, I could go over all the new shiny features, but that’s be useless. There’s tons of reviews out there for that. Here’s what bugs me:

White Line – Boot Failure

I have a feeling this is caused by the NVIDIA Windows 7 drivers, but I’m yet to figure out what it is exactly. Sometimes on boot, just as the video drivers are initializing and just before the mouse pointer displays on the screen, Windows will lock up and show a white line (on black background) across the top of the screen. Nothing else, pretty random occurrence. Most of the time it boots fine, but I’ve had this once or twice.

Aero Shake

Who the hell uses this junk? This new feature allows you to shake a window (while in a dragging state) to minimize all other windows. You then shake it again to bring them back up. You’d think the problem with this is that Aero Shake would be too sensitive, randomly minimizing windows when you don’t wish for it to, but it’s quite the opposite. It takes a helluva lot of shaking to get the feature to work, which makes this feature completely and utterly useless. I could probably minimize all my other windows just as fast as trying to get the thing to recognize I’m shaking the window.

Snapping to Compare with Multiple Monitors

Another new feature allows you to drag a window to the side of the monitor for it to take up half the screen and become maximized. For example, you could drag one window to the left and one to the right for a side-by-side comparison. Cool feature, unless you have multiple monitors lined up in a row. This feature refuses to work on the borders of the monitor if you have another monitor next to it. So say you have 2 monitors, you’d think you could drag 1 document to the left on the 1st monitor, 2nd to the right on the 1st then 3rd and 4th to the left and right on the 2nd monitor, but no, you can only drag the 1st document to the far left and the 2nd document to the far right, leaving a giant empty space in the middle. Fail.

Maximize Vertically

Now we’re really turning OSX. If you want to maximize a window and double click on the very top edge of a window it will only maximize vertically, instead of the usual vertically and horizontally. I guess this feature has its uses, but I haven’t come up with one situation where I’d want to maximize only vertically…and the only time I have maximized vertically is by accident.

Superbar Grouping

The new superbar is a cool concept but depending on what you’re doing, it’s very possible that you’re going to take longer to perform your average task. Since items are grouped, you will often find yourself having to click the application’s icon and also clicking the window of the application you want. Two clicks instead of one.

You’ll probably also be irritated by the fact that if you have an application open already, and you go to click it again, it won’t open another instance of the application. Take Firefox for example, if you don’t have Firefox open and you click the Firefox button, Firefox opens (good). If you have one Firefox window open and you click Firefox, Windows activates your currently open Window (bad). If you have two windows open, you will be shown previews of the windows you have open (OKish). So, how do you open a new Window? You have to right-click then select the application’s name. More clicks than it was previously.

Also, due to grouping, how the hell do you know what you have open? When multitasking with multiple Windows Explorer windows, this can be rather annoying as you must look through windows listed via Aero Peek (which makes every other Window invisible upon hover, especially annoying when watching video on another monitor). But the situation where this bugs me most is with Instant Messaging. For example, Windows Live Messenger, the icon will turn orange upon a new notification but I don’t know who this notification is from till I break what I’m doing and move my mouse over to check the Aero Peek previews.

XP Mode

XP mode was introduced for maximum compatibility with Windows 7. It is essentially Windows XP Pro SP3 running in Microsoft’s Virtual PC. It allows you to install applications within the virtual machine then use them within Windows 7. Sort of like Paralells and VMware Unity on OSX. Cool feature, but it basically requires you to boot up the VM,  drag in your application and create shortcuts in the Start Menu. This feature would have been waaaaaaaay cooler if you could simply right click an executable and “Run in XP Mode”. For extra cool points, XP mode should have handled 16-bit executables on x64, so that you could simply double click your old favorite DOS game and launch it in XP mode.

Breadcrumb still fails to recognize the CTRL modifier

What do I mean by this? Well, if you go back to XP, you’d find that holding CTRL and pressing “Up”  would open a new instance of Windows Explorer in that folder. Alas, ever since Vista, the breadcrumb completely ignores this. You’d think that CTRL click on a crumb would open that folder in a new Windows Explorer window, but no. To do so, you must CTRL+N then select the folder you wanted to browse to.

Incompatible Applications, Codec Crazyness.

One application that I did come across as “not working as intended” was Winamp. I love Winamp due to its extensibility, sexy looks, intuitive interface and integration of both audio video in a fairly lightweight package. However, if video is playing and Aero is enabled, Winamp will start using approximately 1 whole core of CPU usage (i.e. 100% on a one core system, 50% 2 core, 25% 4 core). This results in sometimes-choppy video, which is rather irritating. For now, I have to go for a combination of Winamp, for audio, and VLC for video. I’m fairly certain this problem also occurs in Vista, so I don’t expect it to be fixed anytime soon in for 7.

Also, codecs in 7 are a bit weird. For the average user, 7 is great. It includes a ton of default codecs that play most formats out there, but for the graphics-whore these codecs seem to produce a less sharp image on compressed video formats. You can definitely tell the difference between the default and ffdshow. Also, the installation of ffdshow (by the usual codec packs) seems to fail. ffdshow will install, but will not become the default codec until you start messing with settings. I have a feeling this is to do with the default codecs having a high “merit”, which is basically a priority for codecs.

Office 2007 in Windows 7

Technically, Office 2010 is meant to be paired with Windows 7, but it isn’t out yet. Office 2007 for the most part works great, but for some weird reason, I find that pressing TAB on a bullet point, no longer indents to the next bullet point type. Instead, it inserts an actual TAB character, as if you writing a normal paragraph. To get the next “level” of bullet points you must reach up to the ribbon and click Increase/Decrease indent. The same occurs for Shift-Tab. I wonder if this is just me?

, ,