Jump to content

Recommended Posts

Guest DJester
Posted

NOTE: I posted this elsewhere and didn't get a response... thought I'd have better luck posting here.

I have an mpx220, running 3.51

I've been trying to piece together what I can find about adding and changing fonts, but it seems the more I find the more questions I come up with. So, here are a few, maybe someone can help shed some light

I followed these instructions to change the system font:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\Sys temLink

I edited the nina string value to: \Storage\windows\Fonts\Thick.ttf,Thick

Then I ADDED the following key: "FontPath"

-Go to "Microsoft" and add "key" and name it "FontPath"

Leave the "default" alone and add a string value called "FontPath"

EDIT the string value to read: \Storage\windows\Fonts

For the sake of following instructions, I renamed the font Thick.ttf. I could have used the actual name of the font instead of Thick.ttf, but.... I was wondering what this part of the string meant: "\Storage\windows\Fonts\Thick.ttf,Thick". Is that what WM03 recognizes as the name of the font? Or does it use the "nina" key for the name? (for example, when a homescreen designates a font).

Next question: Can you just add a key with the font info, instead of editing the Nina key? I would assume if you could, you could just add another font, and let windows use that for the homescreen when it calls the font. But then, it wouldn't use the font for the menus, outside LCD, etc...so... Can you designate another font as the system font? Maybe this key (or one related?)

HKEY_LOCAL_MACHINE\System\GDI\SysFnt

on MSDN, here are the strings under this key:

"Nm"=font-name

"Ht"=DWORD:height

"It"=DWORD:italics-flag

"Wt"=DWORD:weight

"CS"=DWORD:character-set

I had the font changed, but decided to experiment to see if I can figure out exactly how this works....

Deleted every key except one named Hemihead (the name of the the font I'm using). Value was "\Storage\Windows\Fonts\hemihead.ttf,Hemihead". The real name of the font was longer (with spaces too) but I don't think that matters.. otherwise renaming a font to thick.ttf and using "\thick.ttf,Thick" wouldn't work.

FontPath is set to \Storage\Windows\Fonts

I also went through the registry and changed every reference to "Nina" to "Hemihead" (except FontAlias, which shouldn't affect this). Also changed every reference to "Tahoma" to "Hemihead" as well. Rebooted, still showing the default thin font. Now, I do have a copy of nina.ttf and sunfon.ac3 in the \Storage\Windows\Fonts folder. Moved those fonts out of \Storage\Windows\Fonts and rebooted... showed my new font!

I moved the fonts back into the \Storage\Windows\Fonts folder, rebooted... and it defaulted back to Nina. What do you think I'm doing wrong?

Guest DJester
Posted

Also.... I found something on MSDN that might be a better way of possibly replacing the system font, without going to the extremes I did of modifying and removing other keys. This is supposed to be for win CE but it seems like it could be possible for WM03... any ideas on this before I start messing around again?

There are two ways to replace platform fonts: font name aliasing and font fixing.

If you want to replace a font used on a platform, but still maintain compatibility with applications that use the existing font, use font name aliasing. This technique uses the HKEY_LOCAL_MACHINE\System\Gdi\FontAlias registry key to turn a request for a specified font name into a request for a font with another name. The change affects all sizes and versions of a font.

The following example shows how to change the font from Tahoma to a custom font called MyDisplayFont.

HKEY_LOCAL_MAHINE\SYSTEM\GDI\FontAlias

    "Tahoma"="MyDisplayFont"

Font fixing is similar to font name aliasing, but it applies only to a specific point size of the font. It also applies only to applications with a version number that is less than or equal to the current setting of the version registry key. This registry key specifies which version of an application is affected by font fixing.

Font fixing is commonly used for a device that previously used raster fonts but now uses TrueType fonts. The following example shows how to replace 13-point MS Sans Serif, the raster font, with 9-point Tahoma, the TrueType font.

HKEY_LOCAL_MACHINE\SYSTEM\GDI\V1\FontAlias

    "version"=DWORD:2000c

    "MS Sans Serif:-13"="Tahoma:-9"

This part seems the most promising:

HKEY_LOCAL_MAHINE\SYSTEM\GDI\FontAlias

"Tahoma"="MyDisplayFont"

However... in WM03 on the mpx, there is no FontAlias key directly in HKLM/SYSTEM/GDI. Could that key be added, to possibly just replace Nina with the other font I choose, so no extreme hacks have to be done?

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.