Nie mogę dowiedzieć się, jak określić sposób renderowania konkretnej czcionki OpenType poprawnie w WPF (.NET 4.5/VS2012/Windows 8). Mam zainstalowaną na moim komputerze czcionkę o nazwie "DINPro-BlackItalic".WPF nie renderuje nazwy czcionki Windows OpenType
Nazwa pliku jest: DINPro-BlackItalic.otf
Okna Podaje nazwę czcionki: DINPro-BlackItalic
W WPF, zrobić coś prostego, jak to:
<TextBlock Text="This is a sample sentence in DINPro-BlackItalic"
FontFamily="DinPro-BlackItalic" FontSize="24" />
lub FontFamily="#DinPro-BlackItalic"
To nie działa (wyraźnie nie kursywą) i powraca do domyślnej czcionki. Próbowałem wielu innych odmian, które działają w przypadku innych czcionek w katalogu czcionek.
Na przykład Comic Sans działa: FontFamily="Comic Sans MS"
(niesamowite ...)
Teraz, to dlaczego ja naprawdę mylić: Gdybym tylko domyślać inny sposób podkreślać nazwę czcionki, renderuje prawidłowo!
to działa: FontFamily="Din Pro Black Italic"
Podsumowując, oto zrzut ekranu z różnymi ustawieniami fontFamily w WPF:
Dwa pytania:
1) Jak mam odgadnąć w odpowiedni sposób, aby powiedzieć WPF, aby renderować tę czcionkę? Musi mieć nazwę kanoniczną zarejestrowaną gdzieś, ale nie jest widoczna w nazwie pliku, właściwości pliku lub nazwie czcionki, którą system Windows raportuje po przeanalizowaniu pliku.
2) Co gorsze jest to, że jeśli mam próby uczynienia samej czcionki w aplikacji pulpitu i w sieci, przeglądarkach takich jak Chrome na Windows a nawet IE oczekiwać „DINPro-BlackItalic” i nie uniemożliwiała Rozstawiona wersja nazwy. Wygląda na to, że przeglądarki WPF i Windows składają się na wzajemnie wykluczające się decyzje o tym, której nazwy czcionki użyć do indeksowania czcionek. Jak obejść ten problem w przypadku dowolnych czcionek?