2008-11-06 5 views
9

어쨌든 유니 코드 문자열을 사용하는 것이 있습니까? (대부분 UTF-8이지만 인코딩이 가능할 수 있습니다) 포스트 스크립트에 있습니까?유니 코드가 포스트 스크립트

/latinize { 
    findfont 
    dup length dict begin 
    { 1 index /FID ne {def}{pop pop} ifelse }forall 
    /Encoding ISOLatin1Encoding def 
    currentdict 
    end 
    definefont pop 
}bind def 

/HelveLat /Helvetica latinize 
/HelveLatbold /Helvetica-Bold latinize 

을하지만 난 정말 그것을 좋아하지 않아 :

지금까지, 나는 라틴 인코딩 글꼴 변환이 기능을 사용하고있다.

답변

6

실제로 또는 단순한 "기본 제공"방식이 아닙니다. this FAQ entry for details을 참조하십시오.

+0

tks, 정말 어색하고 plaft에 종속적 인 글꼴 의존적 인 것입니다. 하지만 지금까지 올바른 방향으로 나아가는 유일한 단계입니다. – Javier

2

이것은 귀하의 청구서에 부합 할 수도 있지만 그렇지 않을 수도 있지만, 필자가 작성한 통역사 (xpost)는 show을 포함한 모든 그래픽 및 글꼴 기능에 Cairo를 사용합니다. 따라서 카이로가 제공해야하는 지원이 무엇이든, xpost는 방해가되지 않습니다. 그러나 너무 흥분하기 전에, 그것은 한 사람의 프로젝트이고 아직 완전한 레벨 -1 포스트 스크립트를 제공하지 않습니다.

편집 : 최신 버전에서는이 기능을 지원하지 않습니다. Here은 (listing) 마지막 버전입니다.


다음은 show 연산자 자체에 대한 C 코드입니다. ;

cairo_show_text()

공극 cairo_show_text (cairo_t의 *의 CR,
CONST 숯 *의 UTF8)

OPFN_ void show(state *st, object s) { 
    char str[s.u.c.n+1]; 
    memcpy(str, STR(s), s.u.c.n); str[s.u.c.n] = '\0'; 
    //printf("showing (%s)\n", str); 
    if (st->cr) { 
     cairo_show_text(st->cr, str); 
     cairo_surface_flush(st->surface); 
     XFlush(st->dis); 
    } 
} 

그리고 Cairo docs에서

현재 font_face, font_size (font_matrix) 및 font_options에 따라 렌더링 된 UTF-8 문자의 문자열에서 모양을 생성하는 도면 연산자입니다.

이 함수는 먼저 텍스트 문자열에 대한 글리프 집합을 계산합니다. 첫 번째 글리프는 현재 점에 원점이 오도록 배치됩니다. 각 후속 글리프의 원점은 이전 글리프의 원점과 이전 글리프의 사전 값에 의해 오프셋됩니다.

이 호출 후에 현재 점이 다음 진행이 동일한 진행에 배치 될 원점으로 이동합니다. 즉, 현재 점은 그 진행 값으로 오프셋 된 최종 글리프의 원점에 위치합니다. 이렇게하면 cairo_show_text()를 여러 번 호출하여 단일 논리 문자열을 쉽게 표시 할 수 있습니다.

참고 : cairo_show_text() 함수 호출은 카이로 설계자가 "장난감"텍스트 API라고 부르는 것의 일부입니다. 짧은 데모 및 간단한 프로그램에는 편리하지만 심각한 텍스트 사용 응용 프로그램에는 적합하지 않을 것으로 예상됩니다. cairo_show_glyphs()에서 cairo의 "실제"텍스트 디스플레이 API를 확인하십시오.

http://www.cairographics.org/manual/cairo-text.html#cairo-show-text

그래서 그것은 내가 알 수있는 근처, 포스트 스크립트에 UTF-8입니다! :)

+0

글쎄요. 그러나 xpost가 텍스트가 UTF-8이라고 가정한다는 것을 의미합니다 (좋은 선택입니다!).PS 문서에서 유니 코드 텍스트를 사용하여 프린터로 보내거나 (PDF로 추출) – Javier

+0

나는 그만큼 기대를 모았습니다. :( –

관련 문제