Ir al contenido

Escritura vertical CJK en Connect

Esta receta incrusta un CIDFont CJK con métricas de escritura vertical en los transportes de Connect. Después, el motor emite las entradas de métricas verticales de PDF 2.0 (/W2 por glifo y /DW2 por defecto) en el diccionario del CIDFont y representa una pila de glifos de arriba a abajo. La incrustación de fuentes CJK es de nivel Enterprise. Las herramientas de fuentes CJK se detectan mediante comprobaciones class_exists() y solo se registran cuando nextpdf/premium está instalado junto al servidor. El motor emite las métricas verticales únicamente cuando la codificación CID activa es la codificación Identity vertical; los flujos horizontales no se ven afectados.

Ventana de terminal
composer require nextpdf/server

La presencia de las herramientas de fuentes CJK de Enterprise se confirma con una llamada tools/list. Consulte /connect/tool-catalog/.

Un CIDFont en modo de escritura vertical usa métricas verticales /W2 (por glifo) y /DW2 (por defecto) (ISO 32000-2 §9.7). El CMap selecciona el modo de escritura horizontal o vertical (ISO 32000-2 §9.7), y el modo de escritura vertical traslada el avance del glifo al eje vertical (ISO 32000-2 §9.7). El flujo analiza las tablas de métricas verticales de la fuente al registrarla y emite las entradas del diccionario solo tras seleccionar la codificación CID vertical.

Los nombres de las herramientas deben verificarse con el registro en ejecución mediante tools/list. El catálogo de referencia es /connect/tool-catalog/. Esta receta no repite el recuento de herramientas.

Crear el documento, registrar la fuente CJK y seleccionar la codificación vertical:

{
"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
}
}
}

Seleccionar la codificación vertical, establecer la fuente, escribir un flujo vertical y, a continuación, generar la salida e inspeccionar el diccionario del CIDFont:

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

En la salida, el diccionario del CIDFont contiene /W2 y /DW2. El mismo origen representado con la codificación horizontal omite ambas entradas. La compuerta de codificación es la única diferencia, por lo que el perfil de reproducibilidad structural es fiel aquí.

  • La fuente carece de tablas de métricas verticales. La herramienta de fuentes emite una advertencia. Elegir una fuente CJK que las incluya; una fuente exclusivamente latina no tiene ninguna.
  • Seleccionar la codificación vertical en una fuente sin métricas verticales es un error. Usar la codificación horizontal o elegir otra fuente.
  • Solicitar texto vertical mientras la codificación horizontal está activa es un error. Seleccionar la codificación vertical antes de la primera emisión de texto vertical.
  • Cambiar la codificación tras la primera emisión de texto se rechaza con un error de codificación congelada. La codificación debe establecerse inmediatamente después de registrar la fuente.
  • Herramienta ausente. Sin nextpdf/premium las herramientas de fuentes CJK de Enterprise no se registran y la llamada falla con un error de herramienta desconocida.

El presupuesto del front-matter funciona como límite de documentación. El subconjunto acota el tamaño del arreglo de métricas por glifo. Desactivar el subconjunto solo cuando un flujo vertical necesite glifos que el subconjunto descartaría.

No se aplica nada más allá de las indicaciones generales sobre el transporte de Connect.

AfirmaciónCláusulareference_id
El CIDFont vertical usa métricas /W2 y /DW2ISO 32000-2 §9.7
El CMap selecciona el modo de escritura horizontal o verticalISO 32000-2 §9.7
El modo de escritura vertical avanza los glifos sobre el eje verticalISO 32000-2 §9.7

Emitir las entradas de métricas verticales implementa las cláusulas citadas. No es una afirmación general de conformidad. Un validador determina la conformidad del documento en su conjunto.

La incrustación de fuentes CJK es de nivel Enterprise; las herramientas de fuentes CJK solo se registran cuando nextpdf/premium está instalado junto al servidor.

Disponibilidad de transportes (MCP / REST / gRPC)

Sección titulada «Disponibilidad de transportes (MCP / REST / gRPC)»

La operación se invoca de forma idéntica mediante tools/call de MCP, el endpoint de herramientas REST y el servicio gRPC. Los tres se enrutan a través del ejecutor de herramientas compartido.

El registro de fuentes, la selección de la codificación y la emisión de texto pertenecen al nivel de precaución. La salida requiere aprobación cuando se escribe un archivo; el modo base64 no. Consulte /connect/hitl-risk-tiers/.

Envoltura JSON de la compuerta de confirmación

Sección titulada «Envoltura JSON de la compuerta de confirmación»

Cuando la ruta de salida con escritura en archivo está protegida, la compuerta devuelve una envoltura de desafío y un token de un solo uso vinculado al nombre de la herramienta, un nonce y un TTL de 300 segundos. Volver a invocar con arguments._confirmation_token. Consulte /connect/hitl-risk-tiers/.

  • /cookbook/connect/font-typography/ — conceptos básicos del texto horizontal y la selección de fuentes.
  • /cookbook/connect/conformance-mode/ — los flujos CJK verticales aún requieren etiquetado para PDF/UA-2.
  • /connect/tool-catalog/ — cálculo del conjunto de herramientas por nivel.
  • /connect/hitl-risk-tiers/ — el modelo de riesgo y la compuerta.