2017-05-12 1 views
13

JUCE에 글꼴을 포함시키는 간단한 단계별 솔루션을 찾고 있습니다.JUCE에 글꼴 포함하기

내 앱에 글꼴을 포함하는 데 어려움이 있습니다. 앱 출시 전에 시간을 잊어 버렸습니다. 이제는 내 앱이 내 글꼴을 사용자 시스템에 표시하지 않습니다.

나는이 주제에 관한 모든 게시물을 검색하고 따라했으나 여전히 문제가 있습니다. 우리가 만들고 ProJucer GUI 구성 요소를 통해 배치 한 내 응용 프로그램에 이미있는 레이블에 포함 된 글꼴을 추가하고 싶습니다. "EmbeddedFont :"

을가 BinaryData

2) 등재 나는라는 클래스에 추가됩니다 있도록

1) 내 ProJucer 세션에 글꼴을 추가 : 내가 지금까지했던 어떤

#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 완의 헤더에이의 인스턴스를 만들어 onent 클래스 4) 레이블 글꼴이 글꼴을 전달하려고 : 여기에서 무엇을 정말 확실하지

genericLabelName->setFont(embeddedFont.getCalistoMT()); 

합니다. 또한, 임베디드 글꼴을 작동시킨 후에, projucer GUI 구성 요소의 글꼴 필드에 어떤 특정 작업을 수행해야합니까? 그냥 같은 글꼴로 설정해야합니까? 기술적으로 글꼴을 생성자에서 두 번 설정하기 때문에 물어 봅니다 (GUI 구성 요소 옵션 드롭 다운 메뉴에서 한 번, 임베디드 글꼴을 직접 코딩하는 경우 한 번).

며칠 동안 사용해 보았지만 여전히 문제가 있습니다. 어떤 도움을 주셔서 감사합니다. 이것은 내 다음 앱 업데이트를 발표하기 전에해야 할 마지막 사항이므로 도움을 주시면 대단히 감사하겠습니다.

+0

글꼴을 만든 후에'calistoMT-> setTypefaceName ("글꼴에서의 서체 이름")'과'setTypefaceStyle()'을 시도 했습니까? 글꼴을 찾아보고 지정한 글꼴이 글꼴이 지원하는 글꼴인지 확인하십시오. –

+0

그 당시 시도하지 않았지만, 지금 내가 언급 한 사람들과 놀고 있지만 여전히 같은 jassert를 받고 있습니다. 어설 션 :'jassert (typefaceName.isNotEmpty()); '는 typeFaceName에 텍스트가 포함되어 있기 때문에 텍스트가 표시되는지 여부를 알 수 없으므로 텍스트가 표시되는지 여부를 알 수 있습니다. jassert가 여전히 나타납니다. –

+0

또한 Projucer에서 레이블을 제거하고 코드를 통해 레이블을 추가하는 것에 반대하지 않습니다. 이제 더 이해할 수 있습니다. –

답변

0

JUCE 측에서 올바르게 작업 한 것처럼 보이기 때문에로드하려는 글꼴 파일에 연관된 이름이없는 것 같습니다. 나는 다음을 시도 할 것입니다 : 당신이 Font 생성자에 전달하기 전에

  • createSystemTypefaceFor 호출에서 반환 된 Typeface의 이름을 확인합니다. 그 이름을 얻으려면 getName() 또는 유사한 호출이 있어야한다고 생각합니다. 그 이름이 비어 있다면 (그리고 나는 당신의 주장이 주어지기를 기대합니다), 당신의 문제가 있습니다.

  • 로드하려는 파일에 대한 정보를 줄 수있는 TTF 파일 뷰어를 다운로드 할 수도 있습니다. 또한 읽고있는 글꼴에 이름이 들어 있는지 나타낼 수도 있습니다 아닙니다. 메타 데이터에 이름이있는 것으로 나타나면 JUCE 라이브러리의 버그 일 수 있습니다.

  • 일종의 뷰어 나 도구로 확인했기 때문에 다른 글꼴이나 다른 글꼴을로드하려고 시도했을 수 있습니다. 이름 집합을 만들고, 그렇다면 해당 서체 중 하나에서 Font을 만들고 성공했는지 확인하십시오.

사실에 장착 된 서체 이름 세트를 가지고있는 경우

는,이 이론은 종류의 창 밖으로 간다,하지만, 난 여전히 세 번째 단계를 시도하고 당신은 항상 모든 글꼴 또는 경우이 오류가 있는지 것 그것은 단지 하나에 국한되어 있습니다.