Silverlight在文本框中将很少的中文字符呈现为粗体。此文本框上没有设置字体系列。请参阅以下屏幕截图
在上面的屏幕截图中,第一个字符比另一个字符更大。其中一篇MSDN帖子说这是因为字体系列问题而且设置SimSun
字体家族应该解决问题。这是应用字体系列后的屏幕截图。
看起来设置SimSun
实际上是在修复问题。但我不确定这是否是正确的修复,因为我的应用程序允许以任何语言而不仅仅是中文输入数据。所以我不想将字体系列设置为中文字体。
我想知道,由于数据是Unicode(UTF16)编码,渲染引擎应该注意选择正确的字体并正确渲染它吗?
我正在寻找解决此问题的正确方法。任何建议都会有所帮助。
将Silverlight 3与.NET3.5配合使用。
答案 0 :(得分:2)
问题在于字体对自身的描述。根据您的计算机,您的默认字体可能是Arial,这可能无法很好地呈现一些中文字符。 SimSun是一种用于渲染中文字符的字体,因此就像基于拉丁语的字体倾向于很好地渲染英文一样,SimSun可以更好地渲染汉字。
Wikipedia有一个Unicode字体列表,适用于您的国际化文本字段。也许可以尝试一些,直到找到满足您需求的产品。
http://en.wikipedia.org/wiki/Unicode_typeface#List_of_Unicode_fonts