【问题标题】:How do you publish a C# Windows app with Font Files correctly?如何正确发布带有字体文件的 C# Windows 应用程序?
【发布时间】:2011-10-03 23:13:19
【问题描述】:

我已经坚持了很长一段时间。我已经搜索并找到了如何使用 windows 安装程序和 oneclick 发布应用程序,但这并不能解决我的问题。我创建了一个非常简单的 C# Windows 应用程序,它接受用户的输入并将其转换为不同的语言。该语言是逐个字母的,因此无需考虑困难的发音或结构。该程序只是以 Times New Roman 字体接受输入,并以另一种语言的特殊字体输出。它工作得很好。直到我把它带到另一台电脑上安装它才发现字体不存在。 我的问题是如何将字体文件添加到安装程序以供目标系统使用?这可能吗?

【问题讨论】:

  • 你确定是“Times New Roman”吗?它是所有windows机器中的通用字体。可能你对unicode有问题吗?你试过第三台电脑吗?
  • 不是Times 没有显示,而是其他语言的字体。对不起。忘记添加那部分了...
  • 我认为这不可能通过单击一次。字体确实是系统级的东西。
  • 您无法使用 ClickOnce 安装字体。你需要一个常规的安装程序。或者依赖私有字体,比如 GDI+ 的 PrivateFontCollection。
  • @Hans 为什么不把 PrivateFontCollection 变成答案呢?

标签: c# fonts installation publishing


【解决方案1】:

如果真正的原因是目标机器上不存在该字体,您可以将自定义文件夹添加到您的安装项目中,名为Fonts Folder。在那里,您可以放置​​您想要与项目一起部署的任何字体依赖项。

【讨论】:

  • 在哪里可以找到“安装项目”?使用 VS 2017 Express...
【解决方案2】:

您可以在安装中包含字体文件和 .ini 文件,然后使用 Microsoft 的“fontinst.exe”程序来安装它们。

http://blog.stevienova.com/2007/09/28/installing-fonts-programmatically-on-windows/

http://www.google.com/search?q=installing+fonts+programmatically

【讨论】:

    【解决方案3】:

    另一种选择是使用自定义安装程序。我将InnoSetup 用于我的应用程序,我认为它很容易使用。

    那里有一种安装字体的机制。 Here's an example

    【讨论】:

      猜你喜欢
      • 2022-06-28
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多