How do I browse fonts as files in Windows Explorer

19,917

Solution 1

In Windows Explorer navigate to the fonts folder using UNC convention: \\computer-name\c$\Windows\Fonts (also see Can't remove certain fonts in Windows 7)

Solution 2

I wanted to suggest an alternate fix. The UNC trick above works great, but annoyingly it won't let you use a popular tool for dealing with un-deletable files, Unlocker. (you can still run unlocker on a font file via the command prompt, but it's tedious)

A solution I found is to create a desktop.ini to put into your font folder, which forces it to behave like a normal folder.

  1. Make a new text document, call it desktop.txt or whatever.
  2. Copy and paste this to the text file:
    [.ShellClassInfo]
    [ViewState]
    Mode=
    Vid=
    FolderType=Generic
  3. Save, close, and rename it to desktop.ini, then move that file C:\windows\fonts. You may be prompted to overwrite. Say yes, unless you want to first make a backup of the old desktop.ini.
  4. Close and re-open the windows font folder, and it should have a normal folder view. And you can right click and choose Unlocker, and it will run without issues.

Also, it may be helpful to understand that Windows tracks whether fonts are installed or not via a specific registry key.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

If the registry has entries for fonts that don't exist, you'll get problems. If it has an entry, but the entry points to the wrong file, you'll get problems. And finally, if you have a font in your font folder, but it doesn't exist in that registry list... you'll get problems. So try to straighten out that registry list, which is pretty self explanatory if you're comfortable with the registry.

The key has a bunch of string values, one for every font (and variant) you have installed. So for example the entry for Agency Bold is a string value that says
Agency FB Bold (TrueType)

And the data it contains is the filename of that font, AGENCYB_0.TTF. Make sure that filename is correct.

And by the way, that _0 at the end of the filename means that at some point, you tried to copy the font (or install it) to the windows font folder, and a copy was already there... windows won't overwrite the older font, it will put in a second copy with a new name ending in _0, and then _1, _2, etc. You might have several copies of old fonts that gave you problems in the fast, and if you're careful you can clean these up and fix their registry entries.

Solution 3

The specialized display of the Fonts folder is causeed by the settings in its desktop.ini file. The simplest way to turn this off is:

  1. Open PowerShell as Administrator (WinKey+X > Windows PowerShell (Admin))
  2. Navigate to the Fonts folder.
  3. Execute the following command: rename-item desktop.ini desktop.sav

That's it! Reverse the rename to restore normal behavior.

Share:
19,917

Related videos on Youtube

Christian Davén
Author by

Christian Davén

Multi-lingual programmer with a weakness for Internet, business, usability and analytics. Has worked mostly with PHP, Javascript, Python, APL, Java, Delphi, C++ and BASIC. Will try new languages or paradigms for the fun of it.

Updated on September 17, 2022

Comments

  • Christian Davén
    Christian Davén over 1 year

    How can I browse the C:\Windows\Fonts directory as regular files instead of fonts in the Windows 7 Explorer?

    I need to access the Security tab in Properties, since the fonts have bad privileges after restoring a backup from another computer.

    Edit: I can open the Properties dialog by right-clicking a single font (not a font family), but the files that cannot be opened due to the bad privileges, don't even show up in the font list.

  • Christian Davén
    Christian Davén about 13 years
    Clever! In order to change security settings, though, I had to first share the drive explicitly with full privileges to the Administrator user (or any other user, I suppose).
  • user1696603
    user1696603 about 11 years
    that's curious, I've not encountered that. In any case, on Win7 sometimes using ip address (\\192.168.1.123\c$\...) instead of \\localhost or \\computer-name can cure some network access or share issues.