WPF不呈现Windows OpenType字体名称
我无法弄清楚如何确定如何在
WPF(.NET 4.5 / VS2012 /
Windows 8)中正确呈现特定的OpenType字体.我的计算机上安装了一个名为“DINPro-BlackItalic”的字体.
文件名是:DINPro-BlackItalic.otf Windows报告的字体名称是:DINPro-BlackItalic 在WPF中,我做了一些简单的事情,比如: <TextBlock Text="This is a sample sentence in DINPro-BlackItalic" FontFamily="DinPro-BlackItalic" FontSize="24" /> 或者FontFamily =“#DinPro-BlackItalic” 这不起作用(显然不是斜体),它会回退到默认字体.我已经尝试了很多其他变种,它们对字体目录中的其他字体有效. 例如,Comic Sans的作品:FontFamily =“Comic Sans MS”(真棒……) 现在,这就是为什么我真的很困惑:如果我只是猜测以不同的方式来标点字体名称,它就会正确呈现! 这适用:FontFamily =“Din Pro Black Italic” 总之,这是WPF中不同FontFamily设置的屏幕截图: 两个问题: 1)我该如何猜测正确的方法告诉WPF渲染这种字体?它必须具有在某处注册的规范名称,但在文件名,文件属性或Windows解析文件后报告的字体名称中不可见. 2)更糟糕的是,如果我试图在桌面应用程序和Web上渲染相同的字体,Windows上的Chrome甚至IE浏览器都需要“DINPro-BlackItalic”,并且不会渲染名称的间隔版本.似乎WPF和Windows浏览器就哪些字体名称用于索引字体做出相互排斥的决定.我如何处理任意字体?
您可以使用Application打包字体,也可以从项目目录中引用它.
假设您将字体放在项目中的字体目录中. 您可以添加如下, <TextBlock FontFamily=”/Fonts/DINPro-BlackItalic.otf#DinPro-BlackItalic”/> 因此,您可以确保使用应用程序部署字体. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- window 10 Microsoft Edge 无法使用开发者模式【F12】
- Windows Server 2016-Win Ser 2016新增功能
- windows – 如何在Powershell中转义反斜杠
- windows-xp – 脚本关闭一台带有gpo的计算机
- 调试工具DEBUG的使用(8086)
- Windows下Apache + PHP SESSION丢失的解决过程全纪录
- windows10安装.net framework3.5
- windows-phone-7 – WP7 – 确定文化是英制的还是公制的
- 哪个是Windows并发tcp / ip连接的最大数量?
- windows远程桌面函数无效和RDS报错的典型案例分析