Salta ai contenuti

Scrittura verticale CJK con Connect

Questa ricetta incorpora un CIDFont CJK con metriche di scrittura verticale nei trasporti Connect. Il motore genera quindi le voci di metriche verticali PDF 2.0 (/W2 per singolo glifo e /DW2 predefinita) nel dizionario del CIDFont e dispone i glifi in una pila dall’alto verso il basso. L’incorporamento di font CJK è di livello Enterprise. Gli strumenti per font CJK vengono rilevati tramite controlli class_exists() e si registrano solo quando nextpdf/premium è installato insieme al server. Il motore genera le metriche verticali solo quando la codifica CID attiva è la codifica Identity verticale; i flussi orizzontali restano invariati.

Terminal window
composer require nextpdf/server

Verificare la presenza degli strumenti per font CJK Enterprise con una chiamata tools/list. Consultare /connect/tool-catalog/.

Un CIDFont in modalità di scrittura verticale utilizza le metriche verticali /W2 (per singolo glifo) e /DW2 (predefinita) (ISO 32000-2 §9.7). La CMap seleziona la modalità di scrittura orizzontale o verticale (ISO 32000-2 §9.7) e la modalità di scrittura verticale sposta l’avanzamento del glifo sull’asse verticale (ISO 32000-2 §9.7). Il flusso analizza le tabelle di metriche verticali del font durante la registrazione ed emette le voci del dizionario solo dopo la selezione della codifica CID verticale.

Verificare i nomi degli strumenti rispetto al registro in esecuzione con tools/list. Il catalogo di riferimento è /connect/tool-catalog/. Questa ricetta non ripete il conteggio degli strumenti.

Creare il documento, registrare il font CJK e selezionare la codifica verticale:

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

Selezionare la codifica verticale, impostare il font, scrivere un flusso verticale, quindi generare l’output e ispezionare il dizionario 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" }
}
}

Il dizionario del CIDFont dell’output contiene /W2 e /DW2. La stessa sorgente, resa con la codifica orizzontale, le omette entrambe. Il gate di codifica è l’unica differenza; per questo, in questo caso, il profilo di riproducibilità structural è corretto.

  • Il font non contiene le tabelle di metriche verticali. Lo strumento per font emette un avviso. Scegliere un font CJK che le includa; un font solo latino non ne ha.
  • Codifica verticale selezionata per un font senza metriche verticali: è un errore. Ripiegare sulla codifica orizzontale oppure scegliere un altro font.
  • Testo verticale richiesto mentre è attiva la codifica orizzontale: è un errore. Selezionare la codifica verticale prima della prima emissione di testo verticale.
  • Codifica modificata dopo la prima emissione di testo: viene rifiutata con un errore di codifica bloccata. Impostare la codifica subito dopo aver registrato il font.
  • Strumento assente. Senza nextpdf/premium gli strumenti per font CJK Enterprise non vengono registrati e la chiamata fallisce con un errore di strumento sconosciuto.

Il budget del front-matter è un limite di documentazione. Il subsetting limita la dimensione dell’array di metriche per singolo glifo. Disabilitare il subsetting solo quando un flusso verticale richiede glifi che il subset eliminerebbe.

Non si applica altro oltre alle indicazioni generali sui trasporti Connect.

DichiarazioneClausolareference_id
Il CIDFont verticale utilizza le metriche /W2 e /DW2ISO 32000-2 §9.7
La CMap seleziona la modalità di scrittura orizzontale o verticaleISO 32000-2 §9.7
La modalità di scrittura verticale fa avanzare i glifi sull’asse verticaleISO 32000-2 §9.7

L’emissione delle voci di metriche verticali implementa le clausole citate. Non costituisce una dichiarazione di conformità generale. Spetta a un validatore determinare la conformità del documento complessivo.

L’incorporamento di font CJK è di livello Enterprise; gli strumenti per font CJK vengono registrati solo quando nextpdf/premium è installato insieme al server.

Effettuare la chiamata nello stesso modo tramite tools/call MCP, l’endpoint dello strumento REST e il servizio gRPC. Tutti e tre instradano attraverso l’esecutore condiviso degli strumenti.

La registrazione del font, la selezione della codifica e l’emissione di testo rientrano nel livello cautela. L’output richiede approvazione quando scrive un file; in modalità base64 non è richiesta. Consultare /connect/hitl-risk-tiers/.

Quando il percorso di output che scrive su file è sottoposto a gate, il gate restituisce un envelope di challenge e un token monouso vincolato al nome dello strumento, a un nonce e a un TTL di 300 secondi. Richiamare nuovamente con arguments._confirmation_token. Consultare /connect/hitl-risk-tiers/.

  • /cookbook/connect/font-typography/ — testo orizzontale e basi della selezione del font.
  • /cookbook/connect/conformance-mode/ — i flussi CJK verticali richiedono comunque il tagging per PDF/UA-2.
  • /connect/tool-catalog/ — calcolo del set di strumenti per livello.
  • /connect/hitl-risk-tiers/ — il modello di rischio e il gate.