小编chr*_*tel的帖子

WPF不呈现Windows OpenType字体名称

我无法弄清楚如何确定如何在WPF(.NET 4.5/VS2012/Windows 8)中正确呈现特定的OpenType字体.我的计算机上安装了一个名为"DINPro-BlackItalic"的字体.

文件名是:DINPro-BlackItalic.otf

Windows报告的字体名称是:DINPro-BlackItalic

DINPro-BlackItalic的Windows字体预览

在WPF中,我做了一些简单的事情,比如:

<TextBlock Text="This is a sample sentence in DINPro-BlackItalic"
               FontFamily="DinPro-BlackItalic" FontSize="24" />
Run Code Online (Sandbox Code Playgroud)

要么 FontFamily="#DinPro-BlackItalic"

这不起作用(显然不是斜体),它会回退到默认字体.我已经尝试了许多其他变种,它们适用于字体目录中的其他字体.

例如,Comic Sans的作品:( FontFamily="Comic Sans MS"真棒......)

现在,这就是为什么我真的很困惑:如果我只是猜测以不同的方式标点字体名称,它就会正确呈现!

这有效: FontFamily="Din Pro Black Italic"

总之,这是WPF中不同FontFamily设置的屏幕截图: WPF中的几个FontFamily设置

两个问题:

1)我该如何猜测正确的方法告诉WPF渲染这种字体?它必须在某处注册规范名称,但在文件名,文件属性或Windows解析文件后报告的字体名称中不可见.

2)更糟糕的是,如果我试图在桌面应用程序和Web上呈现相同的字体,Windows上的Chrome 甚至IE浏览器都需要 "DINPro-BlackItalic"并且不会呈现名称的间隔版本.似乎WPF和Windows浏览器就哪些字体名称用于索引字体做出相互排斥的决定.我如何处理任意字体?

Chrome和IE中的DINPro字体渲染

wpf fonts render

8
推荐指数
2
解决办法
3834
查看次数

Windows服务无法访问UNC路径

我有一个用Windows Server 2012上运行的C#编写的Windows服务.该服务作为域用户运行,具有本地计算机的权限和对Isilon SAN上共享网络资源的NTFS权限.使用以下格式以此用户身份登录时,我可以在Windows资源管理器中访问共享文件和目录:

\\isilon\path\to\dir\
Run Code Online (Sandbox Code Playgroud)

但是,打电话给

System.IO.Directory.Exists()
Run Code Online (Sandbox Code Playgroud)

总是返回假.起初我以为是这样的:http: //support.microsoft.com/kb/827421 但是,实现变通方法表明你可以使用

System.IO.Directory.GetDirectories()
Run Code Online (Sandbox Code Playgroud)

只是访问目录(不先检查它们是否存在).这只是抛出

System.IO.IOException: An unexpected network error occurred.
Run Code Online (Sandbox Code Playgroud)

在同一网络上的另一台服务器(Windows 2008)上运行时,此相同的服务代码可以正常工作.

真正疯狂的是,如果我重新启动服务器,文件系统调用首先会成功.然后经过一段时间后,或者在从该计算机访问同一文件路径之后,程序化调用将开始失败并且永远不会再次自发成功.重新启动服务器可以在很短的时间内解决问题.

我完全难以接受,因为几乎不需要重新启动Windows服务器实例.我不知道什么可能会影响文件共享权限或可访问性.也许它与Windows Server 2012上SMB 3.0的新实现有关?

编辑:好的,事实证明我并不疯狂.OneFS的版本(在Isilon SAN上运行的FileSystem)与Windows Server 2012没有明确兼容.虽然它声称与SMB兼容.从OneFS版本6.5.5.14更新到6.5.5.20立即修复了问题并且一直稳定.

c# windows service unc

7
推荐指数
0
解决办法
1887
查看次数

标签 统计

c# ×1

fonts ×1

render ×1

service ×1

unc ×1

windows ×1

wpf ×1