WPF application not picking up Segoe UI Symbol fon

2019-07-23 03:27发布

问题:

I have a WPF application, running on 64-bit Windows 7, wherein I am using Segoe UI Symbol font. It works perfectly fine on my box, but the font doesn't show up on a similar dev box (64-bit Windows 7).

I verified, the problem box has this font installed on it.

Could anyone kindly guide me what could be the cause of this behaviour?

Thanks,

RDV

回答1:

Thanks Blam & HighCore for your inputs.

I figured out that Windows 7 has Segoe UI Symbol Regular font of version 5.0. WPF applications require min version 5.01 of this font.

Thanks, RDV



回答2:

I had the same problem and finally found a way to use the newer version of "Segoe UI Symbol" even when older version is installed (i.e. on Windows 7). The idea is to create a copy of the font file with a different name. This approach works also in ClickOnce installation and requires no bootstrapping.

It is posted on this link: Embedded Font in WPF not working



回答3:

I found another legal :-) way - (just have to figure out doing it via ClickOnce or Windows MSI installer) to install a newer version of a given font.

There are two solutions:

  1. Delete the older font version via registry and then install the newer version- manually or via msi installer. More information on deleting the font via registry can be found here: http://www.wikihow.com/Delete-Protected-System-Fonts-in-Windows-7

    Pros: All can be done via scripts/installer.

    Cons: Messing with Registry keys.

  2. Another option is to provide full privilege to the currently logged in user (pay attention- logged in user may not be the administrator on the box) on the said font and then delete the font. Install the newer Font version - manually or via installer. More information on providing privilege can be found here: http://www.sevenforums.com/general-discussion/39842-protected-system-fonts.html

    Pros: Cleaner way for doing things manually.

    Cons: Do not know how to provide privilege via script/installer.

Thanks,

RDV



回答4:

Segoe UI Symbol is NOT installed by default on Windows 7. You need to either

1 - Embed the font in your application

or

2 - Manually deploy to all target machines