About the Fonts folder in Windows, Part 5 (Nothing personal!)

by Michael S. Kaplan, published on 2008/10/09 10:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/10/09/8992849.aspx

A series is never so dead that it can't be revived for another run!

Previous blogs in the series:

And why was this series taken out of mothballs?

Well, the other day Crister asked via the Contact link (and not via the Suggestion Box):

Hi !
I have a problem finding the font-folder on win2003 server running in terminal-server mode. SHGetSpecialFolderPath(...,CSIDL_FONTS) should return the font-folder. The problem under terminal-server is that it will return the current users font folder and not the systems font folder...
What is the corrrect way of finding the system font folder?


Now at first I was confused since (to the dismay of some and the relief of others) there is no "per-user" Fonts folder.

Which is not to say that my "official" recommendations from the whole On installing and removing fonts series didn't suggest the power of not being all global and system-wide with your fonts, it is just that Windows doesn't have the notion built-in. Some assembly is required.

And yes, many people have asked me why Microsoft hasn't tried to mix it up here yet.

No idea really, other than of course the long-standing fact that the Fonts folder has not been owned by the Typography Group in any version of Windows that as ever shipped in Windows, which of course makes it harder to control the destiny/direction of the architecture.

Though as a group they do have other cool things they own, like being able to help fill that folder up each version with fonts that support so many languages. :-)

Wait, we1 were talking about something....

Oh yeah, Terminal services.

If ever the thought of a user Fonts folder made sense it would be this scenario, given how much wider than a singles session things happen in TS and embedded within a session operations related to the the Fonts folder tends to be.

But as far as I know, that gap has not been bridged.

Now I am not going to praise Apple for jumping in here and providing something, because to my conservative (some would say narrow) mindset the only thing worse than a raw implementation (ours) is a half-baked one where you have no good management story (theirs) But they get some points for trying, just like Office does (their half baked solutions e.g. calendars and time zones and address formats irk my sense of avoiding chaos too, for what it's worth!).

So for now, CSIDL_FONTS does not have a "common" brother like many of the other folders have for SHGetSpecialFolderPath. Thus shlobj.h has a

#define CSIDL_FONTS                     0x0014        // windows\fonts

but nothing like there is for others in the TS scenario such as

#define CSIDL_STARTUP                   0x0007        // Start Menu\Programs\Startup
#define CSIDL_COMMON_STARTUP            0x0018        // All Users\Startup

and there isn't a secret, private way to get this either...


1 - The royal2 we, by which I mean I.
2 - As opposed to the medical we, by which I mean you.


This blog brought to you by(U+0998, aka BENGALI LETTER GHA)

no comments

Please consider a donation to keep this archive running, maintained and free of advertising.
Donate €20 or more to receive an offline copy of the whole archive including all images.

go to newer or older post, or back to index or month or day