我正在寻找在 JUCE 中嵌入字体的简单分步解决方案。
我在我的应用程序中嵌入字体时遇到了一些麻烦(完全忘记在应用程序发布之前投入时间,现在我的应用程序没有在用户系统上显示我的字体 - 可以理解)。
我已经搜索并关注了有关该主题的所有可用帖子,但仍然遇到问题。我想将嵌入字体添加到我的应用程序中已经存在的标签中,这些标签是我们通过 ProJucer GUI 组件创建和布局的。
到目前为止我所做的:
1) 将字体添加到我的 ProJucer 会话中,以便将其添加到 BinaryData
2) 创建了一个名为“EmbeddedFont:”的类
#include "../JuceLibraryCode/JuceHeader.h"
class EmbeddedFonts
{
private:
Font calistoMT;
public:
EmbeddedFonts();
Font& getCalistoMT();
};
和
EmbeddedFonts::EmbeddedFonts()
{
// in the line below is where I'm getting the assertion error: jassert (typefaceName.isNotEmpty());
calistoMT = Font(Typeface::createSystemTypefaceFor(BinaryData::Calisto_MT,
BinaryData::Calisto_MTSize));
}
Font& EmbeddedFonts::getCalistoMT()
{
return calistoMT;
}
3)在我的 GUI 组件类的标题中创建了一个实例 4)尝试将此字体传递给标签字体:
genericLabelName->setFont(embeddedFont.getCalistoMT());
不太确定从这里做什么。另外,在我让嵌入的字体工作之后,我应该对 projucer GUI 组件中的字体字段做些什么?我应该将其设置为相同的字体吗?我只是问,因为从技术上讲,我将在构造函数中设置字体两次(一次来自 GUI 组件选项下拉菜单,一次来自手动编码嵌入字体)。
我已经尝试了几天,但仍然遇到问题。谢谢你的帮助。这是我在发布下一个应用程序更新之前需要做的最后一件事,因此非常感谢任何帮助。