Page MenuHome

Fix T61398: Show User Fonts with System (Win32)
Needs ReviewPublic

Authored by Harley Acheson (harley) on Nov 19 2021, 8:41 PM.

Details

Reviewers
None
Group Reviewers
User Interface
Maniphest Tasks
T61398: Blender can not see all fonts
Summary

On Windows platform when viewing system fonts folder, also show fonts
that are only installed for that user.


On Windows most fonts are found in C:\Windows\Fonts. However, viewing this folder from outside Blender shows more fonts than we see in Blender. This is because per-user fonts are stored elsewhere. The operating system is nice enough to automagically combine the System and User lists into one, but Blender only shows the fonts that are actually in the folder.

It used to be that you were given a choice when installing fonts, so you could install for yourself or "all users". If you don't have permissions it could be that "for yourself" is the only option. Then the font is installed in a hard-to-find location: C:\Users\(username)\AppData\Local\Microsoft\Windows\Fonts. With Windows 11 it seems that users are no longer asked, but instead all fonts are treated as per-user.

This patch makes Blender do the same thing as the OS: combining both folders into one. Therefore what you see in Blender matches what you see outside Blender.

Diff Detail

Repository
rB Blender

Event Timeline

Harley Acheson (harley) requested review of this revision.Nov 19 2021, 8:41 PM
Harley Acheson (harley) created this revision.

A bit simpler, a bit clearer.

A bit more cleanup.

Harley Acheson (harley) planned changes to this revision.Nov 23 2021, 3:51 PM

Since writing this have had two people whose complaints would be fixed by this. One mentioned that Windows 11 no longer asks “for you or for all users” now, not confirmed. https://devtalk.blender.org/t/font-detection-a-deal-breaker/21522

For this implementation I mostly just don’t like having to ask the OS for the fonts location for every folder listing. Will need to cache this somewhere.

Harley Acheson (harley) requested review of this revision.Nov 23 2021, 11:09 PM
Harley Acheson (harley) edited the summary of this revision. (Show Details)

Updating to current state of master.

Updated to the current state of master.

Updated to the current state of master.

Updated to the current state of master.

Updated to the current state of master.

Updated to the current state of master.