3

我正在将应用程序国际化为多种不同的语言,并且必须支持以下语言:

  1. 英语
  2. 西班牙语
  3. 德语
  4. 法语
  5. 俄语
  6. 普通话
  7. 泰国

我们还可能会添加对以下内容的支持:

  1. 印地语
  2. 葡萄牙语
  3. 工作人员会说任何其他语言并且可以轻松翻译

我应该为每种语言安装不同的字体,还是应该使用 Arial Unicode MS 的大量字体安装?如果我做后者,将字体添加到安装程序中是否有任何法律影响?

这个问题在 .NET 3.5 中,但我认为一般问题与(编程)语言无关。

4

5 回答 5

3

Arial Unicode MS 不可再发行,它与 Microsoft Office 一起安装:Lucida Sans Unicode 随 Windows 一起提供,并且具有您列表中大多数语言的字符(但我相信不是中文)。

http://alanwood.net/unicode/fonts.html是查看哪些字体包含哪些字符的好资源。

于 2009-01-19T18:30:43.027 回答
2

当您限制自己使用 Windows 和 Internet Explorer 附带的字体时,这不太可能成为真正的问题。用户将安装一个能够以她的本地语言呈现字形的字体版本。

于 2009-01-19T18:40:28.343 回答
2

GNU Unifont是唯一一种涵盖所有(或几乎所有,63,000+)字符的字体。不幸的是,它是位图,因此渲染非常难看。

如果您需要 TrueType 字体,最好使用WenQuanYi Zen HeiArial Unicode MS 。
它们的覆盖范围大致相同(约 35,000 个字符),但 WenQuanYi Zen Hei 是开源的 (GPL) 而 Arial Unicode MS 是专有的。

于 2009-01-19T21:39:46.423 回答
0

我们决定走以下路线:

对于基于拉丁文的字符集,我们将使用基于 Gentium 的字体。这些字体包含在Open Font License中,这意味着我们必须在软件中包含版权声明并在 UI 中确认。

当我们转到亚洲语言时,我们可能会向 WenQuanYi Zen Hei 的创建者发送电子邮件(在他的网站上,他声明他可以商业使用,但需要付费),或者Code2000的创建者。顺便说一句,对于印地语字体,Code2000 看起来非常好,但对于 Latin-1 字体来说就不是很好(有点太宽了,非常印刷而不是基于屏幕)。

于 2009-02-03T19:11:51.877 回答
0

许多 Windows API 将为知名字体进行字体链接。例如,如果您选择 Tahoma 并尝试使用任何高级函数进行绘制,我相信它会自动进行字体链接。我怀疑几乎所有的 .NET 接口都算作高级函数。

Raymond Chen 展示了如何滚动您自己的字体链接

Michael Kaplan 还做了一系列关于字体链接的文章。

于 2009-05-30T14:39:42.847 回答