2010-03-15 4 views
37

나는 쓰고있는 프로그램이 있습니다. 멋진 글꼴을 사용하고 싶습니다. 내 번들에 내 글꼴을 포함시키고 거기에서 사용할 수 있습니까? 탄소 마법을 사용Mac 번들에 글꼴 포함

내 코드 ...

NSMutableAttributedString *recOf; 
recOf = [[NSMutableAttributedString alloc] initWithString:@"In Recognition of"]; 
length = [recOf length]; 
[recOf addAttribute:NSFontAttributeName value:[NSFont fontWithName:@"Edwardian Script ITC" size:50] range:NSMakeRange(0, length)]; 
[[NSColor blackColor] set]; 
p.x = (bounds.size.width/2)- (([recOf size].width)/2); 
p.y = (bounds.size.height/1.7); 
[recOf drawAtPoint:p]; 
[recOf release]; 
+2

이 질문을 게시 해 주셔서 감사합니다. 나는 이것을하는 법을 알아 내려고 노력했고 Rob Keniger의 대답은 매력처럼 일했습니다. 정말로 그 대답을 받아 들인 대답으로 표시해야합니다. –

답변

2

Some people had success. 너는 그것을 시도해야한다.

위 예제에 대해 말하면, ATSFontActivateFromFileSpecification은 Leopard에서 사용되지 않습니다. 명백하게 대체품은 FSRef를 직접 사용합니다. 이는 더 좋습니다.

+3

그 대체물은'ATSFontActivateFromFileReference'입니다. 그러나 전체 API (http://developer.apple.com/legacy/mac/library/documentation/Carbon/Reference/ATS/)는 스노우 레오파드에서 핵심 텍스트를 사용하여 더 이상 사용되지 않습니다. 대체품의 대체품은'CTFontManagerCreateFontDescriptorsFromURL'입니다 : http://developer.apple.com/mac/library/documentation/Carbon/Reference/CoreText_FontManager_Ref/Reference/reference.html#//apple_ref/c/func/CTFontManagerCreateFontDescriptorsFromURL 더 쉽습니다. Core Text 클래스는 AppKit에 무료 전화 연결되어 있기 때문에 사용할 수 있습니다. –

81

예, 가능합니다. 대상에 Copy Files 빌드 단계를 추가해야합니다 (대상을 마우스 오른쪽 단추로 클릭 한 다음 추가> 새 빌드 단계> 새 복사본 파일 빌드 단계)를 선택해야합니다.

파일 복사 빌드 단계의 대상을 리소스의 경로로 설정하고 경로는 Fonts입니다. 이렇게하면 응용 프로그램 번들의 Fonts 폴더에 글꼴이 복사됩니다.

글꼴 파일을 빌드 단계로 끌어서 새로운 빌드 단계에 글꼴 파일을 추가하십시오. 그것이 인 것처럼

<key>ATSApplicationFontsPath</key> 
<string>Fonts</string> 

그런 다음 앱에서 글꼴을 사용할 수 있습니다

당신은 그 값으로 글꼴이 들어있는 폴더의 이름으로, 당신의 Info.plist 파일에 ATSApplicationFontsPath key를 추가해야 기본 제공 시스템 글꼴 [NSFont fontWithName:@"yourFontName"]을 호출하여.

물론 글꼴을 배포하기 전에 글꼴을 배포 할 권한이 있는지 확인해야합니다.

+2

xCode 5의 경우 대상을 선택해야합니다. 메뉴 모음에서 편집기 -> 빌드 추가 -> 파일 복사 추가 단계를 선택하여 빌드 단계를 추가하십시오. –

+0

같은 문제에 대해 제발 도와주세요, [내 질문] (http://stackoverflow.com/questions/25279279/unable-to-add-a-custom-font-in-mac-app-osx-10-9 -xcode5) –

+0

@Rob : 아주 잘 작동합니다. 고마워. 하지만 사용자가 Mac에 글꼴을 설치하지 않은 경우에는 어떻게해야합니까? 글꼴이 Mac에 설치되어 있는지 여부를 확인할 수 있습니다. 그렇지 않다면 코코아 맥 응용 프로그램에서 프로그래밍 방식으로 설치할 수 있습니까? – Manthan