Connect를 통한 CJK 세로쓰기
Connect를 통한 CJK 세로쓰기
섹션 제목: “Connect를 통한 CJK 세로쓰기”한눈에 보기
섹션 제목: “한눈에 보기”이 레시피는 Connect 전송을 통해 세로쓰기 메트릭이 포함된 CJK CIDFont를 임베드합니다. 그러면 엔진은 CIDFont 딕셔너리에 PDF 2.0 세로 메트릭 항목(글리프별 /W2와 기본값 /DW2)을 내보내고, 위에서 아래로 쌓이는 글리프 스택을 렌더링합니다. CJK 글꼴 임베딩은 Enterprise 등급입니다. CJK 글꼴 도구는 class_exists() 탐지로 발견되며, 서버와 함께 nextpdf/premium이 설치된 경우에만 등록됩니다. 엔진은 활성 CID 인코딩이 세로 Identity 인코딩일 때만 세로 메트릭을 내보내며, 가로 런에는 영향을 주지 않습니다.
composer require nextpdf/servertools/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 인코딩을 선택한 후에만 딕셔너리 항목을 내보냅니다.
API 표면
섹션 제목: “API 표면”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이 설치된 경우에만 등록됩니다.
Connect 세부 사항
섹션 제목: “Connect 세부 사항”전송 가용성 (MCP / REST / gRPC)
섹션 제목: “전송 가용성 (MCP / REST / gRPC)”이 도구는 MCP tools/call, REST 도구 엔드포인트, gRPC 서비스에서 동일하게 호출합니다. 세 가지 모두 공유 도구 실행기를 통해 라우팅됩니다.
HITL 위험 등급
섹션 제목: “HITL 위험 등급”글꼴 등록, 인코딩 선택, 텍스트 방출은 주의 수준입니다. 파일로 출력할 때는 승인이 필요하지만, base64 모드는 그렇지 않습니다. /connect/hitl-risk-tiers/.를 참조하세요.
확인 게이트 JSON 엔벨로프
섹션 제목: “확인 게이트 JSON 엔벨로프”파일 쓰기 출력 경로에 게이트가 적용되면, 게이트는 챌린지 엔벨로프, 도구 이름, 논스, 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/ — 위험 모델과 게이트.