2012-03-07 3 views
7

맞춤 글꼴을 사용하여 맞춤 기호 (예 : '€')가있는 텍스트가 포함 된 PDF 페이지를 생성하려고합니다. UIGraphicsBeginPDFContextToData 및 UIGraphicsBeginPDFPage를 사용하여 PDF 컨텍스트 및 페이지를 만들었습니다. 렌더링 텍스트 내 코드는 같은 같습니다 (때문에 CTFontGetGlyphsForCharacters의) 작동 -symbol € 렌더링iOS PDF의 Quartz embed 글꼴

NSString *fontFile = [[NSBundle mainBundle] pathForResource:@"somefont.otf" ofType:nil]; 
CGDataProviderRef dataProvider = CGDataProviderCreateWithFilename([fontFile cStringUsingEncoding:NSASCIIStringEncoding]); 
CGFontRef cgfont = CGFontCreateWithDataProvider(dataProvider); 
CTFontRef ctfont = CTFontCreateWithGraphicsFont(cgfont, 10, NULL, NULL); 
CFRelease(dataProvider);   

NSString *text = @"Hello €"; 
int len = [text length]; 
CGGlyph glyphs[len]; 
CTFontGetGlyphsForCharacters(ctfont, (const unichar*)[text cStringUsingEncoding:NSUnicodeStringEncoding], glyphs, len); 
CGContextSetTextDrawingMode(_context, kCGTextFill); 
CGContextShowGlyphsAtPoint(_context, 10, 10, glyphs, len); 
CFRelease(cgfont); 
CFRelease(ctfont); 

을하지만, 글꼴은 PDF 파일에 포함되지 않습니다. 이 일을 할 수있는 방법이 있습니까?

+0

이것을 해결 했습니까? – Tom

+0

다른 글꼴을 사용하는 경우 - PDF에 포함되어 있습니까? 아니면 임베디드되지 않는 글꼴일까요? –

+1

나는 마녀와 함께 시스템 글꼴 'HelveticaNeue'를 사용하여 끝났다. => 질문에 답이 없습니다. – toucan

답변

4

나는 꽤 오랫동안이 싸웠다. 그리고 TTF는 자동적으로 OTF가 아니라고 밝혀졌다. 내 글꼴을 변환하면 효과가 있습니다.

+1

고마워,이 일은 나를 위해 일했다! 이것은 정답으로 선택되어야합니다. – lari