我正在尋找一種簡單的逐步解決方案來將字體嵌入到JUCE中。在JUCE中嵌入字體
我在我的應用程序中嵌入字體時遇到了一些麻煩(完全忘了在應用程序發佈之前將時間放在此處,現在我的應用程序不會在用戶系統上顯示我的字體 - 可以理解)。
我已經搜索並關注了該主題上的所有帖子,但仍然有問題。我想將嵌入式字體添加到我們的應用中已存在的標籤中,這些標籤是通過ProJucer GUI組件創建和佈局的。
什麼我迄今所做的:
1)增加了字體我ProJucer會話,以便將其添加到BinaryData
2)創建的I類名爲 「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 COMP的報頭,作爲本實例onent類 4)嘗試過通過這個字體的標籤字體:
genericLabelName->setFont(embeddedFont.getCalistoMT());
不是真的知道該怎麼在這裏做。另外,當我得到嵌入字體的工作後,有什麼特定的我應該做的projucer GUI組件中的字體字段?我應該將它設置爲相同的字體嗎?我只問,因爲我在技術上會在構造函數中設置兩次字體(一次從GUI組件選項下拉菜單中選擇一次,另一次從手動編碼嵌入字體)。
我已經試了幾天,仍然有麻煩。謝謝你的幫助。在發佈我的下一個應用更新之前,這是我需要做的最後一件事,因此非常感謝所有幫助。
在創建字體後,您是否嘗試過'calistoMT-> setTypefaceName(「字體名稱來自字體」)和'setTypefaceStyle()'?瀏覽字體並確保您指定的字體是字體支持的字體。 –
我當時沒有嘗試過,我現在正在和那些現在提到它的玩家一起玩,但我仍然收到相同的jassert。斷言:'jassert(typefaceName.isNotEmpty());'讓我相信它彈出,因爲typeFaceName包含一些文本,這使我認爲它不應該有任何文本,但是,不管它是否有文本, jassert仍然彈出。 –
另外,我並不反對刪除Projucer中的標籤並通過代碼添加它們,現在這可能更有意義。 –