Escritura vertical CJK en Connect
Escritura vertical CJK en Connect
Sección titulada «Escritura vertical CJK en Connect»Resumen
Sección titulada «Resumen»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.
Instalación
Sección titulada «Instalación»composer require nextpdf/serverLa presencia de las herramientas de fuentes CJK de Enterprise se confirma con una llamada tools/list. Consulte /connect/tool-catalog/.
Descripción conceptual
Sección titulada «Descripción conceptual»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.
Superficie de la API
Sección titulada «Superficie de la API»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.
Ejemplo de código — Inicio rápido
Sección titulada «Ejemplo de código — Inicio rápido»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 } }}Ejemplo de código — Producción
Sección titulada «Ejemplo de código — Producción»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í.
Casos límite y trampas
Sección titulada «Casos límite y trampas»- 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/premiumlas herramientas de fuentes CJK de Enterprise no se registran y la llamada falla con un error de herramienta desconocida.
Rendimiento
Sección titulada «Rendimiento»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.
Notas de seguridad
Sección titulada «Notas de seguridad»No se aplica nada más allá de las indicaciones generales sobre el transporte de Connect.
Conformidad
Sección titulada «Conformidad»| Afirmación | Cláusula | reference_id |
|---|---|---|
El CIDFont vertical usa métricas /W2 y /DW2 | ISO 32000-2 §9.7 | |
| El CMap selecciona el modo de escritura horizontal o vertical | ISO 32000-2 §9.7 | |
| El modo de escritura vertical avanza los glifos sobre el eje vertical | ISO 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.
Contexto comercial
Sección titulada «Contexto comercial»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.
Particularidades de Connect
Sección titulada «Particularidades de Connect»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.
Nivel de riesgo HITL
Sección titulada «Nivel de riesgo HITL»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/.
Véase también
Sección titulada «Véase también»- /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.