首页 文章

我需要在Winforms应用程序中担心全球字体吗?

提问于
浏览
0

我希望我的软件可供全世界的用户使用,所以我有点担心我的程序GUI(Winforms,.NET3.5,C#)中使用的字体 .

让's assume I choose 2468663 for everything (size 9 I'听到https://stackoverflow.com/a/7045886/848344由于某种原因优于默认的8.25大小) . 现在,我明白'fallback'字体是自动使用的,当字符是't available in Microsoft Sans Serif. So a block of text that'时,应该只是"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%的用户(家庭和商业)?请记住,事情并不一定是完美的,因为我的应用程序更像是一种读取/显示类型的应用程序而不是编辑应用程序,但也许任何答案都可以涵盖需要额外准确性的其他人的两种情况 .

1 回答

  • 1

    你所描述的内容是由平台内置的字体回退机制引起的,而且如果用户希望使用给定的语言,这样的用户就会安装必要的语言支持组件,包括字体和输入法 .

    但是,在制作适合世界的应用程序方面还有许多其他事项需要注意 . 一本涵盖所有这些(但现在已经很老了)的书是微软的Developing International Software . 你提到的其中一个是需要使用更大的字体,以便像中文这样的字形清晰可读(并不意味着你需要在所有语言中使用更大的字体,但你需要增加语言的字体大小)需要它) . 另一个重要问题是日期和数字的特定于语言环境的格式问题 . 一个有趣的是大写是特定于语言环境的,如the Turkish i problem所示 .

相关问题