콘텐츠로 이동

Connect를 통한 CJK 세로쓰기

이 레시피는 Connect 전송을 통해 세로쓰기 메트릭이 포함된 CJK CIDFont를 임베드합니다. 그러면 엔진은 CIDFont 딕셔너리에 PDF 2.0 세로 메트릭 항목(글리프별 /W2와 기본값 /DW2)을 내보내고, 위에서 아래로 쌓이는 글리프 스택을 렌더링합니다. CJK 글꼴 임베딩은 Enterprise 등급입니다. CJK 글꼴 도구는 class_exists() 탐지로 발견되며, 서버와 함께 nextpdf/premium이 설치된 경우에만 등록됩니다. 엔진은 활성 CID 인코딩이 세로 Identity 인코딩일 때만 세로 메트릭을 내보내며, 가로 런에는 영향을 주지 않습니다.

Terminal window
composer require nextpdf/server

tools/list 호출로 Enterprise CJK 글꼴 도구가 있는지 확인합니다. 자세한 내용은 /connect/tool-catalog/.를 참조하세요.

세로쓰기 모드의 CIDFont는 /W2(글리프별)와 /DW2(기본값) 세로 메트릭을 사용합니다(ISO 32000-2 §9.7). CMap은 가로 또는 세로쓰기 모드를 선택하며(ISO 32000-2 §9.7), 세로쓰기 모드는 글리프 전진 방향을 세로축으로 바꿉니다(ISO 32000-2 §9.7). 파이프라인은 글꼴 등록 시 글꼴의 세로 메트릭 테이블을 파싱하며, 세로 CID 인코딩을 선택한 후에만 딕셔너리 항목을 내보냅니다.

tools/list로 실행 중인 레지스트리에 등록된 도구 이름을 검증합니다. 공식 카탈로그는 /connect/tool-catalog/.입니다. 이 레시피에서는 도구 개수를 다시 명시하지 않습니다.

문서를 생성하고 CJK 글꼴을 등록한 다음, 세로 인코딩을 선택합니다:

{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "add_cjk_font",
"arguments": {
"document_id": "<id>",
"family": "NotoSansCJKjp",
"source": "/usr/share/fonts/opentype/noto/NotoSansCJKjp-Regular.otf",
"subset": true
}
}
}

세로 인코딩을 선택하고, 글꼴을 설정하고, 세로 런을 작성한 다음 출력하여 CIDFont 딕셔너리를 검사합니다:

{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "set_cid_encoding",
"arguments": { "document_id": "<id>", "font_key": "NotoSansCJKjp", "encoding": "/Identity-V" }
}
}

출력의 CIDFont 딕셔너리에는 /W2/DW2가 포함됩니다. 동일한 소스를 가로 인코딩으로 렌더링하면 두 항목 모두 생략됩니다. 인코딩 게이트가 유일한 차이이며, 이 때문에 여기서 structural 재현성 프로파일이 타당합니다.

  • 글꼴에 세로 메트릭 테이블이 없는 경우. 글꼴 도구가 경고합니다. 해당 테이블을 제공하는 CJK 글꼴을 선택하세요. 라틴 전용 글꼴에는 이 테이블이 없습니다.
  • 세로 메트릭이 없는 글꼴에 세로 인코딩을 선택하면 오류입니다. 가로 인코딩으로 대체하거나 다른 글꼴을 선택하세요.
  • 가로 인코딩이 활성화된 상태에서 세로 텍스트를 요청하면 오류입니다. 첫 번째 세로 텍스트 방출 전에 세로 인코딩을 선택하세요.
  • 첫 번째 텍스트 방출 후 인코딩을 전환하면 인코딩 동결 오류로 거부됩니다. 글꼴을 등록한 직후 인코딩을 설정하세요.
  • 도구가 없는 경우. nextpdf/premium이 없으면 Enterprise CJK 글꼴 도구가 등록되지 않으며, 호출은 알 수 없는 도구 오류로 실패합니다.

프런트매터 예산은 문서상의 상한입니다. 서브셋팅은 글리프별 메트릭 배열 크기를 제한합니다. 서브셋팅으로 제거될 글리프가 세로 런에 필요한 경우에만 서브셋팅을 비활성화하세요.

일반적인 Connect 전송 지침 외에 별도 사항은 없습니다.

주장조항reference_id
세로 CIDFont는 /W2/DW2 메트릭을 사용함ISO 32000-2 §9.7
CMap이 가로 대 세로쓰기 모드를 선택함ISO 32000-2 §9.7
세로쓰기 모드가 글리프를 세로축으로 전진시킴ISO 32000-2 §9.7

세로 메트릭 항목 내보내기는 인용된 조항을 구현한 것입니다. 이는 포괄적인 적합성 주장이 아닙니다. 전체 문서의 적합성은 검증기가 결정합니다.

CJK 글꼴 임베딩은 Enterprise 등급입니다. CJK 글꼴 도구는 서버와 함께 nextpdf/premium이 설치된 경우에만 등록됩니다.

이 도구는 MCP tools/call, REST 도구 엔드포인트, gRPC 서비스에서 동일하게 호출합니다. 세 가지 모두 공유 도구 실행기를 통해 라우팅됩니다.

글꼴 등록, 인코딩 선택, 텍스트 방출은 주의 수준입니다. 파일로 출력할 때는 승인이 필요하지만, base64 모드는 그렇지 않습니다. /connect/hitl-risk-tiers/.를 참조하세요.

파일 쓰기 출력 경로에 게이트가 적용되면, 게이트는 챌린지 엔벨로프, 도구 이름, 논스, 300초 TTL에 바인딩된 일회용 토큰을 반환합니다. arguments._confirmation_token으로 다시 호출합니다. /connect/hitl-risk-tiers/.를 참조하세요.

  • /cookbook/connect/font-typography/ — 가로 텍스트 및 글꼴 선택 기본 사항.
  • /cookbook/connect/conformance-mode/ — 세로 CJK 런도 PDF/UA-2를 위해 여전히 태깅이 필요합니다.
  • /connect/tool-catalog/ — 등급별 도구 세트 계산.
  • /connect/hitl-risk-tiers/ — 위험 모델과 게이트.