2011-02-26 5 views
2

SQLite DB에 유니 코드 (비 ASCII) 데이터를 저장하는 iPad 응용 프로그램이 있습니다. 나중에, 나는 그 자료를 검색하고 그것을 pdf에 쓸 필요가있다. 모든 ASCII 데이터는 정상적으로 처리되지만 유니 코드 데이터는 "인코딩 된 문자"로 표시됩니다.코어 그래픽의 유니 코드 문자

이 과정은 다음과 같습니다. 데이터를 검색하여 콘솔에 씁니다. 이것은 잘됩니다. 여기에 콘솔 출력은 : 조회 : ↑는 모든 활동을 활성화하려면 다음의 경우 : COORDINATIONGOAL :

이 시점에서

(위쪽 작은 화살표 내 유니 코드 문자), 데이터가있는 NSString에 저장됩니다. 그래서 다음에, 내가 코어 그래픽을 사용할 수 있도록 나는 문자로 변환 : PDF로 잘 생성

NSString *t = [data objectForKey:pi.persistencekey]; 
char *text = " "; 

if ([t length] > 0) {   
    text = [t UTF8String];    
} 

CGContextShowTextAtPoint (pdfContext, pi.x, pageRect.size.height - pi.y, text, strlen(text)); 

하지만, 텍스트가 생성 된 위쪽 화살표가 있어야하는데 이상한 문자를 보여줍니다.

다른 디코딩 방법을 시도했지만 아무 것도 작동하지 않았습니다.

미리 도움을 청하십시오.

+0

매트 Gallagher 게시물을 읽었습니까? -> http://cocoawithlove.com/2011/01/advanced-drawing-using-appkit.html –

답변

1

CGContextShowTextAtPoint에는 유니 코드를 그리는 데 몇 가지 알려진 취약점이 있습니다. 기본적으로 그렇지 않습니다.

당신은 두 가지 옵션이 있습니다

  1. 있는 NSString의 drawAtPoint과의 친구

    . 그들은 UIStringDrawing에 대한 doc을 검색하여 찾을 수 있습니다.

  2. 또는 저급 코어 텍스트로 이동해야하는 경우.

대부분 (99 %) 1. 충분합니다.