我希望我的软件可供全球观众使用,因此我有点担心我的程序 GUI(Winforms、.NET3.5、C#)中使用的字体。
假设我为所有内容选择“Microsoft Sans Serif”(由于某种原因,我听说https://stackoverflow.com/a/7045886/848344比默认的 8.25 尺寸更好)。现在,我知道当字符在 Microsoft Sans Serif 中不可用时,会自动使用“后备”字体。因此,应该只是“Microsoft Sans Serif”的文本块可能同时也使用“Arial Unicode MS”和“SimSun-ExtB”。这三种字体似乎涵盖了大部分基础。
不幸的是,某些系统可能缺少这些字体中的一种或多种(或没有最新版本)。例如,Arial Unicode MS 仅随 Office 提供。此外,WinXP(无 SP)仅支持 Microsoft Sans Serif - v1.33,而 XP SP2 使用v1.41,Vista/Server 2008 有v5.00。Microsoft Sans Serif 的更高版本提供改进的西里尔文、拉丁文和阿拉伯文支持。
但是,我需要担心这个吗?我是否可以假设这些类型的用户将至少升级到 XP SP2 或失败,Winforms 可以回退到支持任何缺失字符的字体?当然,如果我的程序对他们来说出错了,那么任何程序对他们来说也是错误的,所以也许他们有适当的字体(包括我没有列出的字体),Winforms 无论如何都会回退?
总之,如果我想覆盖至少 90-95% 的用户(家庭和商业)?请记住,事情不一定要完美,因为我的应用程序更像是一种阅读/显示类型的应用程序,而不是编辑应用程序,尽管对于需要额外准确性的其他人来说,任何答案都可能涵盖这两种情况。