Rendere disponibili i font personalizzati in Collabora CODE Docker

Per visualizzare un font personalizzato in Collabora Online CODE in esecuzione in Docker, è necessario mantenere i file del font sull'host e montare la stessa directory sia nella directory dei font di sistema del container che nel suo systemplate del documento. Il systemplate fornisce i file ai processi del documento isolati; il montaggio dei font solo in questa directory /usr/share/fontspuò far apparire una famiglia di font nel menu dei font senza che venga visualizzata nel documento. Questa guida utilizza Docker Compose e il percorso corrente dell'immagine CODE /opt/cool/systemplate; verificare il percorso se si utilizza una riga di immagine diversa.

Un file manager aperto su una cartella collabora-fonts contenente file TTF normali e in grassetto
Conserva i file dei font con licenza insieme in una directory host accessibile a Docker.

Scegli una fonte di font che puoi gestire

Un bind mount di sola lettura è solitamente l'opzione più semplice per un singolo host Docker. Preserva i file dei font quando il container CODE viene ricreato o aggiornato e consente di verificare esattamente quali file il container può leggere. Utilizza solo file di font per i quali hai l'autorizzazione all'installazione e alla ridistribuzione sul server. Non copiare l'intera directory dei font di un sistema desktop a meno che tu non abbia verificato le relative licenze e non necessiti effettivamente di quei file.

Utilizza file di font non compressi in formati supportati dal tuo ambiente, in genere TrueType ( .ttf) o OpenType ( .otf). Includi gli stili necessari ai tuoi documenti, come normale, grassetto, corsivo e grassetto corsivo. Mantieni chiari i nomi delle famiglie e dei file e assicurati che l'utente del contenitore possa leggere ogni directory e file. Un font che contiene un solo stile potrebbe indurre Collabora a sostituirlo con un altro stile quando un documento richiede il grassetto o il corsivo.

Innanzitutto, crea una directory host dedicata e copia al suo interno i file autorizzati:

sudo mkdir -p /srv/collabora/fonts
sudo cp BrandSans-Regular.ttf BrandSans-Bold.ttf /srv/collabora/fonts/
sudo chmod -R a+rX /srv/collabora/fonts

Sostituisci i nomi dei file di esempio con i tuoi file di font effettivi. L'autorizzazione di lettura è importante perché il processo CODE viene eseguito con un account non privilegiato nelle immagini correnti. Mantieni stabile il percorso della directory; i mount di Compose faranno riferimento ad esso.

Monta i font sia nell'albero dei font host che nel systemplate.

Nel collaboraservizio esistente in docker-compose.yml, aggiungi queste voci di volume. Mantieni l'immagine, le porte, l'elenco dei domini consentiti, le impostazioni SSL, i segreti e la politica di riavvio esistenti; il frammento di codice seguente mostra solo i punti di montaggio dei font.

Un frammento di Docker Compose YAML che monta una cartella di font dell'host in sola lettura nelle directory dei font di sistema e dei font di sistema.
Aggiungi entrambi i mount di sola lettura nella sezione dei volumi del servizio CODE esistente.
services:
  collabora:
    volumes:
      - /srv/collabora/fonts:/usr/share/fonts/truetype/more:ro
      - /srv/collabora/fonts:/opt/cool/systemplate/usr/share/fonts/truetype/more:ro

Il primo target rende i font disponibili al normale sistema di rilevamento dei font del container. Il secondo target li inserisce all'interno del template utilizzato per preparare ambienti di documenti isolati. Il manuale dell'SDK di Collabora documenta questo schema di volumi a due posizioni per Docker. Non montare l'intera /usr/share/fontsdirectory o la directory systemplate: ciò potrebbe nascondere i font già forniti dall'immagine.

Il percorso della cartella di sistema dipende dalla versione. I metadati dell'immagine CODE 26.04 corrente identificano /opt/cool/systemplatecome percorso del modello di sistema tale percorso e la documentazione corrente di Collabora utilizza questa posizione. Se si utilizza un'immagine precedente o una build specifica del fornitore, consultare la documentazione o la configurazione di avvio di tale immagine prima di modificare il percorso di destinazione.

Ricrea il contenitore e conferma il rilevamento dei font.

Dopo aver salvato il file Compose e aver posizionato i file dei font sull'host, ricrea il servizio CODE in modo che Docker applichi i bind mount:

Un terminale che mostra Docker Compose mentre ricrea il servizio Collabora ed esegue fc-list per ispezionare i font disponibili.
Ricrea il servizio, quindi usa fc-list per verificare se Fontconfig rileva la famiglia di caratteri.
docker compose up -d --force-recreate collabora
docker compose exec -T collabora fc-list

Nell'output, cerca il nome della famiglia di caratteri o il percorso del file montato. Per restringere l'elenco, passalo tramite pipe grepcon il nome della famiglia riportato dal carattere stesso, ad esempio:

docker compose exec -T collabora fc-list | grep -i "Brand Sans"

Se il comando non segnala alcuna corrispondenza, controlla il percorso host, i permessi dei file, l'indentazione del mount e i log del container. Puoi ispezionare i mount effettivi con docker inspectsul container in esecuzione oppure utilizzare docker compose configper individuare errori di indentazione YAML. L'esecuzione docker compose downnon è normalmente necessaria solo per applicare la modifica del volume; è sufficiente ricreare il servizio.

Verifica che il carattere venga visualizzato correttamente all'interno di un documento effettivo.

Collabora online con un carattere personalizzato selezionato nella barra degli strumenti e visualizza il testo di esempio nella pagina del documento.
Dopo aver riaperto un documento, controlla sia il selettore dei caratteri che il testo visualizzato.

Apri un documento di prova tramite la normale integrazione con Nextcloud o WOPI, seleziona un breve campione di testo e scegli il carattere personalizzato dal selettore di font. Digita una nuova riga con quel font, salva, chiudi e riapri il file. Verifica il testo normale e in grassetto e confronta le interruzioni di riga o il layout di pagina con il documento originale. La presenza di un carattere nel menu è solo un controllo di rilevamento; il testo visibile dopo la riapertura è il controllo di rendering effettivo.

  • Il font appare nel menu ma il testo scompare o torna indietro: verificare che il secondo mount punti alla directory dei font di sistema e che contenga gli stessi file.
  • Il font non è presente nel menu: verificare che i file siano validi e leggibili, quindi esaminare fc-listl'output e i log di avvio del container.
  • Il font funziona fino all'aggiornamento dell'immagine: verifica che entrambi i punti di montaggio siano presenti in Compose e che la directory host non si trovi all'interno di un percorso temporaneo del container.
  • Vengono visualizzati solo alcuni caratteri: il font selezionato potrebbe non contenere tali glifi. Aggiungi un font con la copertura di caratteri necessaria oppure utilizza un font di riserva appropriato.

Il bind mount mantiene i font indipendenti dall'immagine CODE, ma non garantisce un layout identico su ogni client o in ogni documento. La sostituzione dei font, i glifi mancanti, le diverse versioni dei font e la formattazione specifica del documento possono comunque modificare l'a capo automatico. Per ulteriori dettagli sulla configurazione, consultare la documentazione di installazione dei font di Collabora , la guida all'immagine Docker di CODE e il manuale dell'SDK di Collabora Online . L'esempio Docker del manuale e la documentazione sull'immagine corrente dovrebbero essere ricontrollati ogni volta che si cambia versione di CODE.

Lascia un commento

Rendere disponibili i font personalizzati in Collabora CODE Docker

Rendere disponibili i font personalizzati in Collabora CODE Docker

Monta i file dei font nella cartella di sistema di Docker e Collabora in modo che i caratteri personalizzati vengano visualizzati nell'editor e riprodotti correttamente nei documenti.

Ripristina le impostazioni di Collabora CODE senza perdere le modifiche di distribuzione.

Ripristina le impostazioni di Collabora CODE senza perdere le modifiche di distribuzione.

Eseguire il backup del file coolwsd.xml e delle relative sorgenti di distribuzione, ripristinarli in modo sicuro e verificare il CODICE prima che gli utenti riprendano la modifica.

Correggi il controllo host WOPI di CODE abbinando l'origine host

Correggi il controllo host WOPI di CODE abbinando l'origine host

Consenti l'origine Nextcloud o altra origine WOPI esatta nel CODE, quindi verifica l'elenco degli host consentiti attivi e distinguilo dalla restrizione IP di origine di Nextcloud.

Risolvere l'errore "Beh, questo è imbarazzante" di Collabora

Risolvere l'errore "Beh, questo è imbarazzante" di Collabora

Analizza le connessioni del browser, WOPI e WebSocket di Collabora per capire perché un documento non si apre, quindi applica la soluzione più adatta alla tua configurazione di Nextcloud.

Eseguire Collabora Online su nodi Kubernetes

Eseguire Collabora Online su nodi Kubernetes

Distribuisci repliche di Collabora CODE con Helm, mantieni ogni documento su un singolo pod tramite l'affinità WOPI e verifica l'ingress, il posizionamento dei nodi e la modifica su Nextcloud.

Ripristina la connessione WebSocket di Collabora tramite il proxy

Ripristina la connessione WebSocket di Collabora tramite il proxy

Traccia un handshake socket non riuscito dal browser a coolwsd, quindi abbina il percorso del reverse proxy alla tua versione di Collabora, inclusa la modifica Apache CODE 26.04.

Correggi gli errori di verifica WOPI controllando chiavi, rilevamento e URL

Correggi gli errori di verifica WOPI controllando chiavi, rilevamento e URL

Traccia gli errori di WOPI di Collabora dovuti a chiavi non corrispondenti, dati di rilevamento obsoleti, deriva dell'orologio o modifiche all'URL del proxy, senza indebolire la convalida.

Correggere un menu a tendina delle dimensioni del carattere di Collabora Online visualizzato in modo errato

Correggere un menu a tendina delle dimensioni del carattere di Collabora Online visualizzato in modo errato

Reimposta lo zoom del browser, testa una sessione pulita e identifica quando un menu di dimensioni non corretto richiede un aggiornamento del server Collabora.

Collega Nextcloud a un container Collabora CODE self-hosted

Collega Nextcloud a un container Collabora CODE self-hosted

Implementa Collabora CODE con Docker, connettilo in modo sicuro a Nextcloud Office e verifica la modifica dei documenti con pratici controlli WOPI e proxy.

Traccia gli errori di connessione di Collabora con i log di coolwsd

Traccia gli errori di connessione di Collabora con i log di coolwsd

Attivare temporaneamente la modalità di debug di coolwsd, acquisire un'apertura non riuscita e utilizzare la sequenza di log per separare i problemi relativi a WebSocket, WOPI, proxy e container.