【问题标题】:C# Supporting Asian LanguagesC# 支持亚洲语言
【发布时间】:2009-11-21 01:39:40
【问题描述】:

我为客户构建了一个简单的电子贺卡创建者网络应用程序,该应用程序接受个人问候并将其绘制到选定的卡片设计上。在我的本地机器上,我可以输入亚洲语言,并且在图像上正确绘制了文本。我的机器上安装了亚洲语言。

当我将应用程序加载到客户的服务器时,亚洲语言显示为框。我怀疑这是因为他们的服务器没有安装亚洲语言包。但我想知道,是不是这个原因?有没有办法在不安装亚洲语言包的情况下接受亚洲语言并正确显示?

这是我在图像上绘制文本的方式

Graphics g = Graphics.FromImage(image);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawString(text,
    new Font(fontFamily, fontSize),
    brushColor,
    position,
    strFormat);
g.Dispose();

我使用的是 Arial 字体。

我有什么特别需要做的吗?

谢谢。

【问题讨论】:

  • 小提示:在图形对象周围使用using 关键字,以确保您不会过早地处理对象。

标签: c# asianfonts


【解决方案1】:

Arial 不包含您需要的字符,但如果安装了东亚字体,Windows 可以使用这些字符代替 Arial。您可以使用font linking 安装字体、选择要使用的新字体或将Arial 与不同的亚洲字符字体匹配。 (如果您使用该文章中的说明设置字体链接,则它适用于机器上的所有软件,而不仅仅是您的应用程序。)

【讨论】:

  • Windows 是否默认使用任何支持亚洲语言的字体?我的客户 IT 非常不愿意在他们的服务器上进行更改......如果他们不想安装字体,那么使用支持亚洲语言是不可能的吗? Mark 的链接看起来很有希望,但他们只有 ASP.NET 2.0。
  • 是的,但在旧版本(XP,2003)上,默认情况下不安装它们。如果我记得,您可以从区域和语言选项控制面板安装它们。如果他们不想安装新字体,您可以使用其中一些其他解决方案将您需要的字体包含在您的应用程序中,但这会增加相当多的复杂性,并且很可能会增加成本——如果您不打算使用 Windows 附带的字体,您需要许可一些不同的字体。字体和软件一样有许可条款,而好的字体通常不是免费的。
  • 谢谢莫尔博。我会让他们知道他们的选择。
【解决方案2】:

我认为您需要一种支持您正在使用的亚洲字母的字体。例如,我的机器安装了“Arial Unicode MS”字体,我认为它是随 Microsoft Office 一起安装的。

【讨论】:

  • Arial Unicode MS 随 Office 一起安装,但不能免费重新分发。它必须获得许可。
【解决方案3】:

您可以在应用程序中包含您需要的字体。那么,如果它们没有安装在您客户的机器上也没关系。

这是我找到的一个网页:http://msdn.microsoft.com/en-us/library/ms753303.aspx

这是另一个:http://dotnet-coding-helpercs.blogspot.com/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 2013-03-02
    • 1970-01-01
    • 2023-03-06
    • 2011-02-25
    • 1970-01-01
    相关资源
    最近更新 更多