XP系统下WPF程序字体大小不一的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XP系统下WPF程序字体大小不一的问题相关的知识,希望对你有一定的参考价值。
在WIN7下正常,但到了XP下就纠结了
很多字体(20%)以上都出现这种情况,
类似图片中的
高度不一致,
是字体的问题还是我哪里设置不对呢?
按钮中、文本框、textblock都会有这种现象。
求解,急,谢谢!
可以试试
1、安装个雅黑字体,改用雅黑
2、到控制面板->管理工具->服务中,找到Windows Presentation Foundation Font Cache服务,停掉,然后到目录C:\Documents and Settings\LocalService\Local Settings\Application Data下删除FontCache3.0.0.0.dat文件,再重新启动Windows Presentation Foundation Font Cache服务 参考技术A 把字体设置成宋体试试
WPF:字体(大小)在 XP 和 Vista/7 上呈现不同
【中文标题】WPF:字体(大小)在 XP 和 Vista/7 上呈现不同【英文标题】:WPF: font (size) renders differently on XP and Vista/7 【发布时间】:2011-05-16 21:29:32 【问题描述】:代码非常简单:
<TextBlock TextAlignment="Center" Text="Binding TimeAgo" Foreground="White" FontSize="12" FontFamily="Calibri" Background="Transparent"/>
据我所知,WPF 原生支持 Calibri 字体。但是,字体在 XP 和 Vista/7 上的呈现方式不同:
经验:
远景:
我的主要问题是字体大小(在 XP 上渲染得更大),因为我有专门的、有限的文本空间。
我目前正在使用 UseLayoutRounding="True" 但删除它并没有任何区别。我也在用:
<ResourceDictionary Source="/PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
但删除它也没有任何区别(就字体大小而言)。
【问题讨论】:
XP和7在同一台机器上吗?如果是,它们是否使用相同的分辨率? Vista SP2 @ 1920x1200,XP SP3 @ 1280x1024。两者都在运行 .NET v4 【参考方案1】:WPF 本身不支持任何字体,只能使用机器上安装的字体。
较大的文本不是 Calibri(对我来说它看起来像 Arial 或 Tahoma),你可以看看“g”的形状,看看它们不是同一种字体。
如果您或其他软件(如 Office 2007 或更高版本)首先安装了 Calibri,您只能在 XP 上使用它。
【讨论】:
很好地发现了“g”的形状。我完全错过了。 哦,有没有一种简单的方法可以将它包含在其余的程序集中? @tutipute - 通常你必须购买许可证才能在你的应用程序中分发字体(即使它只用于你自己的应用程序),如果你有权利,我不知道关于 Calibri 的规则要嵌入字体,只需按照以下步骤操作:msdn.microsoft.com/en-us/library/ms753303.aspx 或者如果您想在 Blend 中进行操作:msdn.microsoft.com/en-us/library/cc296385.aspx以上是关于XP系统下WPF程序字体大小不一的问题的主要内容,如果未能解决你的问题,请参考以下文章