【问题标题】:Can't import non-default fonts, into monogame无法将非默认字体导入monogame
【发布时间】:2020-01-07 14:13:15
【问题描述】:

我已经尝试了一段时间来导入字体,(到 Monogame 中)这不是默认的,而且它只是不起作用。我用谷歌搜索了很多次,但我找到的答案都没有解决它。那么你们中的任何人可能知道我做错了什么吗?

【问题讨论】:

  • "我已经尝试了一段时间来导入字体..." 好的,您尝试了什么?你能告诉我们你卡在哪里了吗?
  • 我对您的问题并没有确切的答案,但我确实有一个解决方法可能有助于使用 BitmapFonts 而不是 SpriteFonts。 dylanwilson.net/bmfont-rendering-with-monogame-extended

标签: c# fonts xna monogame


【解决方案1】:

我在 3.7.1.189 中遇到了同样的问题,并通过右键单击字体 .otf 文件并选择为所有用户安装来修复它。您可能会收到 UAC 提示,单击“允许”或“是”。这为我修复了 MonoGame 的管道工具,因此我可以使用自定义字体。

【讨论】:

    【解决方案2】:

    由于添加了 Monogame Pipeline Tool (http://www.monogame.net/documentation/?page=Pipeline),该过程发生了变化,因此很难在 Internet 上找到这方面的信息。本文档适用于 Monogame 3.4。

    如何添加字体并在 MonoGame 3.4 中使用:

    1. 获取您要使用的字体(检查许可证以确保您可以使用它)。

    2. 将字体安装到您的操作系统中。

    3. 打开字体控制面板以验证字体的正确名称。 提示:这不是文件名,也不一定是字体控制面板主页中的字体名称。

      一个。右键单击字体并转到属性

      b.注意字体的“标题”:

      在屏幕截图中,字体为“Plasmatica”,但字体的控制面板显示为“Plasmatica Regular”。在接下来的内容中,我将使用 Plasmatica Italic,它恰好在两个地方都是一样的。

    4. 在 MonoGame Pipeline 工具中,创建一个“.spritefont”文件:

      一个。选择“SpriteFont 描述”并为其命名。 我建议使用类似“FontName_FontStyle_FontSize”的内容,例如:PlasmaticaItalic12。

    5. 在文本编辑器中打开新的 SpriteFont 文件(在 MonoGame Pipeline 中双击它)。从字体控制面板中的字体属性将 XML 节点更改为相同的名称。

    6. 保存并构建您的 MonoGame Pipeline 项目。如果到目前为止一切正常,您应该在输出中看到:

      c:/[内容目录的路径]/Content/GUI/Fonts/PlasmaticaItalic12.spritefont

      建筑字体 C:\WINDOWS\Fonts\PlasmaNormalItalic.ttf

      使用 DXT 压缩

    7. 现在您的代码可以使用以下方法加载和使用字体:

      SpriteFont font = Content.Load("Gui/Fonts/PlasmaticaItalic12");

      spriteBatch.DrawString(font, "Hello World!", Vector2(0,0), Color.White);

      // Content 是 Game 类的 Content 变量(类型:ContentManager)——你的 main 的子类 游戏类 - 所有示例中的 game1.cs。 spriteBatch 是一个 SpriteBatch。

    附:如果您遇到问题,请检查以确保 Pipeline 工具的输出包含在您的项目中。我的称为“Content.mgcb”。自从我开始使用 Monogame 的样本以来,我的就被包括在内。您可能应该“就地”将它放到 Visual Studio 中——这意味着不要“添加现有文件”,因为那样会制作副本。您想要一个实际链接或将目录结构包含到文件中。修复文件的属性(在 VS 中)以将构建操作设置为“MonoGameContentReference”。 “复制到输出目录”设置为“不复制”

    祝你好运!到目前为止,我很喜欢 Monogame,但正确设置所有部件有点复杂。

    【讨论】:

    • 我发现内容管道工具的 3.7.1.189 版本需要包含带有 spritefont 描述的字体文件,并且字体名称需要与文件名匹配。
    猜你喜欢
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2022-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    相关资源
    最近更新 更多